Урок 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 вопроса
Проверьте себя
Выберите вариант, который кажется вам правильным. В конце вы увидите свой результат и объяснение к каждому вопросу.
-
Что такое порт?
На одном сервере работает несколько служб: сайт, почта, удалённый вход. Порт указывает, какой именно службе предназначено соединение.
-
Почему база данных магазина не должна быть доступна из интернета?
Если порт базы открыт всем, злоумышленники будут подбирать к ней пароль и искать уязвимости. Закрытый порт убирает эту возможность.
-
Чем HTTPS отличается от HTTP?
Без шифрования пароль и данные карты можно перехватить в общей сети, например в кафе. Поэтому всё, где вводят данные, должно работать по HTTPS.
-
Что делает DNS?
Человек вводит имя сайта, а компьютеру нужен IP-адрес. DNS отвечает на вопрос «где находится этот сайт».