デフォルトのSSHポートを変更する必要があるのはなぜですか?

デフォルトのSSHポートを変更する必要があるのはなぜですか?

多くの管理者がデフォルトのSSHポートを変更したことがわかりました。これを行うには妥当な理由がありますか?

答え1

最も可能性の高い理由は、人々が見つけることができるSSHログインをランダムに無差別に攻撃するのをより困難にすることです。私のインターネット接続コンピュータはデフォルトのSSHポートを使用しており、私のログは次のコンテンツで埋められました(実際のログファイルから抜粋)。

sshd[16359]: Invalid user test from 92.241.180.96
sshd[16428]: Invalid user oracle from 92.241.180.96
sshd[16496]: Invalid user backup from 92.241.180.96
sshd[16556]: Invalid user ftpuser from 92.241.180.96
sshd[16612]: Invalid user nagios from 92.241.180.96
sshd[16649]: Invalid user student from 92.241.180.96
sshd[16689]: Invalid user tomcat from 92.241.180.96
sshd[16713]: Invalid user test1 from 92.241.180.96
sshd[16742]: Invalid user test from 92.241.180.96
sshd[16746]: Invalid user cyrus from 92.241.180.96
sshd[16774]: Invalid user temp from 92.241.180.96
sshd[16790]: Invalid user postgres from 92.241.180.96
sshd[16806]: Invalid user samba from 92.241.180.96

最近使っています。ホスト拒否何度も検証に失敗したIPをブロックしますが、実際にポートを切り替えることも同様に簡単です。これらすべての無差別代入攻撃は、sshdが他のポートでリッスンしていることを確認するのを気にせず、単にユーザーがそうであると仮定します。特定のポートを実行せずに続行

答え2

いいえ、これはあいまいなセキュリティ戦術。

sshd設定がポート22のみを試みる愚かなスクリプトキディを処理するのに十分強力でない場合は、とにかく問題が発生します。

より合理的な応答は次のとおりです。

  • ユーザーが推測/無差別代入が困難な良いパスワードを使用していることを確認してください。
  • パスワード認証を無効にし(少なくとも重要なアカウントの場合)、公開鍵認証のみを使用します。
  • SSHセキュリティの問題とアップグレードに注意してください

何人かの人々はsshdがシステムログに記録する騒音のために迷惑をかけるかもしれません。たとえば、次のようになります。

Jan 02 21:24:24 example.org sshd[28396]: Invalid user guest from 212.129.23.128
Jan 02 21:24:24 example.org sshd[28396]: input_userauth_request: invalid user guest [preauth]
Jan 02 21:24:24 example.org sshd[28396]: error: Received disconnect from 212.129.23.128: 3: com.jcraft.jsch.JSchException: Auth fail [preauth]
Jan 02 21:24:24 example.org sshd[28398]: Invalid user ubnt from 212.129.23.128
Jan 02 21:24:24 example.org sshd[28398]: input_userauth_request: invalid user ubnt [preauth]
Jan 02 21:24:24 example.org sshd[28398]: error: Received disconnect from 212.129.23.128: 3: com.jcraft.jsch.JSchException: Auth fail [preauth

その後、sshdポートを非表示にするか、自動ブロックソリューション(DenyHosts、Fail2ban、BlockHostsなど)を使用して信号対雑音比再び。

しかし、より良い選択肢があります。たとえば、sshdログにノイズのみが記録され、シグナル/var/log/sshd-attempts.log(つまり残りのsshdログメッセージ)が記録されるようにsyslogデーモンを設定できます/var/log/messages

セキュリティ関連システムの複雑さが増加するとセキュリティも複雑になるため、自動化されたブロックツールの展開は慎重に検討する必要があります。危険~の開発する。実際、ここ数年で様々なことがありました。サービス拒否の脆弱性レポートごとにホスト拒否失敗2禁止そしてブロックホスト

答え3

SSHポートの変更は主にセキュリティシアター。何か行われたという漠然とした感じを与えます。ポーチマットの下にSSHポートを隠しました。

インターネット上でSSHサーバーを実行している場合は、愚かな脆弱なパスワードを探しているボットのログイン試行の失敗をログに表示することができます。弱い結合以前のバージョンのサーバーで既知の脆弱性。失敗した試みは次のとおりです。失敗頑張るこれは、お客様の脆弱性を評価することとまったく関係ありません。心配する必要があるのは成功した侵入の試みですが、ログにはその内容は表示されません。

デフォルトポートを変更すると、これらのボットの攻撃回数が減りますが、適切なセキュリティ対策(定期的なセキュリティ更新プログラムの適用、合理的に強力なパスワード、またはパスワード認証を無効にする)によってブロックされる最も洗練されていない攻撃者だけがイライラします。唯一の利点は、ログボリュームが減少することです。これが問題である場合は、次のことを検討してください。ホスト拒否または失敗2禁止代わりに接続速度を制限すると、帯域幅にも役立ちます。

デフォルトポートを変更すると、大きな欠点が1つあります。つまり、ファイアウォールの背後にログインする可能性が低くなります。ファイアウォールは、他のどのポートよりもサービスがデフォルトポートを通過できるようにする可能性が高くなります。 HTTPSサーバーを実行していない場合は、SSHがポート443でもリッスンすることを検討してください(またはポート443からの着信TCP要求をポート22にリダイレクト)。一部のファイアウォールはポート443でトラフィックを許可するため、デコードできません。 HTTPS。

関連情報