そんなことはないだろう?:DDDDD
300を超えるWebサイトを運営していると、ときどきさまざまな緊急事態に見舞われることがあります。かなり熱くなることもありますが、完全に平凡な内容であることが多いですね。私のように、過去にプログラミングの誘惑に負けたことがあり、また、【プログラミングは苦痛】(http://borisovo.cz/programming-sucks-cz…
ウェブアプリケーションが普及すると、ハッカーにとって魅力的なターゲットになります。彼らの動機は、通常、ウェブサイト全体をダウンさせることではなく、その反対です。実は、ハッカーは、サーバー管理者であるあなたに全く気づかれないことを望んでいるのです。優秀なハッカーは何ヶ月も待って、ウェブサーバーを監視し、最も価値のあるもの、つまりあなたのデータを手に入れます。
ユーザーを保護するためには、すべてのデータを暗号化し、何重にも保護することが不可欠です。パスワードには、Bcrypt + salt, Argon2, PBKDF2, Scrypt などの低速関数を使用することができます。セキュリティ評価](https://pulse.michalspacek.cz/passwords/storages/rating#slow…)については、すでにMichal Spacekさんが書かれていますが、その記事に補足していただき、感謝します。サイトオーナーとして、プログラマーと議論する際には、適切なパスワードハッシュ化を主張する必要があります。そうでなければ、自分には関係ないと錯覚していた以前の多くの人たちと同じように、泣きを見ることになりますよ。
あるウェブサーバーのトラフィックがある閾値に達すると(チェコ共和国では、1日あたり約50人以上の訪問者)、どこからともなく一連の攻撃が向けられるようになることに気づいたのです。なぜなら、攻撃者はインフラのどの部分を攻撃するか選ぶことができ、ウェブサーバーの所有者であるあなたは、それをいち早く察知し、身を守り、次回の攻撃に備えなければならないのですから、簡単なことではありません。
例えば、先月は何回くらい攻撃があったのでしょうか?正確にご存知ですか?何人くらい擁護したんですか?あなたのサーバーにアクセスできる人はいますか?
今、誰かがあなたを攻撃しているとしたら?そして今...と、今度は......?
残念ながら、攻撃を認識するための万能な方法はありません。しかし、大きなアドバンテージを得ることができるツールがあるのです。
最近、一番効果があったこと。
実際、大企業でもXSS(クロスサイトスクリプティング)攻撃のような些細なことでミスを犯すことがあるのです。
問題は、誰かがあなたのウェブサイトを破ることがあるかどうかではありません。問題は、それがいつ起こるか、そしてそれに対処する十分な準備があるかどうかです。もしかしたら、ハッカーが何ヶ月も前からあなたのサーバーにアクセスしていて、あなたはそれを(まだ)知らないかもしれません。
ハッカーの仕業だとわかったときには、たいてい手遅れで、ハッカーは必要なことはすべてやり終えているのです。彼はサーバー上にマルウェアを配置し、マシンを少なくとも部分的に制御している可能性が非常に高いです。
これはカオスなタイプの問題であり、迅速に行動する必要があります。
これは攻撃の最終段階なので、個人的にはWebサーバーをインターネットから完全に切り離し、何が起こったのかを徐々に解明していくことをお勧めします。それに、サーバーが何か別のことを隠しているのかどうか、正確にはわからないでしょう。攻撃側には常に大きなアドバンテージがあります。
もし、最後に動作したバックアップをサーバーに戻すことになれば、攻撃者を大いに助けることになる。彼はすでにあなたのサーバーに侵入する方法を知っており、数時間後に再びそれを行うことを止めるものは何もありません。また、バックアップにはマルウェアなどのウイルスが含まれている可能性があります。
これは私のクライアントの間では非常に不評なオプションですが、私自身はいつも最初にWordPressサイトや、クライアントが更新しないセキュリティ脅威の多いシステムを完全に削除することをお勧めしています。例えば、1台のサーバーで2年以上前のサイトを30個ホストしている場合、そのうちの少なくとも1個は何らかの脆弱性を含んでいることが事実上保証されています。
もし、あなたが問題を理解していないのであれば、あなたの問題に対して深い知識を持ち、広い意味で物事を理解している適切な専門家に早い段階でコンタクトを取った方が良いでしょう。
倫理的な注意事項:*
セキュリティインシデントを起こしたクライアントのウェブサイトを管理している場合、そのクライアントに知らせる責任があります。もし何らかのデータ(パスワードなど、しかし多くの場合それ以上)が流出した場合、エンドユーザーにもパスワードが公になっていることを知らせ、どこでもパスワードを変更するようにしなければなりません。低速のハッシュ関数(例えば、Bcrypt + salt)を使用すると、攻撃者がパスワードを解読するのが著しく困難になります。(残念ながら、Bcryptパスワードは解読できる。自分のアカウントが流出したかどうかについての情報を定期的に受け取りたい場合は、Have i been pwned? に登録することをお薦めします。)セキュリティ侵害】(https://m.uoou.cz/vismo/zobraz_dok.asp?id_ktg…)の詳細については、OOOOのウェブサイトをご覧ください。
この半年で【アトミック・ハビッツ】(https://www.melvil.cz/kniha-atomove-navyky/)という本を読み終え、目から鱗が落ちる思いでした。この本には、毎日1%ずつ改善していくことで、長い目で見たときに大きな効果が得られるプロセスが書かれています。
私は、技術負債の様々な段階の企業や個人から相談を受けるので、最悪なことをまとめておきたいと思います。
noindex
と nofollow
を含む必要があります。競合他社に知られてはならない機密性の高いコンテンツは、パスワードで保護する必要があります。この他にも多くの脆弱性があり、プロジェクトによって問題点は様々です。もし、簡単なサーバー監査が必要なら、Maldetを使い、その後、適切な専門家を雇ってフルサイト監査を行うことをお勧めします。セキュリティ上の理由だけでなく、そのような理由もあります。
セキュリティエンジニアは海の中のプラスチックのようなもので、永遠に続くだけです。慣れることです。
また、自然界ではほとんどの場合、反作用の原理が使われていることにお気づきでしょう。つまり、特定の環境で何かが起きると、周囲の生物はそれに対してさまざまな反応を示すのです。この方法には多くの利点がありますが、1つだけ大きな欠点があります。
考える人(デザイナー、開発者、コンサルタント)としての大きな強み、それは行動力、つまり大きなリスクの一定部分を事前に把握し、未然に防ぐことを積極的に行うことです。すべての失敗を防ぐことはできないかもしれませんが、少なくとも結果を軽減することはできますし、問題を早期に発見して対応するための制御機構を構築することはできます。
ほとんどの攻撃は長期間にわたって行われるため、ログを取っておけば、通常は問題を発見するのに十分な時間があります。
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | ja