スカイ・エス・エイッチ

menu

ORCAレセコンをご利用中のお客様

TOP > ORCAレセコンをご利用中のお客様 > その他技術、医事情報 > ORCA技術情報 > ORCAレセコンを有効活用しよう > パケットフィルタの例(iptables)

パケットフィルタの例(iptables) ORCAレセコンを有効活用しよう

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
コンピュータを再起動します。
test