Урок 3 из 8 · 20 мин · обновлено

Сети для безопасника: IP, порты, DNS, HTTP

Минимум о сетях, без которого не обойтись в безопасности: IP-адреса, порты и службы, DNS, HTTP и HTTPS, межсетевой экран и почему лишние открытые порты опасны.

IP-адреса и порты

У каждого устройства в сети есть IP-адрес — как адрес дома. Например, сервер «Чайной лавки» в интернете виден по адресу 203.0.113.25.

Но на одном сервере работает несколько программ-служб: сайт, удалённый вход для администратора, база данных. Чтобы данные дошли до нужной, используют порты — номера «дверей» в доме. Самые частые:

Порт Служба Нужен ли в интернете
443 Сайт по HTTPS Да, это витрина магазина
80 Сайт по HTTP Только чтобы перенаправить на HTTPS
22 SSH — удалённое управление сервером Лучше закрыть или разрешить только с адреса офиса
5432 База данных PostgreSQL Нет, база общается с сайтом внутри сервера

Каждый открытый порт — возможная точка входа. Злоумышленники круглосуточно сканируют интернет в поисках открытых баз данных и удалённого доступа со слабыми паролями. Правило защиты простое: открыто только то, что действительно нужно.

Как посмотреть, что открыто

На своём сервере с Linux администратор может посмотреть, какие службы ждут соединений:

Терминал
sudo ss -tlnp
Результат
State   Local Address:Port   Process
LISTEN  0.0.0.0:443          nginx
LISTEN  0.0.0.0:22           sshd
LISTEN  0.0.0.0:5432         postgres

Адрес 0.0.0.0 означает «принимать соединения отовсюду». У базы данных так быть не должно: она должна слушать только 127.0.0.1 — сам сервер. Такую находку специалист записывает как уязвимость и передаёт администратору.

Проверять порты можно только на своих системах или по договору с владельцем — сканирование чужих серверов может считаться подготовкой к атаке.

DNS

Люди помнят имена сайтов, а компьютерам нужны IP-адреса. DNS — служба, которая отвечает на вопрос «какой адрес у сайта chaynaya-lavka.ru?».

Если злоумышленник подменит ответ DNS — например, получив доступ к аккаунту у регистратора домена, — клиенты будут попадать на поддельный сайт, хотя в адресной строке всё правильно. Поэтому аккаунт у регистратора защищают так же серьёзно, как почту: сложный пароль и второй фактор входа.

HTTP и HTTPS

Браузер общается с сайтом по протоколу HTTP. Его проблема — данные идут открытым текстом: пароль, адрес доставки, данные карты можно перехватить в общей сети Wi-Fi.

HTTPS — тот же HTTP, но с шифрованием. Сегодня все сайты, где что-то вводят, должны работать только по HTTPS, а запросы по HTTP — автоматически перенаправляться на него.

Межсетевой экран

Межсетевой экран (файрвол) — фильтр, который решает, какие соединения пропускать. Для сервера «Чайной лавки» правила могут быть такими:

  • разрешить всем порты 80 и 443 — это сайт;
  • разрешить порт 22 только с IP-адреса офиса;
  • запретить всё остальное.

Даже если администратор случайно откроет базу данных на все адреса, межсетевой экран не пропустит к ней соединения извне. Это и есть защита слоями из урока 2.

Попробуйте сами. На сервере «Чайной лавки» открыты в интернет порты 443, 80, 22, 5432 и 8080 (на нём работает старая тестовая версия сайта). Какие порты вы бы закрыли или ограничили и почему?

Пример ответа
  • 443 — оставить: это сайт.
  • 80 — оставить, но только для перенаправления на HTTPS.
  • 22 — разрешить только с адреса офиса, вход только по ключу, без пароля.
  • 5432 — закрыть: база должна быть доступна только самому серверу.
  • 8080 — закрыть и удалить тестовую версию: забытые старые копии сайта часто содержат известные уязвимости и не обновляются.

Мини-тест · 4 вопроса

Проверьте себя

Выберите вариант, который кажется вам правильным. В конце вы увидите свой результат и объяснение к каждому вопросу.

  1. Что такое порт?

  2. Почему база данных магазина не должна быть доступна из интернета?

  3. Чем HTTPS отличается от HTTP?

  4. Что делает DNS?