はじめに、この記事群は前に行った事を思い返して書いています。それ故、実際の内容とズレや抜けが生じているかも知れません。

さて、前回中断してしまったファイアウォール設定について都築をやっていこう。

「/etc/iptables/rules.v4」を開いて編集する。

# Generated by iptables-save v1.6.0 on Mon Feb 25 18:06:46 2019
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

-A INPUT -p icmp -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT

#ここからip spoofing対策
#-A INPUT -s 10.0.0.0/8 -j DROP
#-A INPUT -s 172.16.0.0/12 -j DROP
#-A INPUT -s 192.168.0.0/16 -j DROP

#-A INPUT -d 0.0.0.0/8 -j DROP
#-A INPUT -s 127.0.0.0/8 -j DROP
#-A INPUT -s 169.254.0.0/16 -j DROP
#-A INPUT -s 192.0.2.0/24 -j DROP

# multicast address
#-A INPUT -s 224.0.0.0/4 -j DROP

# broadcast address
#-A INPUT -d 255.255.255.255 -j DROP

#ここまでip spoofing対策

#ここからサービス用のポート開放
# Allow HTTP connection(port:80)
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p udp --dport 80 -j ACCEPT

# Allow HTTPs connection(port:443)
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p udp --dport 443 -j ACCEPT

# Allow SSH connection(port:58946)
-A INPUT -p tcp --dport 58946 -j ACCEPT
#ここまで

-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -j REJECT --reject-with icmp-proto-unreachable

COMMIT
# Completed on Mon Feb 25 18:06:46 2019

上のコードはこちらのページを参考にしたものだが、そのまま書き写すと失敗たため少し改造した。後、今回参考にしたページはとても参考になるため、暇な人はぜひ見てみよう。

上記のコードの#ここからip spoofing対策~#ここまでip spoofing対策までは、本来コメントアウトしていないのだが、この部分を有効にしてしまうとRaspberryPiに対して一切アクセスする事が出来なくなってしまった。おそらくファイアーウォールが192.168.x.x等のアクセスまで遮断してしまっているのだろう。やろうと思えば特定のipだけ接続可能にしようと思ったのだが、個別設定は面倒だったのでこの部分はコメントアウトで無効化してしまった・・・

ちなみにこの部分を記述するとpingに応答しなくなってしまうため、嫌な人はオフにしてしまおう。

-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -j REJECT --reject-with icmp-proto-unreachable

これでいよいよRaspberryPiの外部接続に関するセキュリティは完成!!

これからはこのマシンはRaspberryPiではない・・・サーバと呼ぼう!

というところでまた次回!次はDNSとDDNS、つまり住所設定だ。

この記事が気に入ったら
フォローしよう

最新情報をお届けします

おすすめの記事