LINUX.ORG.RU

(нубский вопрос) Зачем нужен firewall в простейшей установке?

 , ,


0

2

Приветствую!

Вот поднял я VDS. Ядро Linux, Bash, Nano да SSH. Последний - на порту N.

Мне мануалы советуют - поставь firewall, с разрешением только входящих N/TCP.

Я понимаю, у меня где-то дырка в мат части, но… Мы ставим одного слушателя, на один порт. И он в белом списке, для всех. Зачем защищать другие порты, если мы их не слушаем?

Или типа, «из двух защит одна-да сработает»? Или типа, «а вдруг мы ещё чего включим, и не заметим»?

Спасибо.


А то, что к этому слушателю могут подключаться и пихать свои запросы с разных мест ничего страшного?

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

И после такого стука IP постучавшегося добавляется в разрешающий список на минуту, чтобы он подключился, а дальше срабатывает правило, разрешающее уже установленные соединения.

Второй метод это port knocking.

Всех остальных вообще блокируем или блокируем всё, кроме 80 и 443 порта, допустим.

anonymous
()

Или типа, «а вдруг мы ещё чего включим, и не заметим»?

Да. Ошибки в конфигурации, а иногда и баги в софте. И вот у тебя СУБД без аутентификации торчит в интернет, например.

anonymous
()

а вдруг мы ещё чего включим, и не заметим

Да. Хуже не будет, лучше будет. Если ты на 100% уверен в себе и не администрируешь сервер в пьяном виде, можешь не ставить.

Aceler ★★★★★
()

Он полезен в небольшом количестве случаев. У докеропейсателей часто порты наружу торчат, например, бездумно указывают ports: - "6379:6379", не зная, что не 127.0.0.1 будет слушаться, а 0.0.0.0, и только файрволл спасает от того чтобы кто-то залез к тебе redis без пароля

rtxtxtrx ★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)
Ответ на: комментарий от kuraga

Ты прочитал, что я тебе написал? Но видимо ничего не понял.

Мне нечего тебе больше добавить, если ты не понимаешь.

Ладно добавлю, что поставить firewall и использовать его с настройками по умолчанию не имеет смысла.

В пакетном фильтре, в большинстве случаев стоит политика ACCEPT (разрешено) для всех цепочек.

А настройка firewall заключается не в его установке, а в настройке после установки.

Но если ты не понимаешь зачем нужен файрволл, какие угрозы несёт его отсутствие и не понимаешь как настраивается - тебе он не нужен.

А если не хочешь разбираться, то и тема эта не имеет смысла.

anonymous
()
Ответ на: комментарий от anonymous

iptables - да фаерволл, но он вроде ж как базовый пакет его содержит во многих дистрах, который не нужно отдельно ставить, а тут вопрос «поставить фаерволл», значит что-то другое… я хз что эти книгописатели придумывают

rtxtxtrx ★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)
Ответ на: комментарий от rtxtxtrx

В Linux firewall - в большинстве случаев это либо просто iptables / nftables, что по сути сейчас одно и тоже.

Правила iptables транслируются в синтаксис nftables далее в байткод и загружаются в ядро.

Либо некоторый набор скриптов или интерфейс для управления тем же iptables / nftables.

Сторонние файрволлы ставят редко.

Тут нужно что-то что работает в пространстве ядра и как следствие совместимо с ядром дистрибутива.

Иногда это доступ к управлению файрволлом в панели VDS, но это либо тот же iptables / nftables на уровне гипервизора, либо сетевого оборудования.

Естественно всё обмазанное кучей проверок.

anonymous
()
Ответ на: комментарий от anonymous

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

А в другой - да. И это целая наука.

kuraga
() автор топика

Любой фаервол лишь надстройка над пакетным фильтром в ядре упрощающая интерфейс пользователю.
Можешь не ставить и просто вручную нарисовать правила для пакетного фильтра в ядре.

pfg ★★★★★
()

Сетевой фильтр должен пропускать и форвардить только необходимый входящий трафик по IP:PORT. Исходящий трафик необходимо фильтровать по IP:POR и пользователям. Фильтрация должна учитывать состояние сесий. Фильтровать необходимо у всех таблицах iptables предназначенных для фильтрации: filter, raw.

