状況
本番 Web サーバーに SSH でログインし、ファイアウォールのルールを作り直す作業。作業者が既存のルールを消そうとしている。
Enter の前に止めるべき点は?
admin@web-01:~$ sudo iptables -S INPUT-P INPUT DROP-A INPUT -p tcp --dport 22 -j ACCEPT-A INPUT -p tcp --dport 443 -j ACCEPTadmin@web-01:~$ sudo iptables -F正答
- -F の後に iptables-save しないと、再起動でルールが元に戻ってしまう
- iptables は廃止予定なので nft コマンドで操作すべき
- 既定ポリシーが DROP のまま許可ルールを消すので、SSH ごと締め出される
- -S ではなく -L -n で確認しないと、ポリシーが表示されない
解説
-F はルールを消すがポリシーは変えない。INPUT のポリシーが DROP のまま 22 番と 443 番の許可ルールを消すと、通信はすべて落とされ、作業中の SSH も応答しなくなりサービスも止まる。コンソール接続がなければ自力で戻せない。先に -P INPUT ACCEPT にする、一定時間後に元へ戻す仕掛けを用意する、などをしてから行う。保存や nft の話は運用上の論点だが、今まさに締め出される危険より優先度は低い。
参考: man7.org
この問題を含む 危険察知 のテストを制限時間つきで解く
危険察知クイズへ