web-dev-qa-db-ja.com

サイトがハッキングされ、セキュリティに関するアドバイスを探しています

重複の可能性:
私のサーバーは緊急にハッキングされました

先週末、私の会社のサイトがハッキングされました。

彼らは金曜日の夜にそれを行うのに最も良いことをしたので、月曜日の朝にのみ攻撃に気づきました。面白いことに、より安定して安全であるはずだったので、最近WindowsからLinuxに切り替えました。図に行きます。はい、FirefoxとChromeでブラックリストに登録されました。

私はLinuxの専門家ではないので、将来このような問題を回避する方法についてアドバイスを求めています。システムを保護するためにどのような手順を実行しますか?パスワードが弱いようですが、ログインに数回失敗した後、Linuxがアカウントをブロックするべきではありませんか?彼らは20以上の組み合わせを試しました...

それに加えて、pingdomに似ているが、セキュリティに適用されるツール(またはサービス)を探しています。私のサイトがハッキングされたことがあれば、私に警告してください。そんなことですか?ハッキングモニター? :)

もう1つ、そのような問題についてクライアントにどのように通知しますか?あなたはただ無視して、誰も気づかないことを望みますか?何が起こったのかを説明するメール?

*すでに悪い私の会社へのより悪い露出を避けるために匿名として投稿する...

Pingdomに似ているが、セキュリティに適用されるサービスに関しては、Sucuriの無料のネットワーク整合性モニターをお勧めします。

それは何をしますか? Webサイト(およびドメイン)をリアルタイムで監視し、改ざん、ブラックリストへの登録、ハッキングなどが発生した場合に警告します。リンク: http://sucuri.net

名前が示すように、それはあなたの「インターネット」プレゼンスの完全性を監視します。

*免責事項:私はそれを開発しました。

2
sucuri

オペレーティングシステムは「安定していて安全」ではありません。適切に構成され、適切に管理されたインフラストラクチャは、そうでないインフラストラクチャよりも安全にすることができますが、セキュリティはブール値ではありません。特定の製品/テクノロジーを使用して「セキュリティを購入」または「セキュリティをインストール」することはできません。

あなたは「Linuxの専門家」ではないので、セキュリティの観点から、サーバーを適切に構成できる人を雇う/契約する必要があることは理にかなっています。それはあなたが1つをして「行われる」ことができるものではありません。新たに発見された脆弱性とバグのためのパッチがリリースされています常に。追いつく仕事をしている従業員がいない場合は、サーバーコンピュータを維持するために、ある種の「マネージド」サービスに加入することを検討する必要があります。これは継続的な懸念事項であり、システム全体の予算/ TCOに含める必要があります。

ある程度「ハッキングモニター」があります。侵入検知システム(IDS)、侵入防止システム(IPS)などがそのニッチを埋めます。しかし、それは軍拡競争です。既製のIDS/IPS製品を購入し、誰かにお金を払って入れてから、座ってしっかりと安心することはできません。オペレーティングシステムソフトウェアとアプリケーションソフトウェアにパッチを適用するのと同じように、「ハッキングモニター」インフラストラクチャも最新の状態に保つ必要があります。

あなたは弁護士に相談する必要があります。法律によりそのような出来事を開示しなければならない場所にクライアントがいる場合があります。そうでない場合でも、データが危険にさらされているかどうかをクライアントに知らせないことは、私には確かにぬるぬるしているように思われます。ハックを開示することで「あなたの良い名前」にダメージがありますが、後でそれを隠そうとしたことが明らかになった場合、特にそれを行うことで法律に違反している場合は、そのダメージが多数あります。

実用的なもの:

ハッキングされたマシンはゴミです。それらは、正常なバックアップからリロードする必要があります。さらに、クリーンなOSバイナリからリロードして、データを再入力する必要があります。これは「マルウェアのクリーンアップ」に似ていますが、さらに悪い点があります。これは、攻撃者がソフトウェアの馬鹿げた部分ではなく考えている可能性がはるかに高いためです(ただし、ボットによってハッキングされた可能性があります)。サーバーに「裏口」がある可能性は現実的です。

サーバーコンピュータ上のデータは、一般に公開されていると見なす必要があります。今ではなくても、そうかもしれません。

