web-dev-qa-db-ja.com

DDoS攻撃により、サーバーへのSSHの侵入を阻止できますか?

DDoS攻撃により、サーバーへのssh攻撃を阻止できますか?

上司は「いいえ」と言っているので、サーバーに問題があるはずです。ただし、robots.txt.htaccessを書き換えても、4〜5個の異なるボットにボットされています。

私のPHP男はそのボットを信じており、私は同意する傾向がありますが、攻撃によって私が自分のサーバーにSSH接続するのを防ぐことは可能ですか?

3
Rick

DDoS攻撃はサーバーリソースを圧倒するように設計されているため、絶対にそうです。つまり、負荷の平均が急上昇し、メモリが最大になってディスクにスワップアウトするようになります。そして、それはポート22への単なる攻撃である必要はありません。私は、上記のシナリオのために到達不能になる大量のWebサーバーを管理しました。

このような問題の最善の解決策は、SSHよりもマシンに近いリモートコンソールを介してログインすることです。 Javaベースの端末を起動するオプションがあるクラウドサーバーのセットアップのように。しかし、それはもちろん、そのようなアクセス権を持っていることに基づいています。

もう1つの方法は、サーバーがDDoS攻撃を受けている間、SSH接続が発生するのを辛抱強く待つことです。時々それは動作します。しかし、時々私はいくつかの窓を開けて、どれが最初に通り抜けるかを見なければなりません。

EDIT:また、システムがリソースを使い果たしているかどうかを事前に検出したい場合は、 Monit を使用することを強くお勧めします。私はMonitでこのようなスクリプトを使用しています。このスクリプトは、何かが起こったときに電子メールを送信することに加えて、2つのことを行います。 1つは、Webサーバーが到達不能(別名:ダウン)であるかどうかを検出し、自動的に再起動します。しかし、おそらくあなたにとってはloadavg領域が最も理にかなっています。ここでは7に設定していますが、サーバーを再起動して接続をフラッシュし、負荷平均が常に7以上の場合は、サーバーを制御に戻そうとします。 Monitの使用などを行うことで、DDoSが発生したときに確実に把握できるようになります。

check process Apache with pidfile /var/run/Apache2.pid
        start "/etc/init.d/Apache2 start"
        stop  "/etc/init.d/Apache2 stop"
        if failed Host 127.0.0.1 port 80
                with timeout 15 seconds
        then restart
        if loadavg (1min) greater than 7
                for 5 cycles
        then restart
        alert [email protected] only on { timeout, nonexist, resource }
12
JakeGould

はい、しかし他の原因もあります。

最初にiowaitを除外したと想定しているので、次の提案は、DNSトラフィックのパケットキャプチャを実行し、DNS逆引き参照が正しく機能していることを確認することです。極端なシナリオでは、 認証が成功した場合でも、DNS障害によってログインプロセスがタイムアウトになる可能性があります 。 (もちろん、UseDNS no に設定されています sshd_config、これは完全に議論の余地があります)

他の人がコメントで強調しているように、DDoSがロックアウトの原因であると考える理由についての調査を提供することが重要です。この問題には多くの潜在的な原因がある可能性があるため、1つの結論にジャンプしないことが重要です。

0
Andrew B

DDOS攻撃の受信側にいて、ホスティング業界で働いていて、ルーティングされた被害者IPがnullである人から、そうです、DDOSは、サーバー全体とそれが提供するすべてのサービス、および不十分に設計されたネットワークとすべてをダウンさせる可能性がありますそのネットワーク上のサーバー。

ボットがサーバーをダウンさせる可能性もあるのは事実です。そのため、ボットがサイトをクロールする頻度を減らすために、 robots.txt を使用して適切なcrawl-delayを設定する必要があります(一部のボットはcrawl-delayを無視します。ブロックする必要があります。たとえば、Baiduはcrawl-delayを無視しますが、サイトでは無視しないと言っています)。

.htaccessファイル内のRewriteRulesで悪意のあるボットをブロックできます。 Baiduをブロックする例を以下に示します。

RewriteCond %{HTTP_USER_AGENT} Baiduspider/2\.0
RewriteRule ^.* - [R=404,L]
0
user101130