Ubuntu Server 24.04 LTS インストール後の初期設定4 アクセス制御 メモ
Linux標準iptablesでポートフィルタリング
インターネットからアクセスできるようにった自宅サーバー、今の段階ではsshしか開いておらず、そのsshも公開鍵認証のみなど最低限のアクセス制限を加えているので当面大丈夫だと思うが、今後のことも考慮しファイヤーウォールを導入することにする。
Linuxでは昔からiptablesが標準的にポートフィルタリングで利用されているが設定ファイルがややこしく知識が必要であった。
Ubuntuではufwというiptablesを平易に設定できるツールが利用できるのでそちらを利用することにする。
ufwのインストール
$ sudo apt update
$ sudo apt install ufw
Ubuntuをインストールしてから3日ほど経ったのでapt updateでパッケージのリストを更新してから作業した。
デフォルトはすべて拒否
フィルタリングのルールとして一旦すべて拒否をしてから必要なポートのみを開けるホワイトリスト方式と、すべて開放してから公開したくないポートを閉じるブラックリスト方式があるがここではホワイトリスト方式でデフォルト動作はdeny、許可ポートはsshの22番を開けることにする。
$sudo ufw status
Status: inactive
まずは現在の状態を確認する。 inactive ということで稼働していない
デフォルト動作を拒否にする。
※sshで接続し作業していると次のコマンドでアクセスできなくなるので要注意
$ sudo ufw default deny
ssh は許可する
$ sudo ufw allow ssh
sshの接続は内部プライベートアドレスからのみに変更
インターネットからsshで接続する必要は当面ほぼ無いと判断し、sshの接続をローカルIPのみに制限を加えるよう変更した。
$ sudo ufw allow from 192.168.1.0/24 to any port ssh
設定を確認
$ sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW 192.168.1.0/24
インターネット側からsshでアクセスできないことを確認終了
今後サービスを提供するときにポートを許可するようにする。