Per Stenebo
2012-04-28 12:50:30
2020-01-20 14:26:40
iptables
| debian iptables | Ubuntu manpage | Ubuntu extensions manpage | Ubuntu IptablesHowTo | 16 iptables tips and tricks | How to forward port using iptables in Linux | How to redirect port in Linux using iptables |
iptables behöver redigeras som root: sudo su
Visa nuvarande konfiguration:
iptables -S
eller iptables -L
Lista regler i iptables, visa radnummer:
sudo iptables --list --line-numbers
Exempellista:
Chain INPUT (policy ACCEPT)
target prot opt source destination
LOG tcp -- 192.168.0.5 anywhere tcp dpt:ssh LOG level warning prefix `iptables: SSH attempted'
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Lista ytterliager info med -v, -L är alias för --list:
iptables -L -v --line-numbers
Ta bort regel 1 från chain INPUT i iptables:
sudo iptables -D INPUT 1
Ta bort alla regler, det inaktivera brandväggen tillfälligt:
sudo iptables -F
Ta bort alla egna chains, standard lämnas kvar:
sudo iptables --delete-chain
Spara nuvarande konfiguration till fil:
iptables-save > /etc/iptables.rules.bak
Blockera utgående TCP trafik över port 9003, gäller till nästa boot:
iptables -A OUTPUT -p tcp --dport 9003 -j DROP
Blockera utgående UDP trafik över port 123 (blockerar NTP-klient), gäller till nästa boot:
iptables -A OUTPUT -p udp --dport 123 -j DROP
Blockera inkommande ping, som root:
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
Återställ med, som root:
iptables -I INPUT -p icmp --icmp-type 8 -j ACCEPT
Återställa konfiguration från fil:
iptables-restore < /etc/iptables.rules.bak
Begränsa anslutningar
| limit number of connections | FUNKAR INTE ÄNNU
Skapa en ny grupp (chain) som vi kallar sshLimit:
sudo iptables --new-chain sshLimit --match comment --comment "Försvåra brute-force-attacker på SSH-port"
sudo iptables --append sshLimit --protocol tcp --match conntrack --ctstate NEW --match limit --limit 2/min --limit-burst 2 --jump RETURN
sudo iptables --append sshLimit --jump DROP
sudo iptables --insert INPUT 1 --protocol tcp --destination-port 22 --jump sshLimit
sudo iptables --new-chain sshLimit --match comment --comment "Försvåra brute-force-attacker på SSH-port"
sudo iptables --append sshLimit --protocol tcp --destination-port 22 --match conntrack --ctstate NEW --match limit --limit 2/min --limit-burst 2 --jump DROP
sudo iptables -A INPUT -p tcp --syn --dport 22 --match limit --limit 2/min --limit-burst 2 -j DROP
Begränsa sessioner per värd
Begränsa till 2 samtidiga SSH-anslutningar per värd, i praktiken verkar 3 anslutningar tillåtas: FUNKAR INTE ordentligt
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 2 -j REJECT
Logga aktivitet
Från och med Ubuntu 11.04 loggar iptables till /var/log/syslog och /var/log/kern.log, tidigare loggades till /var/log/messages. Loggfilen kan ändras | cyberciti.biz |
Logga inkommande anslutning på TCP port 8080:
iptables -I INPUT -p tcp -m tcp --dport 8080 -m state --state NEW -j LOG --log-level 1 --log-prefix "Ny anslutning: "
Logga aktivitet till port 22 från IP 192.168.0.5 FUNKAR INTE ÄNNU
sudo iptables --table filter --append INPUT --protocol tcp -m conntrack --ctstate NEW --source address 192.168.0.5 --destination-port 22 -j LOG --log-prefix "iptables: SSH attempted: "