社内のネットワークに接続 iptablesを自宅用、会社用に使い分ける
10/06/06
AS/400からJavaでデータの扱いをいろいろと試すために、私のクライアントパソコンを社内のネットワークに接続できるよう許可をもらいました。
クライアントパソコン
以前当ブログで紹介した通り、自宅ではファイアーウォール機で作られた内部ネットワークの中に配置しています。ファイアーウォールでのパケットフィルタリングはもちろん行っていますが、クライアントパソコン単体にもiptablesによりパケットフィルタリングの機能を設定しています。これにより、プライベートネットワーク内に拡散するようなウィルスであっても、ブロックもしくは外に出さないようにできるでしょう。この発想は「要塞ホスト」と言って、「Linuxサーバセキュリティ」という本にて解説されていた考え方です。
本日仕事が終わった後、少し時間がありましたので、試しに接続してみました。設定内容は…
スクリプトの例(一部分のみ抜粋)
#!/bin/shこのスクリプトによって、DHCPなどでIPアドレスが変わっても、上部のアドレス変数を変えるだけですぐルールとして使用できます。詳しい説明は「ゼロから始めるLinuxセキュリティ」のファイアーウォールの項を参照してください。
##define IP Address
FW_IN=ファイアーウォールIPアドレス
R_CRI=クライアントパソコンのIPアドレス# Flush chains
/sbin/iptables -F
#
# すべてのパケットを拒否
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP# ループバックアドレスに関してはすべて許可
/sbin/iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
/sbin/iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 一度許可されたセッションからの通信を許可する
/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#クライアントからのインターネットを許可
/sbin/iptables -A OUTPUT -p TCP -s $R_CRI --dport 80 -j ACCEPT
#クライアントからのDNS問い合わせを許可
/sbin/iptables -A OUTPUT -p UDP -s $R_CRI --dport 53 -j ACCEPT