Ga naar inhoud

Blog

iptables

iptables starten en stoppen

Je kan iptables starten, stoppen of herstarten met de volgende commando's:

# service iptables start # service iptables stop # service iptables restart
iptables status controleren
# service iptables status

iptables starten tijdens boot process

Met chkconfig wordt de iptables service gestart tijdens het booten van de machine:

# chkconfig iptables on

Voor een overzicht van services:

# chkconfig --list

Voor een overzicht van actieve firewall regels:

# iptables -L -v
iptables wijzigingen

Exporteren van de actieve regels:

iptables-save > firewall-config

Wijzigen van de regels:

nano firewall-config
voorbeelden

In alle voorbeelden dient x.x.x.x te worden vervangen door het gewenste IP-adres.

De standaard is interface eth0 echter, op mijn VPS omgeving is dit echter venet0. Zie ifconfig.

# DEFAULT POLICY (Deze staat standaard op ACCEPT, letop: dit weigert alle toegang, uitzonderingen moeten worden toegevoegd!) -P INPUT DROP -P FORWARD DROP -P OUTPUT DROP # PING -A INPUT -p icmp --icmp-type echo-request -j ACCEPT -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT # PING (uitgaand) -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT # Toegang weigeren van één bepaald IP-adres: -A INPUT -s x.x.x.x -j DROP # Toegang weigeren van IP-bereik: -A INPUT -m iprange --src-range x.x.x.x-x.x.x.x -j DROP # Toegang weigeren van een IP-adres uit een bepaald subnet: -A INPUT -s x.x.x.x/24 -j DROP # SSH -A INPUT -i eth0 -p tcp -s x.x.x.x --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT # SSH (uitgaand) -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT # SSH (uitgaand) -A OUTPUT -o eth0 -p tcp -d x.x.x.x/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT # FTP -A INPUT -i eth0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT # FTP (Active) -A INPUT -i eth0 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT -A OUTPUT -o eth0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT # FTP (Passive) -A INPUT -i eth0 -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT # HTTP -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT # HTTP (uitgaand) -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -i eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT # HTTPS -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT # HTTPS (uitgaand) -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT # Remote MySQL connectie -A INPUT -i eth0 -p tcp -s x.x.x.x --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT # SMTP -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT # IMAP en IMAP2 -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --sport 143 -m state --state ESTABLISHED -j ACCEPT # IMAPS -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --sport 993 -m state --state ESTABLISHED -j ACCEPT # POP3 -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT # POP3S -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 -p tcp --sport 995 -m state --state ESTABLISHED -j ACCEPT
iptables wijzigingen opslaan

Overschijven van de actieve regels:

iptables-restore < firewall-config service iptables save
File Transfer Protocol en Plesk VPS

Op mijn VPS omgeving is de module ip_conntrack_ftp niet geladen in de kernel, daarom kan ik deze niet toevoegen in /etc/sysconfig/iptables-config:

IPTABLES_MODULES="ip_conntrack_ftp"

Download: iptables.sh

Meer informatie: HowTos/Network/IPTables - CentOS Wiki | 42.9. IPTables