22 Анализ трафика (tcpdump wireshark) Работа с TLS
22 Анализ трафика (tcpdump/wireshark). Работа с TLS¶
Анализ трафика необходим для диагностики сетевых проблем, обеспечения безопасности, оптимизации сетевой производительности и других задач. tcpdump
и Wireshark
— два самых популярных инструмента для анализа сетевого трафика в Linux.
tcpdump
— это командный инструмент для захвата и анализа сетевых пакетов. Он позволяет просматривать данные, проходящие через сетевой интерфейс.
Функции:
- Захват трафика на определенном интерфейсе.
- Сохранение захваченного трафика в файл для последующего анализа.
- Фильтрация трафика по порту или IP-адресу.
- Вывод захваченных пакетов в читаемом формате. Фильтры BPF (Berkeley Packet Filter):
- Использование фильтров позволяет захватывать только интересующий трафик.
- Примеры фильтров: захват всех TCP-пакетов, UDP-пакетов, трафика на определенный порт, трафика от конкретного IP-адреса.
Wireshark
Wireshark
— это мощный графический анализатор сетевых протоколов, который позволяет захватывать и анализировать сетевой трафик.
Установка
sudo apt-get install wireshark # для систем на базе Debian/Ubuntu
sudo yum install wireshark # для систем на базе Red Hat/CentOS
Функции:
- Захват и визуализация пакетов в реальном времени.
- Фильтрация и декодирование протоколов.
- Анализ пакетов с использованием графического интерфейса.
- Возможность экспорта захваченных данных в различные форматы.Основные шаги работы с Wireshark:
Работа с TLS (Transport Layer Security)
TLS (Transport Layer Security) — это криптографический протокол, обеспечивающий безопасность передачи данных в сетях. TLS является продолжением SSL (Secure Sockets Layer) и используется для обеспечения конфиденциальности, целостности и аутентичности данных при их передаче.
Основные концепции работы с TLS:
Шифрование: ◦ TLS использует симметричное и асимметричное шифрование для защиты данных. ◦ Симметричное шифрование обеспечивает скорость, а асимметричное — безопасность обмена ключами.
Криптографические алгоритмы: ◦ Используются алгоритмы такие как AES, RSA, ECDSA, SHA для шифрования данных и создания цифровых подписей.
Цифровые сертификаты: ◦ Сертификаты X.509 используются для аутентификации серверов и клиентов. ◦ Сертификат включает публичный ключ и информацию о владельце и эмитенте (CA).
Настройка TLS на веб-сервере:
nginx
: ◦ Установка и настройка TLS-сертификата с использованием серверного конфигурационного файла. ◦ Конфигурация для разрешения защищенных соединений и указания криптографических протоколов и шифров.
Установка и настройка TLS-сертификата:
sudo apt-get install nginx
sudo apt-get install certbot python3-certbot-nginx # Для использования Let's Encrypt
sudo certbot --nginx -d yourdomain.com
Пример конфигурации для nginx:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /var/www/html;
index index.html;
}
}
Apache
: ◦ Установка и настройка TLS-сертификата аналогично nginx. ◦ Конфигурация для разрешения защищенных соединений, управление протоколами и шифрами.
Установка и настройка TLS-сертификата:
sudo apt-get install apache2
sudo apt-get install certbot python3-certbot-apache # Для использования Let's Encrypt
sudo certbot --apache -d yourdomain.com
Пример конфигурации для Apache
<VirtualHost *:443>
ServerName yourdomain.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
SSLProtocol all -SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</