パケットフィルタの例(ipchains)


ORCAに繋ぐことのできるポート、LAN内のパソコンを最低限にし、大事なデータをしっかり守りましょう。

以下のIPアドレス等をあなたの環境に合わせ、「/etc/network/if-pre-up.d/orcafirewall」に追加します。
「/etc/network/if-pre-up.d/orcafirewall」rootでの実行件を付けます。
#!/bin/sh
# このパソコンのIPアドレス
ME=192.168.xxx.xx2
# ORCAのマスター、スレーブ、クライアントなどのIPアドレス
YOU=192.168.xxx.xx3
# DNSサーバのIPアドレス
DNSSV=192.168.xxx.xx1
# NTPサーバのIPアドレス
NTPSV=0/0
# LANのネットワーク
LAN=192.168.xxx.0/255.255.255.0
# ネットワークプリンタのIPアドレス
NETPRI=192.168.xxx.x11

if [ "$IFACE" = "eth0" ]; then

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#出ていくパケット
iptables -N ethout
#iptables -A ethout -o eth0 -p tcp -d xxx.xxx.xxx.xxx --dport smtp -j ACCEPT
iptables -A ethout -o eth0 -p tcp -d 0/0 --dport smtp -j DROP
iptables -A ethout -o eth0 -j ACCEPT
iptables -I OUTPUT -j ethout


iptables -N ethin
iptables -A ethin -i eth0 -d $ME -f -j DROP

#ssh
iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport ssh -j ACCEPT

#ORCAマスター、スレイブ、クライアントの接続ポート
iptables -A ethin -i eth0 -p tcp -s $YOU -d $ME --dport 5432 -j ACCEPT
iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 8000 -j ACCEPT

#ネットワークプリンタを使う時
iptables -A ethin -i eth0 -p tcp -s $NETPRI --sport 515 -d $ME -j ACCEPT

#eDolphin(電子カルテ)を使う場合
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 5001 -j ACCEPT
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 389 -j ACCEPT
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 5432 -j ACCEPT
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 5105 -j ACCEPT

#ipmessengerを使う場合
#iptables -A ethin -i eth0 -p udp -s $LAN -d $ME --dport 2425 -j ACCEPT
#iptables -A ethin -i eth0 -p udp -s $LAN -d 255.255.255.255 --dport 2425 -j ACCEPT
#Sambaを使う場合
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $LAN --dport 137:139 -j ACCEPT
#iptables -A ethin -i eth0 -p udp -s $LAN -d $LAN --dport 137:139 -j ACCEPT
#afpdでファイル共有する場合
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 548 -j ACCEPT
#iptables -A ethin -i eth0 -p udp -s $LAN -d $ME --dport 548 -j ACCEPT
#Swatを使う場合
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 901 -j ACCEPT
#WebServer
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 80 -j ACCEPT
#FTP Server
#iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 21 -j ACCEPT

# DNS
iptables -A ethin -i eth0 -p udp -s $DNSSV --sport 53 -d $ME -j ACCEPT

# auth REJECT
iptables -A ethin -i eth0 -p tcp -d 0/0 --dport auth -j REJECT

# tcp syn DROP
iptables -A ethin -i eth0 -d $ME -p tcp --tcp-flags SYN,RST,ACK SYN -j DROP

# tcp syn 以外 ACCEPT
iptables -A ethin -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# ntp ACCEPT
iptables -A ethin -i eth0 -p udp -s $NTPSV --sport ntp -d $ME -j ACCEPT
# LAN内のSNTPとして使う場合は下。
#$LANはLANのネットワークアドレス/ネットマスク
#iptables -A ethin -i eth0 -p udp -s $LAN -d $ME --dport ntp -j ACCEPT

# 必要な ICMP ACCEPT
iptables -A ethin -i eth0 -p icmp --icmp-type echo-reply -d $ME -j ACCEPT
iptables -A ethin -i eth0 -p icmp --icmp-type destination-unreachable -d $ME -j ACCEPT
iptables -A ethin -i eth0 -p icmp --icmp-type time-exceeded -d $ME -j ACCEPT
iptables -A ethin -i eth0 -p icmp --icmp-type echo-request -d $ME -j DROP

iptables -A ethin -i eth0 -j DROP

iptables -I INPUT -j ethin

fi


「/etc/network/if-post-down.d/orcafirewall」に追加します。
「/etc/network/if-post-down.d/orcafirewall」rootでの実行件を付けます。
#!/bin/sh
if [ "$IFACE" = "eth0" ]; then
iptables -D INPUT -j ethin
iptables -F ethin
iptables -X ethin
iptables -D OUTPUT -j ethout
iptables -F ethout
iptables -X ethout
fi


コンピュータを再起動します。


←戻る