Привет, Хабр! Хорошо ли вы разбираетесь в ACL? Предлагаем проверить свои скиллы и решить задачку: попробуйте разобраться в подключениях и составить списки доступа для сервера.
Мы запустили в Академии Selectel новую рубрику — задачи для программистов. Совсем скоро в ней появятся задачи на знание алгоритмов, логики, сетей и языков программирования.
Условие
Представьте ситуацию: вы организовали небольшой домашний сервер с выходом в сеть и хотите ограничить к нему доступ.
У вас есть хост с двумя интерфейсами…
- Ethernet 1 — в локальную сеть, IP 10.10.10.0.2/24,
- Ethernet 2 — в глобальную сеть, IP 95.213.255.1.
…и следующими сервисами: SSH, MYSQL, RDP, HTTPS, WireGuard.
Вы подключаетесь по SSH из домашней сети с IP-адреса 10.10.1.100. Делаете это раз в неделю и проводите в консоли не больше 30–40 минут.
Внутри сети с подсети 10.10.2.0/24 вы обращаетесь в базу MySQL со средней скоростью 35 Кбит/с.
Также подключаетесь к серверу по RDP (суммарно на 2-3 часа, c IP 85.119.149.3) по протоколу TCP — просматриваете видео с камер. Камеры передают данные в локальной сети по RTSP на 544 порт из подсети 10.10.100.0/24 со скоростью 50 Кбит/с.
На сервере поднят WireGuard server (порт 53), которым пользуетесь постоянно. Здесь средняя скорость 3 Мбит/с.
На компьютере развернут домашний сайт (HTTPS) со средним трафиком около 1 Мбит/с. В данном случае мы не ограничиваем исходящий трафик.
Задача
Составьте ACL для данного сервера при условии, что все протоколы работают на стандартных портах. Установите правила в нужном порядке.
Проверьте свое решение или подсмотрите ответ в Академии Selectel.