海外だと動かしてくれと言えば許可してくれるんだが、国内はそうでも無かったり。
海外でも、戻っていたりして、そうなると完全に締め出されたりするので、安心は出来ない。
仕方ないので、思いっきり簡単なルールを作る。
正直、これでは心許ない。
最悪、VPSですので、上位で対策を取れる事を前提にしています。
参考はVPSがOpenVZ系の場合なので、インターフェースはvenet0です。
許可しているのはSSHだけ。
#!/bin/sh
# All Rule Reset
iptables -F
# BasicRule
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# lo Input Accept
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp ! --syn -j ACCEPT
# Spoofing DROP
iptables -A INPUT -i venet0 -s 127.0.0.0/8 -j DROP
iptables -A INPUT -i venet0 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i venet0 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i venet0 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i venet0 -s 0.0.0.0/8 -j DROP
iptables -A INPUT -i venet0 -s 169.254.0.0/16 -j DROP
iptables -A INPUT -i venet0 -s 192.0.2.0/24 -j DROP
iptables -A INPUT -i venet0 -s 224.0.0.0/4 -j DROP
iptables -A INPUT -i venet0 -s 240.0.0.0/5 -j DROP
iptables -A INPUT -i venet0 -s 248.0.0.0/5 -j DROP
iptables -A INPUT -i venet0 -s 255.255.255.255/32 -j DROP
#Spoofing-Venet DROP(HostIP)
iptables -A INPUT -i venet0 -s 192.0.2.100 -j DROP
iptables -A INPUT -i venet0 -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j DROP
iptables -A INPUT -f -i venet0 -j DROP
# Ident Reject
iptables -A OUTPUT -p tcp --dport 113 -j REJECT
# DNS Client
iptables -A INPUT -p udp --sport 53 -j ACCEPT
# ICMP Type3,11 Accept
iptables -A INPUT -i venet0 -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -i venet0 -p icmp --icmp-type destination-unreachable -j ACCEPT
# Accept
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
# Other Drop
iptables -A INPUT -j DROP
0 コメント:
コメントを投稿