Iptabales設定編
設定するネットワーク構成
ルーター(外側):ISPのDHCPサーバーから割り当てられたIPアドレス
ルーター(内側):192.18.1.1
クライアントPC:192.168.*.*
設定のルール
+デフォルトポリシー破棄
+IPマスカレードとパケットフィルタリングのルール
・ループバックは無条件に許可
・Internetからの22番(SSH)、25番(SMTP)、80番(HTTP)、110番(POP3)
67番(bootps:DHCPサーバー)、68番(bootps:DHCPクライアント)を許可
・LANからInternetへのNetBIOS関連ポート(137〜139、445番)を破棄
・Internetからの送信元IPアドレスがプライベートアドレスのパケットを
破棄(スプーフィング対策)
・Internetからの宛先IPアドレスがプライベートアドレスのパケットを破
棄(スプーフィング対策)
・ポートスキャン対策を行う
・SYNフラッド攻撃対策を行う
・ping of death対策を行う
・ブロードキャストパケットを破棄
・接続の戻りパケットは許可
・LANからルーターへの接続は許可
・NetBIOS関連のパケットは、インターネットには出さない
+サーバーのIPアドレスは「192.168.1.3」とする
設定手順
@ipchains-->iptables
1:chkconfig
--del ipchains
[ENTER]
2:reboot [ENTER]
Aフィルタリングルールを消去する
3:/sbin/iptables
-F [ENTER]
4:/sbin/iptables
-F -t nat
[ENTER]
Bデフォルトポリシーを設定
5:/sbin/iptables
-P INPUT DROP [ENTER]
6:/sbin/iptables
-P FORWARD DROP [ENTER]
7:/sbin/iptables
-P OUTPUT DROP [ENTER]
Cループバックを許可する
8:/sbin/iptables
-A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT [ENTER]
9:/sbin/iptables
-A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT [ENTER]
DLANからInternet側に送ったかのように装う不信なパケットはログを採る
10:/sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j LOG –logprefix
"CAUTION!! SPOOFING PAKCET" [ENTER]
EInternetからの送信元IPアドレスがプライベートアドレスのパケットを破棄
11:/sbin/iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP [ENTER]
12:/sbin/iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP [ENTER]
13:/sbin/iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP [ENTER]
FInternetからの宛先IPアドレスがプライベートアドレスのパケットを破棄
14:/sbin/iptables -A INPUT -i eth0 -d 10.0.0.0/8 -j DROP [ENTER]
15:/sbin/iptables -A INPUT -i eth0 -d 172.16.0.0/12 -j DROP [ENTER]
16:/sbin/iptables -A INPUT -i eth0 -d 192.168.0.0/16 -j DROP [ENTER]
GInternetから22番(SSH)、25番(SMTP)、80番(HTTP)、110番(POP3)
67番(bootps:DHCPサーバー)、68番(bootps:DHCPクライアント)への接続を許可
17:/sbin/iptables -A INPUT -i eth0 -p tcp -s 0.0.0.0/0 -d
0.0.0.0/0 --dport 22 -j ACCEPT [ENTER]
18:/sbin/iptables -A INPUT -i eth0 -p tcp --sport 22 -m state
--state ESTABLISHED -j ACCEPT [ENTER]
19:/sbin/iptables -A INPUT -i eth0 -p tcp -s 0.0.0.0/0 -d
0.0.0.0/0 --dport 25 -j ACCEPT [ENTER]
20:/sbin/iptables -A INPUT -i eth0 -p tcp --sport 25 -m state
--state ESTABLISHED -j ACCEPT [ENTER]
21:/sbin/iptables -A INPUT -i eth0 -p tcp -s 0.0.0.0/0 -d
0.0.0.0/0 --dport 80 -j ACCEPT [ENTER]
22:/sbin/iptables -A INPUT -i eth0 -p tcp --sport 80 -m state
--state ESTABLISHED -j ACCEPT [ENTER]
23:/sbin/iptables -A INPUT -i eth0 -p tcp -s 0.0.0.0/0 -d
0.0.0.0/0 --dport 110 -j ACCEPT [ENTER]
24:/sbin/iptables -A INPUT -i eth0 -p tcp --sport 110 -m
state --state ESTABLISHED -j ACCEPT [ENTER]
Hブロードキャストパケットを破棄
25:/sbin/iptables -A INPUT -i eth0 -d 255.255.255.255 -j DROP [ENTER]
26:/sbin/iptables -A INPUT -i eth0 -d 224.0.0.1 -j DROP [ENTER]
I接続戻りパケットを許可する
27:/sbin/iptables -A INPUT -i eth0 -m state --state ESTABLISHED -j ACCEPT [ENTER]
JLANからルーターへの接続は許可
28:/sbin/iptables -A INPUT -i eth0 -j ACCEPT [ENTER]
KLANからインターネット側に送ったかのように装う不審なパケットはログを採る
29:/sbin/iptables -A FORWARD -i eth0 -s 192.168.1.0/24 -j LOG --logprefix
"CAUTION!!SPOOFING PACKET" [ENTER]
Lポートスキャン予防線を張る
30:/sbin/iptables -A INPUT -p tcp --source-port 80 --destination-port 1024:65535 -j
ACCEPT [ENTER]
31:/sbin/iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST
-m limit --limit 1/s -j ACCEPT [ENTER]
Mpingへの応答拒否(ステルス化)
32:/sbin/iptables -A INPUT -p icmp --icmp-type desination-unreachable -j ACCEPT [ENTER]
33:/sbin/iptables -A INPUT -p icmp --icmp-type source-quench -j
ACCEPT [ENTER]
34:/sbin/iptables -A INPUT -p icmp --icmp-type time-exceeded -j
ACCEPT [ENTER]
35:/sbin/iptables -A INPUT -p icmp --icmp-type
parameter-problem -j ACCEPT [ENTER]
NSYNフラッド攻撃の撃退措置をとる
36:/sbin/iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j
ACCEPT [ENTER]
Oping of death攻撃対策
37:/sbin/iptables -A INPUT -p icmp --icmp --icmp-type
echo-request -m limit --limit 1/s -j ACCEPT [ENTER]
PInternetからの送信元IPアドレスがプライベートアドレスのパケットを破棄
38:/sbin/iptables -A FORWARD -i eth0 -s 10.0.0.0/8 -j DROP [ENTER]
39:/sbin/iptables -A FORWARD -i eth0 -s 172.16.0.0/12 -j DROP [ENTER]
40:/sbin/iptables -A FORWARD -i eth0 -s 192.168.0.0/16 -j DROP [ENTER]
QInternetからの宛先IPアドレスがプライベートアドレスのパケットを破棄
(NetBIOS関連のパケットは、Internetに出さない)
41:/sbin/iptables -A FORWARD -i eth0 -d 172.16.0.0/12 -j DROP [ENTER]
42:/sbin/iptables -A FORWARD -i eth0 -d 192.168.0.0/16 -j DROP [ENTER]
RNetBIOS関連のパケットは、Internetに出さない
43:/sbin/iptables -A FORWARD -p tcp -m multiport --source-port
135,137,138,139,445 -j DORP [ENTER]
44:/sbin/iptables -A FORWARD -p udp -m multiport --source-port
135,137,138,139,445 -j DORP [ENTER]
45:/sbin/iptables -A FORWARD -p tcp -m multiport --destination-port
135,137,138,139,445 -j DORP [ENTER]
46:/sbin/iptables -A FORWARD -p udp -m multiport
--destination-port 135,137,138,139,445 -j DORP [ENTER]
SInternetから22番(SSH)、25番(SMTP)、80番(HTTP)、110番(POP3)
67番(bootps:DHCPサーバー)、68番(bootps:DHCPクライアント)への接続を許可
47:/sbin/iptables -A FORWARD -i eth0 -o tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT [ENTER]
48:/sbin/iptables -A FORWARD -i eth0 -o tcp --sport 22 -m state
--state NEW,ESTABLISHED -j ACCEPT [ENTER]
49:/sbin/iptables -A FORWARD -i eth0 -o tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT [ENTER]
50:/sbin/iptables -A FORWARD -i eth0 -o tcp --sport 25 -m state
--state NEW,ESTABLISHED -j ACCEPT [ENTER]
51:/sbin/iptables -A FORWARD -i eth0 -o tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT [ENTER]
52:/sbin/iptables -A FORWARD -i eth0 -o tcp --sport 80 -m state
--state NEW,ESTABLISHED -j ACCEPT [ENTER]
53:/sbin/iptables -A FORWARD -i eth0 -o tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
[ENTER]
54:/sbin/iptables -A FORWARD -i eth0 -o tcp --sport 110 -m
state --state NEW,ESTABLISHED -j ACCEPT [ENTER]
21:接続戻りパケットを許可する
55:/sbin/iptalbes -A FORWARD -i eth1 -o eth0 -m sate --state ESTABLISED -j ACCEPT [ENTER]
22:NATの設定
56:/sbin/iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE [ENTER]
57:/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 22 -j DNAT
--to-destination 192.168.1.3 [ENTER]
58:/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 25 -j DNAT
--to-destination 192.168.1.3 [ENTER]
59:/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT
--to-destination 192.168.1.3 [ENTER]
60:/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 110 -j DNAT
--to-destination 192.168.1.3 [ENTER]
設定完了
接続テスト後、正常に接続可能であることを確認後設定がOS再起動後に有
効となるようにするために、xtermなどのターミナルを開き以下の操作を行う
@現在のiptablesの設定をファイルに書き込む
61:/sbin/iptables-save > /etc/sysconfig/iptables [ENTER]
Aファイル内容の確認を行う
62:less /etc/sysconfig/iptables [ENTER]
Bチェックを終えたら「q」キーを押す
63:q [ENTER]
C起動スクリプトにiptablesが含まれているかチェックする
64:/sbin/chkconfig --list [ENTER]
Diptablesの「3:」「5:」がONになっていることを確認する
※OFFになっていた場合「/sbin/chkconfig --add iptables」を実行し、
起動時にiptablesが利用できるようにする。
参考文献
安井健次郎、榊原大輔 著「Linuxでパソコンをルーターにする」ディー・アート
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||