ハッキングされたコンピューターに保存されている他のコンピューターへの資格情報はすべて公開されます。他のコンピューターへのパスワードの変更を開始します[〜#〜] now [〜#〜]そして他のコンピューターが無傷であることを確認します。 (Tripwireを使用している人はもういますか?この機会にそれは確かに素晴らしいでしょう...)

あなたは混乱しています。それをうまく扱うと、あなたはより良く出てくるでしょう。扱いが悪いと、次回は会社がないかもしれません。

将来的には、強力な認証と暗号化された管理プロトコル(SSH、公開鍵ベースの認証)を使用する必要があります。契約を結んでいる場合でも、正しい軌道に乗るために「Linuxエキスパート」を雇うことをすでに提案しました。私はそれを十分に奨励することはできません。この違反で、それがどのように「それ自体で支払われた」かを見ることができます。

すべての一般的なものが適用されます:

  • 必要のないサービスを実行しないでください。
  • デフォルトの資格情報を無効にします。
  • 最小特権の原則に従います。
  • テスト済み、オフライン、およびオフサイトのバックアップ。
  • 違反の開示に関する法的要件を把握します。
  • システム/アプリケーションを最新の状態に保ちます。
23
Evan Anderson

パスワードが弱いようです...

...より安定して安全であると考えられていたため、最近WindowsからLinuxに切り替えました。図を参照してください。

弱いパスワードはプラットフォームに依存しません。

Linuxは、多くのシナリオでWindowsよりも柔軟性が高いため、特定の状況が発生したときに、より安全にすることができます。本当の理由なしにWindowsからLinuxに切り替えることは、特に環境に慣れていない場合は、悪いことです。インターネットに接続しているサーバーを実行していて、そのサーバー上のサービスがWindows、Solaris、RHEL、またはBSDのいずれであるかを理解していない場合は、問題が発生しています。

クライアントに伝える方法については、データが公開されているか、公開されている可能性がある場合は、AT ALL、できるだけ早く電話してください。メールはありません。消えることはありません。座っている電話を使用してください。君の机の上に。

法的な影響に加えて、あなたは彼らが何らかの方法で他の人にサービスを提供するために間違いなく使用していたサービスを彼らに提供していました。潜在的なデータ侵害を開示して、それに応じてワークフローを調整し、影響を受ける可能性があることを下流の誰かに通知できるようにするのは、彼らの責任です。

19
MDMarra

Linuxは、他のプラットフォームと同様に、システムを管理する人と同じくらい安全です。 Windowsの経験が豊富な場合は、Linuxへの移行はおそらく最善のアイデアではありませんでした。パブリックインターネットと内部ネットワークの間のファイアウォールを含む環境を保護し、自宅から内部ネットワークに接続するためのVPNを保護するための正しい手順を実行すれば、WindowsをLinuxと同じくらい安全に設定できます。

違反のレベルに応じて、顧客に何を伝えるかが決まります。顧客データが取得されなかった場合は、何が起こったかについての基本的な情報を顧客に提供できます。ただし、顧客データにアクセスした場合は、会社の州および顧客の州に応じて、いくつかの州通知法を処理する必要があります。

14
mrdenny

面白いことに、最近WindowsからLinuxに切り替えたのは、より安定していて安全であるはずだったからです。図に行きます。

確かに、図を見てください。経験の浅いシステムに切り替えて、お尻に噛まれました。生涯自転車に乗った後にハイパワーのスポーツカーを購入した場合も同じことが起こります。それはより強力かもしれませんが、悪意のある人にとっては危険でもあります。

パスワードが弱いようですが、ログインに数回失敗した後、Linuxがアカウントをブロックするべきではありませんか?彼らは20以上の組み合わせを試しました...

denyhosts などのアドオンを使用して、そうするように簡単に構成できます。そのようなものをインストールすることを知っていることは、使用しているシステムの専門家であることが役立つビットの1つです。

それに加えて、pingdomに似ているが、セキュリティに適用されるツール(またはサービス)を探しています。私のサイトがハッキングされたことがあれば、私に警告してください。そんなことですか?ハッキングモニター? :)

侵入検知アプリはいくつかありますが、サーバーをクラックする新しい方法が常に登場しています。侵入の成功を検出するのに100%信頼できるものはありません。

もう1つ、そのような問題についてクライアントにどのように通知しますか?あなたはただ無視して、誰も気づかないことを望みますか?何が起こったのかを説明するメール?

正直さは、長期的にはより良いサービスを提供します。正直で、積極的で、コミュニケーションをとる企業は、顧客から物事を隠す企業よりも厄介な嵐に見舞われます。停止は生き残ることができますが、あなたにお金を払っている人々が詐欺を感じた場合は生き残れません。

