この記事は 2024 年 04 月 20 日に Qiita に投稿された記事を元に作成しています.
Qiita 側の更新は停止しています.
Qiita 側の更新は停止しています.
- Debian サーバのセットアップ
- ターミナルと外部接続の設定
- ファイアウォールの設定 (← この記事の内容)
- ゲームサーバの構築
限定的とは言え外部に公開するサーバマシンを構築するため,ファイアウォールの設定を行います.
注意
必ずサーバマシンの実機上で設定を行ってください.
RDP 接続や SSH 接続は,ファイアウォールにより遮断される可能性があります.
必ずサーバマシンの実機上で設定を行ってください.
RDP 接続や SSH 接続は,ファイアウォールにより遮断される可能性があります.
初期インストール
ファイアウォールルールの設定には ufw
を使用します.
同時に,GUI 上での設定を行うために gufw
をインストールします.
$ sudo apt install -y ufw gufw
IPv6 を無効化します.
$ sudo vim /etc/default/ufw
IPV6=no
サービスを有効化し,ファイアウォールを起動します.
$ sudo systemctl enable --now ufw
$ sudo ufw enable
ルール設定
デフォルトポリシー
デフォルトポリシーを設定します.
ファイアウォールの原則は,
- 全ての受信を拒否
- 全ての送信を許可
とします.
$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing
設定を反映します.
$ sudo ufw reload
接続確認
クライアントからの SSH 接続が遮断されることを確認します.
クライアントからの SSH 接続が遮断されることを確認します.
ルール設定
今回設定するネットワークポリシーは,下記の通りです.
ネットワークは 192.168.11.0
,サブネットマスクは 255.255.255.0
で表記しています.
- RDP 接続は特定クライアント(
{{クライアント IP アドレス}}
)のみ許可 - SSH 接続は同一ネットワーク内(
192.168.11.0/24
)のみ許可- その他のクライアントからの接続は制限付き
- FTP 接続は特定クライアント(
{{クライアント IP アドレス}}
)のみ許可 - その他の接続ポートは同一ネットワーク内のみ許可
- 特定の外部公開サーバのポートは許可
gufw
を起動し,それぞれのルールを設定します.
例えば,RDP 接続のファイアウォールルールは下記の通りです.
From 側の「ポート」,To 側の「IP」は空欄で設定します.
gufw
で設定したルールは,ufw
に反映されます.
!:: warning
注意
apt
でインストールした gufw 22.04.0-1
では,ufw
の再起動で「名前」が消失します.
その後 gufw
上で編集ができなくなるため,変更が必要な場合は ufw
で直接設定してください.
Status toggle button wipes out gufw rules from the profile, and reloads them from ufw · Issue #54 · costales/gufw
This is a baffling behavior: turning the firewall off with the toggle button next to Status wipes out all gufw rules fro...
!::
SSH 接続のファイアウォールルールは下記の通りです.
基本的には上記 RDP 接続のルールと同様で,下記の項目を変更します.
- SSH (LAN)
- From の「IP」 :
192.168.11.0/24
- To の「ポート」 :
{{SSH ポート}}
- From の「IP」 :
- SSH (Anyware)
- ポリシー :
Limit
- ログ : すべてログ出力する
- From の「IP」 : 空欄
- To の「ポート」 :
{{SSH ポート}}
- ポリシー :
FTP 接続のファイアウォールルールは下記の通りです.
- FTP
- From の「IP」 :
{{クライアント IP アドレス}}
- To の「ポート」 :
{{FTP ポート}}
- From の「IP」 :
- PASV (TCP)
- プロトコル :
TCP
- From の「IP」 :
192.168.11.0/24
- From の「ポート」 :
{{最小 PASV ポート}}:{{最大 PASV ポート}}
- プロトコル :
- PASV (UDP)
- プロトコル :
UDP
- From の「IP」 :
192.168.11.0/24
- From の「ポート」 :
{{最小 PASV ポート}}:{{最大 PASV ポート}}
- プロトコル :
設定を反映します.
$ sudo ufw reload
接続確認
クライアントからサーバマシンへの SSH 接続ができることを確認してください.
クライアントからサーバマシンへの SSH 接続ができることを確認してください.
ホストするゲームサーバごとのファイアウォールルールは,後述の記事で設定します.
以上で,ファイアウォールの設定が完了しました.
次回はゲームサーバの構築を行います.
コメント