株式会社エスロジカル
株式会社エスロジカル
セキュリティ、Web開発、Unix開発、Go言語

■ Linux:ipchains について

技術ドキュメント目次 -> Linux -> ipchains について

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


RedHat7.1 で、ipchains を使用して、
ipパケットフィルターの設定を行うための手順をメモしておきます。

まず、/etc/sysconfig/ipchains を次のように編集します。
(そのマシンの IPアドレスが 192.168.1.1 で、
 ホスト名が ns.gorigori.jp であるとします)

## デフォルトルールは、外に向かうパケットのみ全許可
## それ以外は DENY する。
:input DENY
:forward DENY
:output ACCEPT
## local の インターフェイスを使用するパケットは全て許可
-A input -s 0/0 -d 0/0 -i lo -j ACCEPT
## 信用しているネットワーク(192.168.0.0/16)からは、FTP・telnet・ssh(ポート20~23)を許可
-A input -p tcp -s 192.168.0.0/16 -d 192.168.1.1 20:23         -j ACCEPT
## このマシンから外部のFTPサーバに対して FTPを行う時のため、
## ポート20がソースになっている TCPのパケットを受信する。
## このマシンが FTP のクライアントにある可能性がない場合は、この行を削除すること。
-A input -p tcp -s 0/0 20         -d 192.168.1.1 1024:65535 -y -j ACCEPT
## 1024 以上のポートに対しては、SYNでないパケットのみ許可する。
## (ただし上記のFTPクライアントとして動作させるための設定を除く)
-A input -p tcp -s 0/0            -d 192.168.1.1 1024:65535 -y -j DENY
-A input -p tcp -s 0/0            -d 192.168.1.1 1024:65535    -j ACCEPT
## SMTP HTTP DNS AUTH(113)は全てからアクセスを許可する
-A input -p tcp -s 0/0            -d 192.168.1.1 25            -j ACCEPT
-A input -p tcp -s 0/0            -d 192.168.1.1 53            -j ACCEPT
-A input -p tcp -s 0/0            -d 192.168.1.1 80            -j ACCEPT
-A input -p tcp -s 0/0            -d 192.168.1.1 113           -j ACCEPT
-A input -p udp -s 0/0            -d 192.168.1.1 53            -j ACCEPT
-A input -p udp -s 0/0 53         -d 192.168.1.1               -j ACCEPT


そして、ipchains の起動シェルで restart を行うと、
/etc/sysconfig/ipchains の内容が、
IPパケットフィルタリングの設定として有効になります。

# /etc/rc.d/init.d/ipchains restart
Flushing all current rules and user defined chains:        [  OK  ]
Clearing all current rules and user defined chains:        [  OK  ]
Applying ipchains firewall rules:                          [  OK  ]
#


ipchains の設定がどのようになっているかを確認するためには、
ipchains を -L オプションで実行します。

# ipchains -L
Chain input (policy DENY):
target     prot opt     source                destination           ports
ACCEPT     all  ------  anywhere             anywhere              n/a
ACCEPT     tcp  ------  192.168.0.0/16       ns.gorigori.jp        any ->   ftp-data:telnet
ACCEPT     tcp  -y----  anywhere             ns.gorigori.jp        ftp-data ->   1024:65535
DENY       tcp  -y----  anywhere             ns.gorigori.jp        any ->   1024:65535
ACCEPT     tcp  ------  anywhere             ns.gorigori.jp        any ->   1024:65535
ACCEPT     tcp  ------  anywhere             ns.gorigori.jp        any ->   smtp
ACCEPT     tcp  ------  anywhere             ns.gorigori.jp        any ->   domain
ACCEPT     tcp  ------  anywhere             ns.gorigori.jp        any ->   http
ACCEPT     tcp  ------  anywhere             ns.gorigori.jp        any ->   auth
ACCEPT     ucp  ------  anywhere             ns.gorigori.jp        any ->   domain
ACCEPT     udp  ------  anywhere             ns.gorigori.jp        domain ->   any
Chain forward (policy DENY):
Chain output (policy ACCEPT):
#




■ Linux についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。