インターネットに外部公開するCentOSサーバは、SSH接続のパスワードを強固なものにするだけでは不十分で、SSH/SFTP接続のポート番号変更とIP制限を設定するセキュリティ対策が必須なので、その設定を簡潔に纏めました。
自分の管理下にあるマシンからのみ、任意のポート番号でSSH/SFTP接続できるようにすることで、セキュリティを強固に出来ます。
[今回の設定値]
管理下のマシン:192.168.11.30
任意ポート番号:50001
OSバージョン:CentOS Linux release 7.6.1810 (Core)
[手順]
1. sshdに新しいポート番号を設定。
1-1. 新しいポートを追加して保存。
1 2 3 4 5 6 |
# vi /etc/ssh/sshd_config #Port 22 Port 50001 <=追加 |
2-2. sshd を再起動して設定を読み込み。
1 2 3 |
# systemctl restart sshd |
2. SELinuxに新しいポート番号を設定。
2-1. semanage コマンドをインストール
1 2 3 |
# yum install policycoreutils-python |
2-2. SELinux のポリシーにポート番号を追加。
1 2 3 |
# semanage port --add --type ssh_port_t --proto tcp 50001 |
3. ファイアウォール (firewalld) の設定を変更する
3-1. デフォルトポート番号(22)のSSH接続許可設定を削除。
1 2 3 |
# firewall-cmd --permanent --remove-service=ssh |
3-2. 接続元IP制限有り&新ポート番号でSSH接続許可を設定。
※この設定により、192.168.11.30マシンから、50001ポートで接続した場合のみ、SSHに接続可能になる。
1 2 3 |
# firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.11.30 port protocol=tcp port=50001 accept' --permanent |
3-3. ファイアウォール設定読込。
1 2 3 |
# firewall-cmd --reload |
4. PuTTYを 50001 ポートで接続してSSH動作確認。
5. WinSCPを 50001 ポートで接続してSFTP動作確認。
確認コマンドなどは省いてます。確認コマンドを知りたい場合は参考サイトなどを参照下さい。
ポート (コンピュータネットワーク)
CentOS7のファイアーウォール「Firewalld」の設定方法
CentOS 7 firewalld よく使うコマンド
コメント