นี่เป็นชุดของกฎ IPTables ที่เหมาะสมหรือไม่


0

ทุกคนได้โปรดชี้ให้ฉันเห็นว่าสมมติว่าความต้องการเซิร์ฟเวอร์ (Ubuntu 12.04) ที่กำหนดนั้นเป็นเพียง SSH, NTP (ไคลเอนต์), HTTP (S) และการอัปเดตระบบ ( apt-getหรือaptitude) กฎชุดต่อไปนี้เป็นสิ่งที่ดี ? ความคิดของฉันคือการลดทราฟฟิกทั้งหมดโดยค่าเริ่มต้นและเปิดเฉพาะพอร์ตที่จำเป็นในสถานะและอินเทอร์เฟซที่จำเป็น ...

*filter

#------------------------------------------------------------------------------
# Defaults
#------------------------------------------------------------------------------

-P INPUT   DROP
-P OUTPUT  DROP
-P FORWARD DROP

#------------------------------------------------------------------------------
# Loopback
#------------------------------------------------------------------------------

-A INPUT  -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT

#------------------------------------------------------------------------------
# SSH
#------------------------------------------------------------------------------

-A INPUT  -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED,RELATED     -j ACCEPT

#-------------------------------------------------------------------------------
# NTP
#-------------------------------------------------------------------------------

-A INPUT  -i eth0 -p udp --sport 123 -m state --state ESTABLISHED,RELATED     -j ACCEPT
-A OUTPUT -o eth0 -p udp --dport 123 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#------------------------------------------------------------------------------
# DNS
#------------------------------------------------------------------------------

-A INPUT  -i eth0 -p udp --sport 53 -m state --state ESTABLISHED,RELATED     -j ACCEPT
-A OUTPUT -o eth0 -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#------------------------------------------------------------------------------
# Updates
#------------------------------------------------------------------------------

-A INPUT  -i eth0 -p tcp --sport 80  --dport 32768:61000 -m state --state ESTABLISHED,RELATED     -j ACCEPT
-A OUTPUT -o eth0 -p tcp --dport 80  --sport 32768:61000 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A INPUT  -i eth0 -p tcp --sport 443 --dport 32768:61000 -m state --state ESTABLISHED,RELATED     -j ACCEPT
-A OUTPUT -o eth0 -p tcp --dport 443 --sport 32768:61000 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#------------------------------------------------------------------------------
# Logging
#------------------------------------------------------------------------------

-A INPUT -m limit --limit 125/min -j LOG --log-prefix "IPTABLES DENIED " --log-level 7

COMMIT

ฉันมองอะไรบางอย่าง ขอบคุณมาก.

คำตอบ:


2

โปรดทราบว่าด้วยชุดกฎนี้คุณจะ จำกัด ทราฟฟิกขาออกไปยังพอร์ตเฉพาะเท่านั้น คุณสามารถพบปัญหาเนื่องจากสิ่งนี้ในบางจุด (เช่นการโคลนที่เก็บ git) คุณอาจต้องการลบ-A OUTPUTกฎและเพิ่มสิ่งต่อไปนี้แทนCOMMIT:

## Allow inbound established and related outside communication
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

## Allow initiating outbound communications
-A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p udp -m state --state NEW,ESTABLISHED -j ACCEPT

คุณอาจต้องการอนุญาตการรับส่งข้อมูล ICMP (ping ฯลฯ ):

## Allow ICMP traffic
-A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

ในที่สุดต่อไปนี้จะวางแพ็กเก็ตจากบุคคลภายนอกที่ส่งแพ็กเก็ตเป็น localhost (เพิ่มก่อนกฎลูปแบ็ค):

## Drop outside packets with localhost address - anti-spoofing measure
-A INPUT -s 127.0.0.0/255.0.0.0 -i ! lo -j DROP
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.