Или типа, «из двух защит одна-да сработает»?

Да, iptables надо настраивать, как и tcpd

Или типа, «а вдруг мы ещё чего включим, и не заметим»?

Да, вдруг трояна подцепим который бекдор откроет, так заблокируем и заметим в логах iptables.

anonymous
()
Ответ на: комментарий от cylon17

защищать другие порты, которые не слушаем не надо :)

Глупость.

Защищать необходимо всё. Пропускать по белому списку, остальное логировать и дропать: (нубский вопрос) Зачем нужен firewall в простейшей установке? (комментарий)

anonymous
()
Ответ на: комментарий от Kolins

Ну в VDS-ках есть, да :)

LISTEN                  0                       4096                                     127.0.0.53%lo:53                                          0.0.0.0:*                      users:(("systemd-resolve",pid=572,fd=14))                  
UNCONN                 0                      0                                           127.0.0.53%lo:53                                           0.0.0.0:*                     users:(("systemd-resolve",pid=572,fd=13))                 
UNCONN                 0                      0                                      <XXX.XXX.XXX.XXX>%eth0:68                                           0.0.0.0:*                     users:(("systemd-network",pid=570,fd=15))                 

На ноуте с Calculate непоняток побольше… И Process-то не указан…

А вот на Gentoo-сервере для нейронок должно быть поменьше ;) Но он выключен.

kuraga
() автор топика
Ответ на: комментарий от kuraga

Суть в том, что когда ты ставишь новый сервис (например БД) он сразу начинает работать на всех интерфейсах и доступен миру, если не забудишь закрыть через fw то могут ломануть (по пустому паролю или через дыры) - пару лет назад была новость что сотни серверов mongodb поломали т.к. они в мир без пароля были открыты. Так что привинтивно лучше закрывать всё и открывать по надобности (желательно с белыми списками или fail2ban)

Kolins ★★★★★
()

Мне мануалы советуют - поставь firewall, с разрешением только входящих N/TCP.

Стоило, конечно, сослаться на конкретный мануал.

Но как бы смысл в том, что если если какой-то вариант доступа не требуется для выполнения задач, которые хочется выполнять, то и нечего, чтобы он существовал. Примерно как почему мы не работаем под рутом, хотя вроде как все знаем, что делаем.

Или типа, «из двух защит одна-да сработает»? Или типа, «а вдруг мы ещё чего включим, и не заметим»?

Ну да, что-то типа.

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

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 2)

Всё верно. Любой адекватный дистрибутив защищён по умолчанию и сделать его явно дырявым это надо постараться. Любые другие защиты добавляются исходя из принципа нескольких слоёв.

К примеру поставили мы ssh, дали пароль руту из 12 случайных букв. Всё, это уже абсолютно безопасный сетап, который никто не взломает. Но тем не менее можно закрыть доступ на ssh из ненужных подсетей, можно ещё внешний фаервол добавить, можно запретить логин по паролю, можно перевести на какой-нибудь 1022 порт, можно вообще запретить вход руту и завести отдельного пользователя и так можно продолжать достаточно долго.

Лично я всем этим не занимаюсь, пустая потеря времени для подавляющего большинства хостов. Пожалуй только порты перевешивать люблю и то только потому, что в ssh логгирование отвратительное и проще порт перевесить, чем убрать ботомусор из логов. У меня есть более важные задачи. Но если очень хочется - почему бы и нет.

vbr ★★★★
()
Ответ на: комментарий от rtxtxtrx

У докеропейсателей часто порты наружу торчат

Закрыть порты для докера это уметь надо. Кроме меня я пока никого не встречал, кто умеет. Надо бы гайд написать как-нибудь…

vbr ★★★★
()
Ответ на: комментарий от vbr

Ты знаешь тайную магию как подружить docker и системный firewall чтобы оно не конфликтовало и docker сам правила создавал (не затирая системные)? Пиши конечно! Будет интересно почитать.

Kolins ★★★★★
()