เมื่อฉันพยายามที่จะ telnet ไปยังพอร์ตบนเซิร์ฟเวอร์และหากไม่มีโปรแกรมที่ฟังบนพอร์ต telnet นั้นตายด้วยข้อผิดพลาด "ไม่สามารถเชื่อมต่อ ... " ฉันเข้าใจ. แต่ทำไมเราต้องใช้ไฟร์วอลล์หากไม่มีโปรแกรมฟังบนพอร์ตใด ๆ
เมื่อฉันพยายามที่จะ telnet ไปยังพอร์ตบนเซิร์ฟเวอร์และหากไม่มีโปรแกรมที่ฟังบนพอร์ต telnet นั้นตายด้วยข้อผิดพลาด "ไม่สามารถเชื่อมต่อ ... " ฉันเข้าใจ. แต่ทำไมเราต้องใช้ไฟร์วอลล์หากไม่มีโปรแกรมฟังบนพอร์ตใด ๆ
คำตอบ:
อาจไม่มีบริการที่ใช้งานอยู่ในขณะนี้ แต่จะทำอย่างไรในวันพรุ่งนี้ คุณปิดการทำงานทั้งหมด แต่ผู้ใช้ของคุณล่ะ ทุกคนในระบบ unix / windows / mac สามารถเปิดพอร์ต> 1024 บนเครื่องที่พวกเขาสามารถเข้าถึงได้ มัลแวร์เกี่ยวกับอะไร? ไวรัสล่ะ พวกเขายังสามารถเปิดพอร์ตและเริ่มให้บริการข้อมูลสู่โลกหรือเริ่มฟังการเชื่อมต่อจากเครือข่าย
วัตถุประสงค์หลักของไฟร์วอลล์คือไม่บล็อกพอร์ตสำหรับบริการที่คุณทราบว่าถูกปิดการใช้งาน แต่จะบล็อกพอร์ตในบริการที่คุณอาจไม่ทราบ คิดว่ามันเป็นค่าเริ่มต้นที่ปฏิเสธโดยมีเพียงบางช่องที่เจาะไว้สำหรับบริการที่คุณอนุญาต ผู้ใช้หรือโปรแกรมใด ๆ ที่เริ่มต้นโดยผู้ใช้สามารถเริ่มต้นเซิร์ฟเวอร์บนระบบที่พวกเขาสามารถเข้าถึงได้ไฟร์วอลล์จะป้องกันไม่ให้บุคคลอื่นเชื่อมต่อกับบริการนั้น
ผู้ดูแลระบบที่ดีรู้ว่าต้องให้บริการใดบ้างและสามารถเปิดใช้งานได้ ไฟร์วอลล์ส่วนใหญ่จะช่วยลดความเสี่ยงจากเซิร์ฟเวอร์ที่ไม่รู้จักที่ทำงานอยู่ในระบบของคุณหรือเครือข่ายของคุณรวมถึงจัดการสิ่งที่ได้รับอนุญาตเข้าสู่เครือข่ายจากส่วนกลาง
สิ่งสำคัญคือต้องรู้ว่าสิ่งที่กำลังทำงานอยู่บนเครื่อง / เซิร์ฟเวอร์ของคุณและเปิดใช้งานเฉพาะสิ่งที่คุณต้องการ แต่ไฟร์วอลล์จะให้การป้องกันเพิ่มเติมเล็กน้อยต่อสิ่งที่คุณไม่ทราบ
hg serve
ที่เริ่มต้นเว็บเซิร์ฟเวอร์บนเครื่องของคุณ ประเด็นก็คือการเริ่มต้นเซิร์ฟเวอร์บนเครื่องใด ๆ ไม่ว่าจะเป็นการใช้ 'เดสก์ท็อป' หรือ 'เซิร์ฟเวอร์' ก็ไม่สำคัญ และเมื่อเซิร์ฟเวอร์นั้นเริ่มต้นและคุณไม่รู้ ... มันก็คือความสนุกที่เริ่มต้น
หากไม่มีโปรแกรมฟังบนพอร์ตใด ๆ คุณไม่จำเป็นต้องใช้ไฟร์วอลล์ แต่คุณไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ของคุณได้เพราะมัน 'ปิดผนึก' จากส่วนอื่น ๆ ของโลก
ในทางกลับกัน ... สมมติว่าเซิร์ฟเวอร์ของคุณไม่มีโปรแกรมที่ทำงานอยู่ภายในเครื่องกำลังฟังพอร์ตใด ๆ แต่ทำหน้าที่เป็นเกตเวย์สำหรับคอมพิวเตอร์เครื่องอื่นที่อยู่ด้านหลัง ในกรณีนี้คุณใช้ไฟร์วอลล์เพื่อจัดการ masquerading (NAT) และคุณสามารถกรองข้อมูลบางอย่างในการส่งต่อแพ็กเก็ต
/etc/ssh/sshd_config
เพื่อความปลอดภัย PermitRootLogin
ควรตั้งค่าเป็นไม่คุณควรใช้รหัสผ่านที่ปลอดภัยและดูแลเครื่องด้วย sudo (คุณอาจใช้ sudo หลังจากลงชื่อเข้าใช้ด้วยบัญชีที่มีสิทธิ์ sudo) การตั้งข้อ จำกัด ด้วยไฟร์วอลล์เป็นเพียงเครื่องมือที่ผิดสำหรับงาน สิ่งนี้จะเป็นจริงสำหรับpostgresql
ฐานข้อมูล: ใช้การกำหนดค่าฐานข้อมูลเพื่อตั้งค่าและยกเลิกการอนุญาต
การพูดอย่างเคร่งครัดอาจไม่จำเป็นอย่างไรก็ตามโปรดจำไว้ว่าไฟร์วอลล์สามารถให้ฟังก์ชันการทำงานมากกว่าการปฏิเสธการเชื่อมต่อผ่านพอร์ตเครือข่าย ตัวอย่างเช่น DROP กับพฤติกรรมปฏิเสธ
แต่ทำไมเราต้องใช้ไฟร์วอลล์หากไม่มีโปรแกรมฟังบนพอร์ตใด ๆ
หากคุณมีเดสก์ท็อปผู้ใช้เดียวไม่ใช่เซิร์ฟเวอร์คุณไม่จำเป็นต้องใช้ไฟร์วอลล์หากไม่มีบริการที่ใช้งานอยู่เช่นเดียวกับการติดตั้งเริ่มต้นของ Ubuntu
Windows มีบางครั้งหลังจากที่สามารถทำเครือข่ายได้บริการบางอย่างที่ทำงานโดยค่าเริ่มต้นสำหรับการบำรุงรักษาอัปเดตการส่งข้อความภายในและอื่น ๆ คุณไม่สามารถหยุดพวกเขาได้โดยไม่ต้องหยุดการทำงานของ windows แต่พวกเขามีช่องโหว่สำหรับการโจมตีจากภายนอก ดังนั้นผู้ใช้ windows จำเป็นต้องมีไฟร์วอลล์และมีมส์ที่ทุกคนต้องการไฟร์วอลล์จึงแพร่กระจายอย่างรวดเร็ว
เมื่อพวกเขาพบกับคน Linux ซึ่งมักจะเป็นผู้ดูแลเซิร์ฟเวอร์พวกเขาไม่ได้พูดว่า 'คุณไม่ต้องการไฟร์วอลล์บน linux' แต่ 'เรามีไฟร์วอลล์ฟรีเช่น iptables มาเกือบทศวรรษ'
ไฟร์วอลล์ส่วนบุคคลนั่งอยู่บนระบบมันจะป้องกันไม่ได้เป็นความคิดที่ดีที่สุดอย่างใดอย่างหนึ่ง
desktop
ไม่ได้หมายความว่ามันยังคงเป็นserver
คำพูด ของคุณdesktop
มีมากมายservers
ที่อาจเกิดขึ้นกับมันและอาจเป็นไปได้อยู่แล้ว
t allow anything) on RedHat, start CUPS and see if you can connect to it from outside. Then look at
iptables-save`: Voila - พอร์ต CUPS เปิดโดยไม่แสดงใน gui ...