序文
新しく購入したサーバーの場合、ユーザー名はデフォルトで root になり、SSH ポート 22 がデフォルトで開かれることが多く、SSH サービスを構成する場合、パスワードと公開キーによる二重ログインが許可されることがよくあります。ただし、多くの違法なサーバーは、ユーザー名 root のデフォルト ポート 22 にアクセスして、サーバーのパスワードを強引に取得するブルート フォース クラッキング プログラムを実行します。
したがって、安全でないデフォルト構成は、大きなリスクをもたらします。ブロガーは自身の CVM 構成を例として、3 つのセキュリティ戦略を挙げました。
防御線 1: デフォルトのポート 22 を変更する
攻撃者は Nmap を通じて新しいポート番号をスキャンできますが、そのような設定により攻撃者の作業はより困難になります。
1. リモート サーバーにログインし、sshd_configフォルダーを開きます。
vim /etc/ssh/sshd_config
2. デフォルトの注釈付き #Port 22 ポートを見つけます。
新しいポートを追加してください (範囲は10000~65535です。10000 未満のポートはシステムまたはソフトウェアによって簡単に占有されます)
新しいポートが正常に構成されるまで、ポート 22 を予約する必要があることに注意してください。
3. SSH サービスを再起動します:service sshd restart
service sshd restart
4-1. ファイアウォール上のポートを開きます (例として iptables)。
Centos 6 はデフォルトで iptables ファイアウォールを使用します。
このリンクをお読みください: iptables は指定されたポートを開きます - gerrylon007 (CSDN ブロガー)
4-2. ファイアウォールでポートを開きます (例として Firewalld)。
1. まず selinux をオフにします。
推奨読書: Linux で SELinux をオフにする必要があるのはなぜですか? ——志胡さんの質問
vim /etc/selinux/config
2. SELINUX=enforcingを SELINUX=disabledに変更します(selinux を完全にオフにします)
必要ですか:
shutdown -r now //重启您的实例
重启后,运行命令:
getenforce
验证SELinux状态为disabled,表明SELinux已关闭。
2. setenforce 0を実行してselinuxファイアウォールをシャットダウン(一時的にシャットダウン)します。
setenforce 0
3. Firewalld ファイアウォールでポート 11111 を開きます。
firewall-cmd --permanent --zone=public --add-port=11111/tcp
firewall-cmd --reload
4. ポートを表示します。
netstat -nptl|grep ssh
現在、ポート 22 とポート 11111 が開いていることがわかります。
写真が示すように:
これで完了です。まず、ポート 22 を削除しましょう (セキュリティ グループ ルール設定でもポート 22 をクリアすることを忘れないでください)。
1.まず、 /usr/lib/firewalld/ services/ssh.xmlファイルを削除します。
rm -rf /usr/lib/firewalld/services/ssh.xml
2.firewalld の削除操作:
firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --reload
3. ssh サービスを再起動することが最善です。次のコマンドを入力して確認します。
iptables -L
図からわかるように、現在、tcp プロトコルを使用したポート 10022 への外部アクセスのみが許可されています。
この時点でまだ正常に接続できない場合は、次の 2 つの理由が考えられることに注意してください。
1. クラウド サーバー コンソール - セキュリティ グループ設定 - ポート 11111 を開きます (高確率で)。
2. ネットワークオペレーターを切り替える
防御線 2: SSH パスワード ログインを無効にし、代わりに公開キー ログインを使用します。
vim /etc/ssh/sshd_config
1. PasswordAuthentication YesをPasswordAuthentication noに 変更します。
2. 必ず SSH サービスを再起動してください:service sshd restart
service sshd restart
防御線 3: root ユーザーのリモート操作を無効にする
CVM インスタンスを作成するとき、クラウド サーバーの製造元はデフォルトで root ユーザーをユーザーに割り当てます。便利ではありますが、将来的に無用なトラブルが発生することは避けられませんし、もちろん安全ではありません。したがって、root ユーザーのリモート ログイン権限を最初から無効にしたほうがよいでしょう。
時間の都合上、ブロガーはこの解決策を実践していませんので、以下をお読みください。
Linux で root ユーザーを無効にする - 大きなスイカを食べる - Blog Garden (cnblogs.com)
追記
ポート 22 を再度開きたい場合はどうすればよいですか?
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --reload
「iptables -L」と入力します。この時点で、外部 SSH 入口が 2 つあることがわかります。
連絡方法は?[email protected]