デフォルトのsshポートを変更する理由


回答:


27

最も可能性の高い理由は、見つけられるすべての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

最近では、DenyHostsを使用して、何度も認証に失敗するIPをブロックしていますが、ポートを切り替えるのはおそらく同じくらい簡単です。事実上、この種のブルートフォース攻撃は、sshdが別のポートでリッスンしているかどうかを確認するためにスキャンを行うことはありません。


15

いいえ、それは不明瞭な戦術によるセキュリティです。

sshdのセットアップがポート22を試すだけの愚かなスクリプトに直面するのに十分でない場合、とにかく問題が発生します。

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

  • ユーザーが推測/総当たりするのが難しい適切なパスワードを使用していることを確認してください
  • パスワード認証を無効にして(少なくとも重要なアカウントの場合)、単に公開鍵認証を使用する
  • ssh-securityの問題とアップグレードに注意してください

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ポートを隠したり、S / N 比を再び増加させるために、自動ブロックソリューション(DenyHosts、Fail2ban、BlockHostsなど)を使用したい場合があります。

しかし、より良い選択肢が存在します。言う- -たとえば、sshdのログがノイズのみに書き込まれるようにデーモンあなたのsyslogを設定することができ/var/log/sshd-attempts.log、信号(すなわち、残りのsshdのログメッセージが)に書かれている/var/log/messages以前のようになど。

セキュリティ関連のシステムにさらに複雑さを追加することは、悪用のリスクを高めることも意味するため、自動ブロックツールの展開は慎重に検討する必要があります。そして実際、長年にわたり、各DenyHostsFail2banおよびBlockHostsについて複数のDoS脆弱性レポートがあります


4
「あいまいさによるセキュリティだ」ということには本当に同意しません。この場合、その答えはよくある誤acyだと思います。@Michaelの推論は、一般に、他の場所に置くより良い理由です。ほとんどの場合、スクリプト化されたすべてのボット攻撃を取り除くだけです。必ずしもあなたがそれらを恐れているという意味ではありません、または決意のある攻撃者に対して効果的であると考えているわけではありません。私は彼らが実際に侵入することを心配したことはないことを知っています。しかし、すべてのログの残骸は迷惑でした。
xenoterracide

1
@xenoterracide:ログファイルの読みやすさだけに関心がある場合は、ポートを不明瞭な戦術として変更する代わりに、ノイズを除外する他のより良い代替手段があります。質問の一部ではなかったIPブロッキングに関して:セキュリティ関連のシステムに複雑さを追加することは、悪用のリスクを高めることにもなることに注意してください。たとえばseclists.org/fulldisclosure/2007/Jun/121 ossec.net/main/attacking-log-analysis-toolsを検討してください。はい、DenyHostsはこの影響を受けました。
maxschlepzig

1
読みやすさだけではありません。適切に文書化されたポート変更は、不明瞭によるセキュリティではありません。
xenoterracide

4

SSHポートの変更は、ほとんどセキュリティシアターです。それはあなたに何かをしたという曖昧な感覚を与えます。ドアマットの下にSSHポートを隠しました。

インターネット上でSSHサーバーを実行している場合、ログには、古いバージョンのサーバーで愚かに弱いパスワード、弱いキー、および既知のエクスプロイトを探しているボットからのログイン試行の失敗が多数表示されます。失敗した試行は、失敗した試行です。あなたがどれだけ脆弱かを評価する限り、それらはまったく無関係です。心配する必要があるのは、侵入の試みが成功したことであり、ログにはそれらが表示されません。

デフォルトのポートを変更すると、そのようなボットによるヒット数は減少しますが、それはまともなセキュリティ(定期的に適用されるセキュリティ更新、適度に強力なパスワードまたは無効化されたパスワード認証)によって阻止される最も洗練されていない攻撃者を阻止するだけです。唯一の利点は、ログの量を減らすことです。それが問題である場合は、代わりに接続速度を制限するためにDenyhostsFail2banのようなものを検討してください。これにより、帯域幅も改善されます。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.