sleepingbird.net Home since May.11 2003
Copyright sleepingbird, 1993- All rights reserved.
Linux Server

TOP > Linux Server > masquerade

ip-tables

 Linux には ip-masquerade というルーター機能がある。設定によっては firewall として機能する。単純にルーティングを行うには次のスクリプトを実行する。

#!/bin/sh

echo " IP-masquerad Starting....."

### iptables module load
/sbin/modprobe iptable_nat

### IPフォワーディングを有効にする(必修)
echo 1 > /proc/sys/net/ipv4/ip_forward

### 初期化 ###
### filter テーブル の FORWARD チェイン の中身を全削除(Flash)
### nat テーブル の POSTROUTING チェイン の中身を全削除(Flash)
iptables -t filter -F FORWARD
iptables -t nat -F POSTROUTING

### 条件とアクションの設定 ###
### サブネット側(ppp00)、WAN側(eth1)とする
### 1. FORWARDチェインのデフォルト設定を通過許可(ACCEPT)
### 2. サブネットからWANへのIPマスカレード許可(MASQUERADE)
iptables -t filter -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

### ftp通信用モジュールのロード ###
/sbin/insmod ip_nat_ftp
/sbin/insmod ip_conntrack_ftp
 このままだと、外部からの侵入を許してしまう。サーバーとして稼働させるのであっても、必要なパケット以外はブロックしておく必要がある。

 iptables の再起動
# service iptables restart 現在のすべてのルールとユーザ定義チェインを初期化中: [ OK ]
現在のすべてのルールとユーザ定義チェインを破棄中: [ OK ]
iptables のファイアウォールルールを適用中: [ OK ]

セキュリティーポリシー

 ネットに接続する際の方針を決めておく。どのサービスを利用し、どのサービスを公開するのかを明示的に記述し、セキュリティを確保する。

基本
 デフォルト設定で、すべての通信はブロックし、必要なものだけを明示的に通過させる。

利用するサービスと提供するサービス
サービス port 利用 公開 備考
ftp 21  
ssh 22  
smtp 25 pop before smtp によりブロック
dns 53 × Lan で利用 
http 80  
pop3 110 APOP 
auth 113  
ntp 123  
https 443  
MSN Messenger 1863  
MSN Messenger DATA 6891:6900  
  6669  
  7743  
icmp packet(ping)   ×  
traceroute   ×  

その他のポリシー
 次のネット攻撃をブロックする。
  • Ping of death(連続 ping 攻撃)
  • Port scanner(ポートスキャン)
  • Spoofing(なりすまし)
  • SYN-flood(連続偽接続要求)
 次のものは無条件で許可する。
  • Loopback
  • Local Network
 これで作ってみたのが、こちら
 (実際に使用しているものとは違います。)
 今のところ、巧く動いてくれているようだ。