денис аникин

1,053 views
1,017 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,053
On SlideShare
0
From Embeds
0
Number of Embeds
633
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

денис аникин

  1. 1. HTTPS на Почте@Mail.Ru
  2. 2. TCP/IPНе защищенныйпротокол!
  3. 3. Для чего нужен защищенный протокол? Local Airport Internet Wi-Fi Provider Man In The MiddleShopping Center Network at Wi-Fi work
  4. 4. Как работает защищенные соединение?Browser Шифрование Server
  5. 5. SOCKETSECURITYLAYERАссиметричноешифрование
  6. 6. Как работает SSLClient Server Public Key
  7. 7. Как работает SSL Random NumberClient Server
  8. 8. Как работает SSL Ключевые ДанныеClient Server
  9. 9. Сервер получает сертификат у Центра Сертификации (CA)Server Sertificate
  10. 10. Сертификат – это пара – открытый ключ и закрытый ключ Private Key Sertificate Public Key
  11. 11. Сервер – тот, за кого себя выдает? Root SertificateClient Public Key
  12. 12. Как настроить HTTPS?- В браузерах он уже есть- В серверах оно тоже уже есть (в nginx, в частности)- У сервера должен быть сертификат
  13. 13. Как настроить HTTPS?Browser Server Sertificate SS SS L L
  14. 14. Как настроить HTTPS? $ Sertificate
  15. 15. Так просто?- Заказать сертификат- Разложить его на сервера- Включить опцию на nginx- И это все???
  16. 16. Если ваш проект – это страница HelloWorld, то да, это все
  17. 17. А если это Почта@Mail.Ru, то не все!
  18. 18. Почему так? В чем отличие от HelloWorld? В двух аспектах1. Почта содержит много страниц (сотни), а HelloWorld всего одну2. Почта работает под гигантской нагрузкой – сотни тысяч HTTP RPS
  19. 19. Как эти аспекты влияют?1. Чтобы браузер не ругался, надо отдавать по HTTPS ВСЕ ДАННЫЕ2. SSL потребляет ресурсы процессора и память
  20. 20. Что мы делали1. Отдаем по HTTPS ВСЕ ДАННЫЕ- Дорабатывали баннерную систему (RB)- Поддержали SSL везде, где можем- Заменили все ссылки на протоколонезависимые в тоннах шаблонов- Разработали прокси картинок для SSL там, где мы не можем2. Выдерживаем нагрузку- Оптимизация- Тьюнинг настроек SSL
  21. 21. Баннерная система- Поддержка SSL- Переговоры с партнерами, чтобы поставляли SSLные пиксели- Автозапрет на создание не SSL-контента в SSL-ready проектах
  22. 22. Поддержка SSL везде, где можем- Почтовые веб-сервера (фронты)- Сервера, отдающие почтовую статику- Сервера логирования клиентских ошибок и клиентскойДиагностики (радары)- Сервера веб-агента- Сервера фотохостинга Моего Мира (для аватарок)- Сервера, отдающие атачи и их превью- Умная поддержка SSL на мобильных устройствах- Замена ссылок на протоколонезависимые- Перевод всех счетчиков на SSL (li.ru, top, tns)
  23. 23. Прокси картинок там, где не можем- Очень быстрая (асинхронный ввод-вывод, один поток)- Асинхронный DNS-лукап- Хождение по редиректам- Защита от злоумышленников (шифрование параметров запроса)
  24. 24. Оптимизация- Оптимизация кода (отдаем больше процессора под терминацию SSL)- Новый nginx- Увеличили количество воркеров нашего сервера auth c 2 до 4
  25. 25. Тьюнинг настроек SSL и nginx- Keepalive- SSL-Cache (ускоряет SSL-Handshake)- Оптимизация random (чтобы было меньше iowait)- Увеличили proxy_buffers в nginx с 4К до 16К- Изменили SSL Cypher – на первое место поставили RC4- Увеличили количество воркеров nginx с 4 до 8
  26. 26. СПАСИБО! Денис АникинТехнический Руководитель Почты@Mail.Ru anikin@corp.mail.ru

×