11
ceejayoz

サイトのハッキングは、基盤となるオペレーティングシステムとはほとんど関係がなく、サイトで実行されているコードとは関係があります。必要なのは1回のSQLインジェクションだけで、あなたは歴史です。

あなたはGoogleによってブラックリストに登録されているので、誰かがサーバーに悪意のあるスクリプトを設定したと想定します。その場合は、 mod_security のようなものを試してみてください。構成するのは簡単ではありませんが、それは試みに値します。ただし、コードにこの種の脆弱性がないことを確認することが最も重要です。

一方、オペレーティングシステムの脆弱性である場合は、まだ使用していない場合は、ディストリビューションをFreeBSD、CentOS、RHELなどのWebサービス用のものに切り替えてみてください。 SELinuxを強化するか、ある種の侵入検知/防止システムを追加することも検討してください。

多くの場所で、個人情報が潜在的に危険にさらされた場合にセキュリティ違反を顧客に通知することが法的要件であるため、それを調査することをお勧めします。

あなたの特定の状況に対してあなたの質問にもっと答えるのに、もう少し詳細が役立つでしょう。

Ehtyar。

6
Ehtyar

他の人はすでに重要なポイントのほとんどをカバーしています。しかし、彼らが言ったことに加えて、セキュリティはチェーンの中で最も弱いリンクと同じくらい強力です。これはほとんどの場合、関係する人的要素です。

これがブルートフォースssh攻撃で​​あると仮定すると、20回の試行しかかからなかった場合、パスワードはほとんど存在しませんでした。これらの攻撃はほとんどの場合自動化された攻撃であり、次のiptableルールを使用して簡単にブロックできます。

Sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH  
Sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --rttl --name SSH -j DROP

これらのルールは、eth0のIPアドレスから60秒で3つのssh接続を許可し、そのIPアドレスを60秒間ブロックします。これは通常、自動攻撃を別のホストに移動させるのに十分です。

再起動時に、これらのiptableルールが復元されていることを確認する必要があります。ディストリビューションが異なれば、その方法も異なるので、グーグルで検索するか、実行しているディストリビューションをお知らせください。誰かがその情報を提供してくれます。

6
3dinfluence

特定の仕事にLinuxを使用しているWindows管理者として、あなたが非常に根本的な間違いを犯したことを付け加えたいと思います。 Linuxは安定性と信頼性に定評があるため、OSを切り替え、責任を引き継ぐことを期待していました。私のテストマシンでは、現在のWindowsパスワードを解読するのに12時間近くかかります。 Linuxパスワードはテストしていませんが、同じように複雑です(ただし同じではありません)。重要なのは、OSの安全性が高いという理由だけで、私はそれほど対策を講じないということです。どちらかといえば、私はLinuxにさらに注意を払っていますなぜなら私はLinuxの経験が少ないので、何かを見落としがちです。

6
John Gardeniers

私はいつもアドバイスが好きでした。すべてのポートを閉じ、いずれにしてもトラフィックをまったく通過させないでください。次に、必要に応じて、必要なポートのみを徐々に開き、それ以上は開きません。

これは必ずしも安全を維持するわけではありませんが、システムに精通し、最低限のものだけが開いていることを保証します。

1
cop1152

「ハッキング」の正確なタイプを指定しなかったので、SSHブルートフォースによって侵害されたと推測できます。一般的なヒントは次のとおりです。

  • SELinuxまたはAppArmorを使用して、プロセス、特にApacheとmysqlごとのアクセスを制限します
  • Apacheでmod_evasiveとmod_securityを使用する
  • デフォルトのポートでSSHを実行しないでください
  • Sshを介したrootログインを無効にし、非常に強力なrootパスワード(6uF3ceDa7u、bRusteth6F、breGUfE4aT、7Ub8R9Thenなど)を使用します。
  • パスワードログインを許可しない( キーを使用 )-または-ssh-guard、ブラックリスト、およびiptableルールを使用して繰り返しアクセスを停止します
0
LiraNuna

将来の攻撃を回避するために提供された具体的なアドバイスのさまざまな部分について、いくつかのコメントを投稿しました。 1年ほど前に同じような状況に陥っていました。確かに攻撃を分析してセットアップを改善することは重要ですが、今のところimoは実行中のサーバーについて心配する必要があります。あなたは彼らに何でも信頼できることをどうやって知っていますか?できない場合は、それらを拭く必要があります。

0
theotherreceive