Hallo,
für meinen Root-Server, der die üblichen Dienste (Web, Mail, FTP) zur Verfügung stellen soll, habe ich folgende iptables-Konfiguration erstellt und wäre Euch über Anregungen und Kritik zu dieser Konfiguration sehr dankbar.
Gruß
Jochen
für meinen Root-Server, der die üblichen Dienste (Web, Mail, FTP) zur Verfügung stellen soll, habe ich folgende iptables-Konfiguration erstellt und wäre Euch über Anregungen und Kritik zu dieser Konfiguration sehr dankbar.
Gruß
Jochen
PHP:
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*filter
:INPUT DROP [0:0]
:OUTPUT DROP [0:0]
:FORWARD DROP [0:0]
#################################################################
### Incoming Traffic
#################################################################
-A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP # Portscan - SYN + RST
-A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP # Portscan - SYN + FIN
-A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP # Portscan - FIN + URG + PSH
-A INPUT -p tcp --tcp-flags ALL ALL -j DROP # Portscan - ALL Flags
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP # Portscan - nmap Null scan
-A INPUT -p tcp --tcp-flags ALL FIN -j DROP # Portscan - nmap FIN stealth scan
-A INPUT -p tcp --tcp-flags ALL URG,ACK,PSH,RST,SYN,FIN -j DROP # Portscan - XMAS
-A INPUT -m state --state INVALID -j DROP # Invalid Packet
-A INPUT -i lo -j ACCEPT # Loopback (localhost)
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Established Sessions
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT # ICMP - Echo-Request (8)
-A INPUT -i eth0 -p udp --dport 67:68 --sport 67:68 -j ACCEPT # DCHP - Client
-A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT # SSH - OpenSSH
-A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT # HTTP - nginx
-A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT # HTTPS - nginx
-A INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT # FTP - Pure-FTP
-A INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT # SMTP - Exim
-A INPUT -p tcp --dport 465 -m state --state NEW -j ACCEPT # SMTPS - Exim
-A INPUT -p tcp --dport 110 -m state --state NEW -j ACCEPT # POP3 - Courier
-A INPUT -p tcp --dport 995 -m state --state NEW -j ACCEPT # POP3S - Courier
-A INPUT -p tcp --dport 143 -m state --state NEW -j ACCEPT # IMAP - Courier
-A INPUT -p tcp --dport 993 -m state --state NEW -j ACCEPT # IMAPS - Courier
-A INPUT -j DROP # Any
#################################################################
### Outgoing Traffic
#################################################################
-A OUTPUT -m state --state INVALID -j DROP # Invalid Packet
-A OUTPUT -o lo -j ACCEPT # Loopback (localhost)
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Established Sessions
-A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT # ICMP - Echo-Request (8)
-A OUTPUT -o eth0 -p udp --dport 67:68 --sport 67:68 -j ACCEPT # DCHP - Client
-A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT # DNS - System
-A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT # DNS - System
-A OUTPUT -p udp --dport 123 -m state --state NEW -j ACCEPT # NTP - System
-A OUTPUT -p tcp --dport 43 -m state --state NEW -j ACCEPT # WHOIS - System
-A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT # HTTPS - nginx
-A OUTPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT # HTTPS - nginx
-A OUTPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT # FTP - Pure-FTP
-A OUTPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT # SMTP - Exim
-A OUTPUT -p tcp --dport 465 -m state --state NEW -j ACCEPT # SMTPS - Exim
-A OUTPUT -j DROP # Any
#################################################################
### Forward Traffic
#################################################################
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT # Established Sessions
-A FORWARD -m state --state INVALID -j DROP # Invalid Packet
-A FORWARD -j DROP # Any
COMMIT