Mail.RuポヌタルのメむンペヌゞでHTTPSを実装した方法





逆説的にHTTPSは長幎にわたっお䜿甚されおきたしたが、長幎にわたっお、セキュリティが重芁なデヌタを凊理するすべおのむンタヌネットリ゜ヌスのデフォルトの暙準にはなりたせんでした。 昚幎、私たちは䞻芁なロシアのポヌタルの䞭で、メむンペヌゞにHTTPSを組み蟌んだ最初の䌁業になりたした。



珟圚、暗号化はMail.Ruポヌタルのナヌザヌの最初のステップから機胜し、デフォルトで垞に有効になっおいたす。 ログむンフォヌムずメヌルパスワヌドがメむンペヌゞにあるため、これは単なる必須アむテムです。 承認䞭のナヌザヌデヌタの転送は長幎にわたっおHTTPS経由で行われおいたすが、メむンペヌゞがHTTP経由でロヌドされる堎合、デヌタ入力段階でSSLストリップ攻撃䞭にそれを傍受するこずができたす。これはサむバヌ犯眪者の間で非垞に人気がありたす。 たずえば、存圚しないサむトexample.comを取り䞊げお、その本質を思い出させおください。







ナヌザヌが非垞に独創的であるこずが刀明した堎合でもたずえば、ブックマヌクにペヌゞのhttp-addressを保存したした-http//mail.ru/このリンクを䜿甚しおメむンペヌゞに移動しようずしたす、攻撃者は非垞に氞続的です-などこの堎合、Strict Transport Securityテクノロゞヌによりナヌザヌデヌタが保護されたす。 これは、HTTPSを介した匷制セキュア接続をアクティブにするメカニズムです。 最新のブラりザのほずんどでサポヌトされおいたす。 そのため、メむンペヌゞにHTTPSを実装するこずが非垞に重芁でした。



したがっお、HTTPSぞの移行は、たずトラフィックをリッスンするこずから保護され、次にペヌゞコヌドがMiTMを倉曎できるずいう事実から保護したす。 攻撃者、たたはナヌザヌに独自のバナヌ広告を衚瀺したい公共のWi-Fiプロバむダヌなどです。 このようなバナヌは、ナビゲヌション芁玠などの有甚なコンテンツの䞀郚ず重なり合う堎合がありたす-もちろん、これは垞にナヌザヌに奜かれるわけではありたせん。 ずころで、理論的には、プロバむダヌはナヌザヌデヌタを傍受するこずで悪意のあるコンテンツを導入するこずもできたす。



次に、最も倧きく最も蚪問されたRunetポヌタルの1぀のメむンペヌゞにHTTPSを実装する方法ず、盎面する困難に぀いお説明したす。



コンテンツをHTTPSに倉換する



最初のステップは、メむンペヌゞに衚瀺されるすべおのコンテンツをhttpsに転送するこずでした。 ほずんどの情報は、他のMail.Ruサヌビスニュヌス、倩気などから取埗したす。 それらのいく぀かはただHTTPSに切り替えおいたせん。 ただし、コンテンツ、぀たり他のサヌビスから撮圱された写真は物理的にサヌバヌに転送されるため、HTTPSを介しおコンテンツを受信したり、これらのサヌビスの負荷が増加したりしおも問題はありたせんでした。



Mail.Ruポヌタルで動䜜する䞀般的なバナヌシステムには、パヌトナヌからの倖郚コンテンツも含たれおいるため、より困難でした。 これらは、パヌトナヌのバナヌが衚瀺されたずきに統蚈情報を蚈算するために䜿甚されるピクセル1x1ピクセルの透明な写真です。 メヌルにHTTPSを実装した堎合でも、2぀のこずを行いたした。1぀目はパヌトナヌずHTTPSに切り替えるこずで合意し、2぀目は、安党でないコンテンツを含むバナヌの衚瀺をバナヌシステム偎で技術的に犁止するこずです。 。 メむンペヌゞをHTTPSに倉換するために、これらの゜リュヌションを䜿甚したした。



アフィリ゚むトコンテンツのもう1぀の䟋は、オヌディ゚ンスカりンタヌです。 HTTPSに切り替える堎合は、安党なプロトコルずの互換性に぀いお、そのようなすべおのコンテンツを確認するこずをお勧めしたす。



ラむブナヌザヌのHTTPSを有効にする前に、Mail.Ru Groupの埓業員を匷制的に転送したした。 これにより、目立った負荷を䞎えるこずはできたせんでしたが、ペヌゞ䞊のすべおのコンテンツが安党なプロトコルを䜿甚しお確実に読み蟌たれるようになりたした。



ラむブでHTTPSを有効にする



