siotp/sisr1/tp06-firewall/fw_part4.nft

73 lines
2.1 KiB
Plaintext

define netif = enp0s3
define lanif = enp0s8
define dmzif = enp0s9
define netip = 192.168.0.140
define iplan = 172.16.0.254
define ipdmz = 172.17.0.254
define lan-ntw = 172.16.0.1-172.16.0.254
define dmz-ntw = 172.17.0.1-172.17.0.254
table ip ipfilter {
chain prerouting {
type filter hook prerouting priority filter; policy drop;
# Communication déjà établies
ct state established,related accept
# SSH
tcp dport 22 accept
# Pings
icmp type echo-request iif $lanif accept
icmp type echo-reply iif {$lanif, $dmzif} accept
}
chain system_in {
type filter hook input priority filter; policy drop;
# Communication déjà établies
ct state established,related accept
# SSH
tcp dport 22 accept
# Pings
icmp type echo-request iif $lanif accept
icmp type echo-reply accept
}
chain routing {
type filter hook forward priority filter; policy drop;
icmp type echo-request iif $lanif oif $dmzif accept
icmp type echo-reply iif $dmzif oif $lanif accept
udp sport 53 accept
}
chain system_out {
type filter hook output priority filter; policy drop;
# SSH
tcp sport 22 accept
# Proxy
tcp dport 8080 accept
# requête DNS (UDP et TCP)
udp dport 53 accept
# requête HTTP, HTTPS
tcp dport {80,443} accept
# requête FTP
tcp dport {20,21} accept
# Pings
icmp type echo-request accept
icmp type echo-reply oif $lanif accept
}
chain postrouting {
type filter hook postrouting priority filter; policy drop;
# SSH
tcp sport 22 accept
# Proxy
tcp dport 8080 accept
# requête DNS (UDP et TCP)
udp dport 53 accept
# requête HTTP, HTTPS
tcp dport {80,443} accept
# requête FTP
tcp dport {20,21} accept
# Pings
icmp type echo-request oif {$lanif, $dmzif} accept
icmp type echo-reply oif $lanif accept
}
}