Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: Filip 08. 06. 2017, 10:29:31

Název: IPtables: ping prochází přes zákaz ICMP
Přispěvatel: Filip 08. 06. 2017, 10:29:31
Ahoj, začínám s iptables. Chci aby mě propouštěli ipsec vpn což funguje a i vše ostatní. Jen nemohu přijít na icmp, ty fungují pořád ikdyž jsou DROP.
Přikládám můj iptables soubor a prosím o kontrolu zda-li je to sekvenčně správně.
Děkuji.
Kód: [Vybrat]
#!/bin/sh

LSMOD="/sbin/lsmod"
MODPROBE="/sbin/modprobe"
IPTABLES="/sbin/iptables"
IP6TABLES="/sbin/ip6tables"
IPTABLES_RESTORE="/sbin/iptables-restore"
IP6TABLES_RESTORE="/sbin/ip6tables-restore"
IP="/sbin/ip"
IFCONFIG="/sbin/ifconfig"
VCONFIG="/sbin/vconfig".
BRCTL="/sbin/brctl"
IFENSLAVE="/sbin/ifenslave"
IPSET="/usr/sbin/ipset"
LOGGER="/usr/bin/logger"

# Define network interfaces
eth0="enp0s3"

# reset_iptables_v4
$IPTABLES -P OUTPUT  DROP
$IPTABLES -P INPUT   DROP
$IPTABLES -P FORWARD DROP

# reset_iptables_v6
$IP6TABLES -P OUTPUT  DROP
$IP6TABLES -P INPUT   DROP
$IP6TABLES -P FORWARD DROP

# Allow localhost lo
$IPTABLES -A INPUT -i lo -m state --state NEW  -j ACCEPT
$IPTABLES -A OUTPUT -o lo -m state --state NEW  -j ACCEPT

# Reject connection attempts not initiated from the host
$IPTABLES -A INPUT -p tcp --syn -j DROP

# Allow return connections initiated from the host
$IPTABLES -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# accept established sessions
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Ping request
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j DROP
$IPTABLES -A INPUT -p icmp --icmp-type time-exceeded -j DROP
$IPTABLES -A INPUT -p icmp --icmp-type destination-unreachable -j DROP

# NAT Rules
# NAT rule for ipsec
$IPTABLES -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.3.4  -m policy --pol     ipsec --dir out -j ACCEPT
# NAT masquerade
$IPTABLES -t nat -A POSTROUTING -o $eth0 -s 10.0.0.0/24 -j SNAT --to-source 192.168.3.4

# Anti spoofing rule
$IPTABLES -A INPUT -i $eth0 -s 192.168.3.4 -m state --state NEW  -j DROP
$IPTABLES -A FORWARD -i $eth0 -s 192.168.3.4 -m state --state NEW  -j DROP


$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

# SSH access
$IPTABLES -A INPUT -p tcp -m tcp  --dport 22  -m state --state NEW  -j ACCEPT

# Accept IPsec connections rules
$IPTABLES -A INPUT -p udp -m udp --dport 500 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p udp -m udp --dport 4500 -m state --state NEW -j ACCEPT

# Allow IPsec ESP payload traffic for client connects
$IPTABLES -A FORWARD --match policy --pol ipsec --dir in  --proto esp -s 10.0.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD --match policy --pol ipsec --dir out --proto esp -d 10.0.0.0/24 -j ACCEPT

# MSS fix for packets fragmentation
$IPTABLES -t mangle -A FORWARD --match policy --pol ipsec --dir in -s 10.0.0.0/24 -o $eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360

# Allow access 192.168.3.0/26 to 10.0.0.0/24 network
$IPTABLES -A OUTPUT -s 192.168.3.0/26 -d 10.0.0.0/24 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.3.0/26 -d 10.0.0.0/24 -m state --state NEW -j ACCEPT

# Allow internet connection
$IPTABLES -A INPUT -s 192.168.3.4 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -s 192.168.3.0/26 -m state --state NEW  -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -s 192.168.3.0/26 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.3.0/26 -m state --state NEW -j ACCEPT

# Block all other traffic
$IPTABLES -A OUTPUT -m state --state NEW -j DROP
$IPTABLES -A INPUT -m state --state NEW -j DROP
$IPTABLES -A FORWARD -m state --state NEW -j DROP

# Add route for IPsec
$IP route add 10.0.0.0/24 via 192.168.3.4 dev $eth0
Název: Re:iptables reject ping
Přispěvatel: ZAJDAN 08. 06. 2017, 11:48:41
zkus to takto:
Kód: [Vybrat]
# ICMP rules
 $IPTABLES -A INPUT -p icmp --icmp-type echo-reply -m state --state ESTABLISHED,RELATED -j DROP
 $IPTABLES -A INPUT -p icmp --icmp-type destination-unreachable -m state --state NEW -j DROP
 $IPTABLES -A INPUT -p icmp --icmp-type time-exceeded -m state --state NEW -j DROP
 $IPTABLES -A INPUT -p icmp --icmp-type timestamp-request -m state --state NEW -j DROP
 $IPTABLES -A INPUT -p icmp --icmp-type timestamp-reply -m state --state ESTABLISHED,RELATED -j DROP

dle potreby si vyhod/uprav i ty stavy -m state
Název: Re:IPtables: ping prochází přes zákaz ICMP
Přispěvatel: Filip 08. 06. 2017, 13:31:29
Díky, bohužel stále to nebere v potaz. Mohu libovolně pingat na server ikdyž je to DROP
Název: Re:IPtables: ping prochází přes zákaz ICMP
Přispěvatel: Lol Phirae 08. 06. 2017, 13:48:30
Asi má ten firewall víc rozumu než ty s pitomým nápadem zahazovat pingy.
Název: Re:IPtables: ping prochází přes zákaz ICMP
Přispěvatel: Sten 08. 06. 2017, 13:50:25
V tom skriptu není flush, takže pokud v těch řetězech jsou již jiná pravidla, tahle se jen přidají na konec.

A jen tak mimochodem, blokování pingu je stejně k ničemu.
Název: Re:IPtables: ping prochází přes zákaz ICMP
Přispěvatel: snuff 08. 06. 2017, 14:00:43
Rob to prosimta ako clovek, iptables-save > subor

potom si to edituj .
iptables-restore < subor

a skontroluj cez iptables -nvL
Název: Re:IPtables: ping prochází přes zákaz ICMP
Přispěvatel: Filip 08. 06. 2017, 14:04:44
Nechci zakazovat ping, jenom jsem chtěl odzkoušet zda-li to funguje i na blokování a jsem tady :-).
Iptables-save restore používám.
Název: Re:IPtables: ping prochází přes zákaz ICMP
Přispěvatel: smoofy 08. 06. 2017, 15:36:43
Neni mi uplne jasna topologie. Pingas na normalni nebo ipsec ip? podivej se do "iptables -L -n -v" jestli u toho drop pravidla naskakuji pakety kdyz pingas. Ping funguje obousmerne?