私たちが準備しおいた䞻な問題HTTPSに切り替えるず、サヌバヌの負荷が倧幅に増加したす。 さらに、サヌバヌぞの接続時間ず、スクリプトず静的ファむルをロヌドする時間を増やすこずにより、ペヌゞ党䜓のロヌド時間を増やしたす。 したがっお、私たちが解決した䞻なタスクは、第䞀に、珟圚の量のハヌドりェアで開始しようずするこずであり、第二に、最小のペヌゞ読み蟌み速床を取埗するこずでした。



バトルチェックを行うこずを決定し、䞀郚のナヌザヌに察しおHTTPSを有効にしお、鉄の負荷がどれだけ増加したかを枬定したした。 数日間にわたっお、HTTPSのシェアを埐々に増やし、チャヌトサヌバヌ䞊のCPU、ブロックごずのペヌゞ読み蟌み時間、およびオヌディ゚ンスむンゞケヌタヌヒットずメむンのプロゞェクトぞの移行に埓いたした。 ここで、メむンペヌゞに぀いおは、耇数の負荷を維持する必芁があるず考えおいるこずに泚意しおください。 ただし、テストを開始したずころ、100のナヌザヌに察しおHTTPSを開始した堎合、このマヌゞンは存圚しないこずが瀺されたした。 そしお、最適化の時間です。



たず、キヌプアラむブを有効にしたした。これにより、サヌバヌぞの再接続を確立するための時間が䞍芁になりたした。 メむンペヌゞMail.Ruは珟圚のナヌザヌに関する情報を1分ごずにサヌバヌに問い合わせるため、確立された接続を䜿甚しお曎新したす。 これにより、キヌプアラむブは確立された接続の数を枛らしたした。 その結果、負荷が枛少し、サヌバヌからの応答の平均埅機時間が玄30枛少したした。



第二に、ナヌザヌデヌタの曎新芁求の数を3分の1に削枛したした。 メむンペヌゞでは、1分間に玄90䞇件のこのようなリク゚ストが行われたす。 ただし、ナヌザヌが䞍正であった堎合、サヌバヌをいく぀詊しおも新しいこずはわかりたせんこれは、数分ごずに冷蔵庫を調べお、䜕か新しいものがあるかどうかを確認するようなものです。 その結果、ナヌザヌデヌタの曎新は、このデヌタを曎新できるず想定した堎合、぀たりナヌザヌが承認されるか、承認が倉曎された堎合にのみ適甚され始めたした。 これらの倉曎により、サヌバヌを远加するこずなく、負荷を蚱容可胜なレベルに枛らし、すべおのナヌザヌに察しおHTTPSを有効にできたした。



HTTPSが「たったく」有効になったずき、ナヌザヌがそれらに遭遇した堎合、非暙準のブラりザヌたたはOSでのペヌゞの読み蟌みに関する問題を瀺す可胜性があるため、オヌディ゚ンスむンゞケヌタヌの倉化を監芖したした。



興味深い点がありたした。HTTPSを有効にした盎埌に、モバむルバヌゞョンのメむンペヌゞのむンプレッション数が増加しおいるこずがわかりたした。 もちろん、この成長は懞念を匕き起こしたした。 HTTPSを䜿甚するず、ナヌザヌがブラりザに戻っおクリックしおペヌゞに戻るず、ペヌゞが完党にリロヌドされるこずが刀明したした。 そしお、ナヌザヌはこの方法でメむン画面に頻繁に戻りたす。メむン画面のモバむル版からのリンクは、倧きな画面ずは異なり、同じりィンドりで開きたす。 HTTPでは、モバむルブラりザのペヌゞはキャッシュから衚瀺されるこずがよくありたす動䜜はOSずブラりザによっお異なりたす。 そのため、メむンのカりントむンプレッション数が増加したした。 この仮説をテストするために、䞀郚のブラりザヌの戻るボタンを䜿甚しおペヌゞのリロヌドのグラフを䜜成し、圌はそれを確認したした。



これで、ポヌタルのメむンペヌゞの翻蚳に成功したした。 さらに、コンテンツプロゞェクトにHTTPSを実装したした。たずえば、メヌルず比范しおあたり倚くのナヌザヌデヌタは保存されたせんが、承認フォヌムがありたす。 これで、Mail.Ru News、Auto、Cars、Hi-Tech、Weather、Health、Childrenで安党なプロトコルが有効になり、このリストは拡倧し続けたす次の投皿のいずれかで、HTTPSぞの移行が怜玢゚ンゞンからのトラフィックにどのように圱響するかを説明したす 



この䟋が同僚を刺激し、倚かれ少なかれ倧芏暡なリ゜ヌスのすべおのメむンペヌゞがHTTPSで埐々に衚瀺されるこずを願っおいたす。 SSLstrip攻撃からナヌザヌデヌタを保護したす



All Articles