Привет, Хабр.Теги: #Сетевые технологии #брандмауэр #tls #шифрование #SSL #nat #сетевая инженерия #сеть #squidВ рамках курса
«Сетевой инженер» подготовил оригинальную статью.Также приглашаем всех посмотреть
открытый вебинар на тему «NAT — это не межсетевой экран» .Там участники вместе с экспертом рассмотрят NAT и его использование, а также поймут, почему NAT != межсетевой экран.
Дополнительно мы рассмотрим разные типы конфигураций для разных ситуаций.
Шифрование — самый популярный метод защиты сетевых коммуникаций.В статье пойдет речь о современных методах расшифровки данных, которые передаются при взаимодействии с веб-приложениями.
Примеры расшифровки будут рассмотрены в зависимости от стартовых условий (наличия ключей шифрования, сертификатов и уязвимостей в схеме передачи информации).
Проблемы и история
Давайте немного разберемся в проблемах и терминологии.Сегодня наиболее популярными технологиями, используемыми для шифрования данных, передаваемых по сети, являются SSL и TLS. Последний теперь является стандартом де-факто для взаимодействия по протоколу HTTPS. Кстати, именно в расшифровке этого протокола и будет заключаться практическая часть данной статьи.
Чтобы понять процесс расшифровки данных, мы должны знать такие понятия, как:
Описание каждого из упомянутых выше пунктов выходит за рамки данной статьи — так что если вы никогда не сталкивались с этими понятиями, то самое время найти их в Wiki и продолжить изучение статьи.
- Симметричная криптография
- Асимметричная криптография
- Сертификат
- Хранилище сертификатов
- HSTS — это технология, включенная в современные браузеры для контроля обязательного использования HTTPS для взаимодействия с сервером.
Упражняться
Практику мы проведем с использованием виртуальной лаборатории.Состав лаборатории:
Мы также будем использовать устройство iPhone SE для тестирования методов расшифровки трафика.
- Виртуальная коробка;
- Windows 8.1;
- Сервер Ubuntu 20.04
Все машины должны быть подключены к сети NAT. Именно такой тип подключения позволяет моделировать топологию сети, приближенную к реальной.
В схеме есть хосты, которые могут общаться друг с другом, и есть хост, который используется как точка доступа в Интернет. Давайте начнем практиковаться.
Расшифровка трафика с помощью SQUID
Squid — это программное обеспечение, которое эмулирует функцию кэширующего сервера.Его можно использовать для распределения нагрузки и протоколирования действий пользователей по протоколу HTTP в сети; кстати, это программное обеспечение также может работать с HTTPS. Давайте воспользуемся этой функцией.
К сожалению, использовать squid из репозитория не получится; вам нужно построить его самостоятельно:
Самый эффективный способ расшифровки взаимодействия сервера и клиента на сегодняшний день — добавить доверенный корневой сертификат, поэтому перед тем, как приступить к расшифровке, необходимо его сгенерировать:```sh wget http://www.squid-cache.org/Versions/v4/squid-4.5.tar.gz tar -xvzf squid-4.5.tar.gz cd squid-4.5 .
/configure --with-openssl --enable-ssl-crtd --prefix=/usr/local/squid make make all make install ```
```sh cd /etc/squid mkdir ssl_cert chown squid:squid -R ssl_cert chmod 700 ssl_cert cd ssl_cert openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout myCA.pem -out myCA.pem openssl x509 -in myCA.pem -outform DER -out myCA.der ```
Файл сертификата myCA.der можно использовать для браузера.Устанавливаем его в локальное хранилище и регистрируем сквид-сервер в качестве прокси.
Давайте настроим ссылку на только что скомпилированный файл кальмара:
```sh ln -s /usr/local/squid/sbin/squid /usr/local/bin/squid ```
Давайте инициализируем каталог для кеша:``` /usr/local/squid/libexec/security_file_certgen -c -s /var/lib/ssl_db -M 4MB chown squid:squid -R /var/lib/ssl_db ```
Измените конфигурацию:```sh nano /usr/local/squid/etc/squid.conf ```
Должен получить следующий листинг:```sh acl SSL_ports port 443 acl CONNECT method CONNECT acl manager proto cache_object http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localnet http_access allow localhost http_access deny all http_port 3128 cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256 coredump_dir /usr/local/squid/var/cache/squid refresh_pattern ^ftp:
-
Нужна Ли Вам Служба Мониторинга Веб-Сайтов??
19 Oct, 24 -
История Упаковки Windows
19 Oct, 24 -
Социальная Сеть Googlereaders
19 Oct, 24