Безопасность и шифрование: SSL/TLS и Firewall

Nov, 1, 2025

🔒 Безопасность и шифрование

Современные вычислительные системы работают в условиях постоянных сетевых взаимодействий, где конфиденциальность и целостность данных являются критически важными параметрами.
Два ключевых столпа сетевой безопасности — шифрование трафика (TLS) и сетевой фильтр (Firewall).


🧩 1. SSL/TLS и сертификаты

🔹 Что такое SSL и TLS

SSL (Secure Sockets Layer) и его преемник TLS (Transport Layer Security) — это криптографические протоколы, обеспечивающие:

  • Конфиденциальность — данные передаются в зашифрованном виде.
  • Целостность — исключается возможность незаметной подмены данных.
  • Аутентификацию — подтверждение подлинности сервера (а при необходимости — и клиента).

📘 Простыми словами:
Когда ты открываешь https://example.com, браузер и сервер договариваются о зашифрованном соединении, чтобы никто не мог подслушать или изменить данные.


🔹 Как работает TLS (упрощённо)

  1. Клиент (браузер) сообщает, какие версии TLS и наборы шифров он поддерживает.
  2. Сервер выбирает алгоритм шифрования и отправляет свой цифровой сертификат.
  3. Браузер проверяет сертификат:
    • подпись центра сертификации (CA),
    • срок действия,
    • доменное имя.
  4. Создаётся общий сеансовый ключ (через Diffie–Hellman или RSA).
  5. Все дальнейшие данные передаются в зашифрованном виде.

🔹 Что такое сертификат

Цифровой сертификат X.509 — это своего рода паспорт домена, содержащий:

  • доменное имя и владельца;
  • срок действия (обычно 90–365 дней);
  • публичный ключ;
  • подпись центра сертификации (CA).

🔍 Проверка сертификата:

openssl s_client -connect example.com:443
openssl x509 -in cert.pem -text -noout

🔹 Центры сертификации (CA)

Certificate Authority (CA) — доверенная организация, подписывающая сертификаты.
Примеры: Let’s Encrypt, DigiCert, GlobalSign, Sectigo.

🧠 Браузер при проверке сертификата удостоверяется, что:

  • сертификат подписан доверенным CA;
  • не истёк срок действия;
  • домен совпадает с реальным адресом сайта.

🔹 Цепочка доверия (Chain of Trust)

Браузер проверяет всю иерархию сертификатов:

Root CA  Intermediate CA  Server Certificate

🧩 Пример:
Let’s Encrypt выдаёт сертификаты, подписанные R3, который в свою очередь подписан ISRG Root X1.


🔹 Самоподписанные сертификаты

Self-signed certificate создаётся вручную без участия CA.
Применяется для тестовых или внутренних сервисов (Prometheus, Grafana, API).

Пример создания:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

Браузеры при подключении выдают предупреждение

«Соединение не защищено»
так как такой сертификат не подписан доверенным CA.


🔥 2. Firewall (Брандмауэр)

🔹 Что такое Firewall

Брандмауэр (Firewall) — механизм сетевой фильтрации, контролирующий прохождение пакетов.
Он действует как «охранник», пропуская только разрешённый трафик и блокируя всё остальное.


🔹 iptables и цепочки (chains)

iptables — классическая система фильтрации пакетов в Linux, использующая подсистему netfilter.

Основные таблицы:

  • filter — фильтрация пакетов;
  • nat — трансляция адресов (маскарадинг, порт-форвардинг);
  • mangle — модификация пакетов;
  • raw — низкоуровневые операции.

Главные цепочки:

ЦепочкаОписание
INPUTВходящие пакеты в сервер
OUTPUTИсходящие пакеты из сервера
FORWARDПакеты, проходящие через сервер

Подробнее


🔹 nftables — современная альтернатива iptables

nftables — новый фреймворк фильтрации, заменяющий iptables, arptables и ip6tables.
Он объединяет правила IPv4 и IPv6 и использует более лаконичный синтаксис.

Пример:

nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0; policy drop; }
nft add rule inet filter input tcp dport {22,80,443} accept
nft add rule inet filter input ct state established,related accept
nft list ruleset

📘 Преимущества:

  • Единый интерфейс nft;
  • Поддержка IPv4 и IPv6;
  • Повышенная производительность и удобство конфигурации.

🔹 ufw — упрощённый интерфейс

ufw (Uncomplicated Firewall) — надстройка над iptables/nftables.
Подходит для быстрых DevOps-настроек безопасности, особенно в Ubuntu.

ufw enable
ufw allow 22
ufw allow 80,443/tcp
ufw deny 25
ufw status verbose

🔗 Рекомендации к изучению:

Безопасность и шифрование: SSL/TLS и Firewall | Aleksandr Suprun