Hello, I'm trying to make the most specific, secure and restrictive iptables possible for a simple VPN connection on Debian. Could you have a quick look if those are OK? Thanks so much!VPN Server Port:1194VPN Server IP: 189.174.135.110
-P INPUT DROP-P FORWARD DROP-P OUTPUT DROP#no fragmented packets-A INPUT -f -j DROP#localhost-A INPUT -s 127.0.0.0/8 ! -i lo -j DROP-A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT-A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT# first packet has to be TCP syn-A INPUT -p tcp ! --syn -m state --state NEW -j DROP#drop sop icmp-A INPUT -p icmp --icmp-type address-mask-request -j DROP-A INPUT -p icmp --icmp-type timestamp-request -j DROP#Ping from inside to outside-A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT-A INPUT -p icmp --icmp-type echo-reply -j ACCEPT#drop broadcast, multicast anycast-A INPUT -m addrtype --dst-type BROADCAST -j DROP-A INPUT -m addrtype --dst-type MULTICAST -j DROP-A INPUT -m addrtype --dst-type ANYCAST -j DROP-A INPUT -d 224.0.0.0/4 -j DROP#drop invalid-A INPUT -m state --state INVALID -j DROP#drop spoofed packets-A INPUT -s 0.0.0.0/8 -j DROP-A INPUT -d 0.0.0.0/8 -j DROP-A INPUT -d 239.255.255.0/24 -j DROP-A INPUT -d 255.255.255.255 -j DROP# DROP RFC1918 PACKETS-A INPUT -s 10.0.0.0/8 -j DROP-A INPUT -s 172.16.0.0/12 -j DROP-A INPUT -s 192.168.0.0/16 -j DROP#Allow VPN- A INPUT -i eth0 -p udp -m udp -s 189.174.135.110 -d 192.168.1.0/24 --sport 1194 --dport 32768:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp -s 192.168.1.0/24 -d 189.174.135.110 --dport 1194 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT