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でパソコンをルーターにする」ディー・アート


RedHat7.3Install偏へ
Top


SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送