iptablesをubuntuに設定してみた
iptablesというのはLinux系OSで使われいるファイヤウォールみないたものですね。VPSで自分でサーバを管理していると常に世界中から攻撃がきますので、適宜こういったツールで攻撃を防ぐ必要がありますよね。sshやPHPmyadminを狙ったアクセスが特に多いですね。
ここではiptablesを設定するためにiptales-pesistentというツールを使用してみます。これを使うことで設定ファイルに設定することができます。
Ubuntu 18.04で実施してます
インストール
$ sudo apt-get install iptables-persistent

ipv4,ipv6用ファイル保存を確認されますので、yesしときます。
インストールが成功すると
/etc/iptables/ipv4.rules
/etc/iptables/ipv6.rules
と設定ファイルが2つできますので、設定していきます。
不正なアクセスIPを定期的に収集して手動で禁止してみます。
/etc/iptables/ipv4.rules に
-A INPUT -s X.X.X.X -j DROP
のように禁止したいIPを追加して、
$ sudo iptables-restore < /etc/iptables/rules.v4
で再読み込みするとX.X.X.Xがブロックされます。
似たような機能にhosts.allowファイルとhosts.denyファイルがありますが、httpアクセスはhosts.denyではブロックされないようですので、これでIPブロック実施しています。
iptablesはめちゃくちゃ多機能なので、全部を理解しきれないですが、最低限の不正HTTPアクセスは禁止したいですね。
個人的にはiptablesのChainの機能、場所を理解すれば理解も進むと思います。
よく見るのはこんな図でしょうか。青色部分が5つのChainsです。

あんまり設定しなかもしれませんが、FORWARDを使う場合はちゃんと理解する必要があります。FORWARDの転送制御をしたい場合はFORWARDで制御する(当たりまえ?)必要がありますよね。私はFORWARDの設定制御をINPUTでやろうとして時間を激しく浪費したことがあります。。