1. SSHサービスのセキュリティ設定
SSHサービスの設定を変更するために設定ファイルを変更します。SSHサービスの設定ファイル は"/etc/ssh/sshd_config"です。
今回はデフォルトのSSHポート22から2244に変更して進めます
/etc/ssh/sshd_configを下記のとおり変更する
# vim /etc/ssh/sshd_config
■15行目にssh接続ポート2244を追加
#port 22
Port 2244
■16行目
#ListenAddress 0.0.0.0 をコメント解除
■33行目付近に記載がある”PermitRootLogin prohibit-password”パラメータを変更します。パラメータ”prohibit-password”はrootについてはパスワード認証を無効にするという意味合いになります。
#PermitRootLogin prohibit-password
↓ コメント#を削除
PermitRootLogin prohibit-password
SSHサービスの再起動及び自動起動設定
1 2 |
# systemctl restart sshd # systemctl enable sshd |
2. ファイアウォール(ufw)
2.1 インストール
1 2 3 4 5 |
# pacman -S ufw # systemctl status ufw ○ ufw.service - CLI Netfilter Manager Loaded: loaded (/usr/lib/systemd/system/ufw.service; disabled; preset: dis> Active: inactive (dead) |
ufwサービスが停止していることが「Active: inactive (dead)」と表示されていることから確認できます
2.2 ufwを有効にします
1 2 |
# systemctl enable ufw Created symlink /etc/systemd/system/multi-user.target.wants/ufw.service → /usr/lib/systemd/system/ufw.service. |
1 2 3 |
# ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup |
1 |
# systemctl start ufw |
2.3 ファイアウォールルールの設定
ufwを有効にするとデフォルトのファイアウォールルールが適用されます。このまま有効にするとサーバーと通信ができなくなる可能性がありますので、ufwを有効にする前に基本的なルールを設定しておきます。
受信パケット デフォルトルールの設定
まず受信パケットに対するルールを設定します。受信パケットは特定の通信以外、全てを拒否する形が一般的なルールになります。全ての受信パケットを基本的に拒否するように"ufw default deny incoming"を実行します。
1 2 3 |
# ufw default deny incoming Default incoming policy changed to 'deny' (be sure to update your rules accordingly) |
送信パケット デフォルトルールの設定
送信パケットは全てを許可する形が一般的なルールになります。送信パケットを基本的に許可するように"ufw default allow outgoing"を実行します。
1 2 3 |
# ufw default allow outgoing Default outgoing policy changed to 'allow' (be sure to update your rules accordingly) |
2.4 SSHポートの許可
ufwの自動起動を有効にします。が、SSHリモート接続できなくなる可能性がありますので、先にSSH接続の許可を設定します。上記で変更したSSHポート2244を次のコマンドで許可設定
1 2 |
# ufw allow 2244/tcp # ufw reload |
2.5 ufwの設定確認
有効後にファイアウォールに設定したルールの確認を行います。"ufw status verbose"を実行します。
1 2 3 4 5 6 7 8 9 10 |
# ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 2244/tcp ALLOW IN Anywhere 2244/tcp (v6) ALLOW IN Anywhere (v6) |
2.6 ipv6を無効化する場合
1 2 |
# vim /etc/default/ufw IPV6=yes → IPV6=no 書き換える |
2.7 ufwの再起動
1 |
# systemctl restart ufw |
3. 公開鍵暗号方式を用いた認証によるSSH接続
他のディストリビューションでの方式と同様ですので割愛します。
下記等を参考にしてください。