SSH接続では通信が暗号化されているので通信途中でパスワードが解析される恐れはありません。しかし22番ポートはSSHと紐づいているのでOPEN状態であると世界中から不正アクセスのアタックがやってきます。強固なパスワードであれば総当たり攻撃でも簡単に破られはしませんが、アタックが続くのはストレスになるのでSSHポートを22番から変更します。22番ポートが閉じられていれば攻撃をあきらめるアタッカーが多いと見込んでの処置です。
1.SELinuxの無効化
SELinuxは設定をするうえで煩雑になるので無効化しておきます。
すでに無効化されてる場合は飛ばしてください。
# getenforce ← SELinux状態確認
Disabled ← 無効状態の場合は
Enforcing ← SELinux有効の場合は以下のコマンド
# setenforce 0 ←SELinux無効化
# getenforce ← SELinux状態確認
Permissive ← SELinux無効
システム再起動後も無効化がつづくようにする。
# vi /etc/sysconfig/selinux ← SELinux設定ファイル編集
SELINUX=enforcing
↓
SELINUX=disabled ← システム起動時にSELinuxを無効化
2.SSH設定ファイルの変更
1 2 3 |
# vi /etc/ssh/sshd_config # Port 22 ←コメントアウト Port 10022 |
変更したら再起動
# systemctl restart sshd
3.Firewallの開放
(1)変更したポートを開放する
1 |
# firewall-cmd --add-port=10022/tcp --permanent |
(2)未使用のポート閉じる
1 |
# firewall-cmd --remove-service=ssh --permanent |
Firewall変更の反映
# firewall-cmd –reload
(3)ルータのポート開放
自宅サーバに接続する場合、IPマスカレード設定で新規設定したsshポート(10022)を対象となるサーバIPへ転送する設定を行う。
4.SSHログ確認
/var/log/secureのログを確認する。
ログイン失敗したユーザは以下のように確認できる。
# grep -c invalid /var/log/secure
# grep -c Failed /var/log/secure
# grep -c Accepted /var/log/secure