денис аникин
-
Upload
kuchinskaya -
Category
Documents
-
view
803 -
download
4
Transcript of денис аникин
HTTPS на Почте@Mail.Ru
TCP/IP
Не защищенныйпротокол!
Для чего нужензащищенный протокол?
Airport Wi-Fi
Man In The
Middle
Local Internet Provider
Shopping Center Wi-Fi
Network at work
Как работает защищенные соединение?
Browser Шифрование Server
SOCKETSECURITYLAYER
Ассиметричное шифрование
Как работает SSL
ServerClient
PublicKey
ServerClient
RandomNumber
Как работает SSL
ServerClient
КлючевыеДанные
Как работает SSL
Сервер получает сертификат у Центра Сертификации (CA)
CASertificateServer
Сертификат – это пара – открытый ключ и закрытый ключ
Sertificate
PublicKey
PrivateKey
Сервер – тот,за кого себя выдает?
PublicKey
Client
RootSertificate
Как настроить HTTPS?
- В браузерах он уже есть- В серверах оно тоже уже есть (в nginx, в частности)- У сервера должен быть сертификат
Как настроить HTTPS?
Browser Server SertificateSSL
SSL
Как настроить HTTPS?
CA Sertificate
$
- Заказать сертификат- Разложить его на сервера- Включить опцию на nginx
- И это все???
Так просто?
Если ваш проект – это страница HelloWorld, то да, это все
А если это Почта@Mail.Ru, то не все!
Почему так? В чем отличие от HelloWorld?
В двух аспектах
1. Почта содержит много страниц (сотни), а HelloWorld всего одну2. Почта работает под гигантской нагрузкой – сотни тысяч HTTP RPS
Как эти аспекты влияют?
1. Чтобы браузер не ругался, надо отдавать по HTTPS ВСЕ ДАННЫЕ2. SSL потребляет ресурсы процессора и память
Что мы делали
1. Отдаем по HTTPS ВСЕ ДАННЫЕ- Дорабатывали баннерную систему (RB)- Поддержали SSL везде, где можем- Заменили все ссылки на протоколонезависимые в тоннах шаблонов- Разработали прокси картинок для SSL там, где мы не можем
2. Выдерживаем нагрузку- Оптимизация- Тьюнинг настроек SSL
Баннерная система
- Поддержка SSL- Переговоры с партнерами, чтобы поставляли SSLные пиксели- Автозапрет на создание не SSL-контента в SSL-ready проектах
Поддержка SSL везде, где можем
- Почтовые веб-сервера (фронты)- Сервера, отдающие почтовую статику- Сервера логирования клиентских ошибок и клиентскойДиагностики (радары)- Сервера веб-агента- Сервера фотохостинга Моего Мира (для аватарок)- Сервера, отдающие атачи и их превью- Умная поддержка SSL на мобильных устройствах- Замена ссылок на протоколонезависимые- Перевод всех счетчиков на SSL (li.ru, top, tns)
Прокси картинок там, где не можем
- Очень быстрая (асинхронный ввод-вывод, один поток)- Асинхронный DNS-лукап- Хождение по редиректам- Защита от злоумышленников (шифрование параметров запроса)
Оптимизация
- Оптимизация кода (отдаем больше процессора под терминацию SSL)- Новый nginx- Увеличили количество воркеров нашего сервера auth c 2 до 4
Тьюнинг настроек SSL и nginx
- Keepalive- SSL-Cache (ускоряет SSL-Handshake)- Оптимизация random (чтобы было меньше iowait)- Увеличили proxy_buffers в nginx с 4К до 16К- Изменили SSL Cypher – на первое место поставили RC4- Увеличили количество воркеров nginx с 4 до 8