ในฐานะที่เป็นชื่อเรื่องฉันมีกล่องลินุกซ์ เท่าที่ฉันสามารถบอกได้ว่าฉันสามารถใช้ hosts.allow / hosts.deny หรือ iptables เพื่อความปลอดภัย ความแตกต่างคืออะไร? มีกลไกอื่นที่สามารถใช้ได้หรือไม่?
ในฐานะที่เป็นชื่อเรื่องฉันมีกล่องลินุกซ์ เท่าที่ฉันสามารถบอกได้ว่าฉันสามารถใช้ hosts.allow / hosts.deny หรือ iptables เพื่อความปลอดภัย ความแตกต่างคืออะไร? มีกลไกอื่นที่สามารถใช้ได้หรือไม่?
คำตอบ:
IPTables ทำงานในระดับเคอร์เนล โดยทั่วไปหมายความว่าไม่มีความรู้เกี่ยวกับแอปพลิเคชันหรือกระบวนการ มันสามารถกรองตามสิ่งที่ได้รับจากส่วนหัวแพ็คเก็ตต่างๆเป็นส่วนใหญ่
อย่างไรก็ตาม host.allow / deny ทำงานในระดับแอพพลิเคชัน / กระบวนการ คุณสามารถสร้างกฎสำหรับกระบวนการต่าง ๆ หรือ daemons ที่ทำงานบนระบบ
ดังนั้นตัวอย่างเช่น IPTables สามารถกรองบนพอร์ต 22 SSH สามารถกำหนดค่าให้ใช้พอร์ตนี้และโดยทั่วไปคือ แต่ก็สามารถกำหนดค่าให้อยู่ในพอร์ตอื่นได้ IPTables ไม่ทราบว่าพอร์ตใดเปิดอยู่จะรู้ได้เฉพาะพอร์ตในส่วนหัว TCP ไฟล์ hosts.allow สามารถกำหนดค่าสำหรับ daemons บางตัวเช่น openssh daemon
หากคุณต้องเลือกฉันมักจะเลือกที่ IPTables ขั้นต่ำ ฉันดูโฮสต์อนุญาตให้เป็นโบนัสที่ดี ถึงแม้จะคิดว่าดูเหมือนว่าระดับ daemon จะดูเหมือนว่า IPTables ที่ง่ายกว่าจะปิดกั้นแพ็กเก็ตก่อนที่มันจะเข้าใกล้ ด้วยความปลอดภัยยิ่งเร็วคุณก็สามารถบล็อกบางสิ่งได้ดีกว่า อย่างไรก็ตามฉันแน่ใจว่ามีสถานการณ์ที่เปลี่ยนแปลงตัวเลือกนี้
iptables บล็อกการเข้าถึงก่อนที่จะถึงแอปพลิเคชันในขณะที่ hosts.allow / hosts.deny เป็นส่วนหนึ่งของ PAM และต้องการให้แอปพลิเคชันใช้การตรวจสอบ PAM และจัดการไฟล์อย่างถูกต้อง ทั้งสองมีประโยชน์และการมีทั้งสองอย่างดียิ่งขึ้น