Непонятка с Линуксовым Файрволом
Модератор: NetSkipper
Правила форума
Администрация не несет ответственности за размещенные на этом форуме сообщения.
Если сообщения как то ущемляют ваши права, обратитесь к администрации, и информация будет удалена с форума.
Администрация не несет ответственности за размещенные на этом форуме сообщения.
Если сообщения как то ущемляют ваши права, обратитесь к администрации, и информация будет удалена с форума.
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
Непонятка с Линуксовым Файрволом
Всем привет. А есть ли у нас на форуме мумхим в Линуксе и конкретно в ихнем файрволах(iptables или ufw)?
Есть странное поведение, мне лично непонятное. Может кто чего посоветует?
Есть веб сервер на Ubuntu server 20.
У него установлен IPtables, в котором по умолчанию все входящие запрещены, т.е. первым делом iptables -P INPUT DROP
Затем, я уже разрешаю своим внутренним сетям доступ к серверу. Но странная вещь, в логах этого веб сервера, я все равно вижу попытки подключения с некоторых внешних IP.
Как такое возможно? Заранее спасибо.
Есть странное поведение, мне лично непонятное. Может кто чего посоветует?
Есть веб сервер на Ubuntu server 20.
У него установлен IPtables, в котором по умолчанию все входящие запрещены, т.е. первым делом iptables -P INPUT DROP
Затем, я уже разрешаю своим внутренним сетям доступ к серверу. Но странная вещь, в логах этого веб сервера, я все равно вижу попытки подключения с некоторых внешних IP.
Как такое возможно? Заранее спасибо.
Xiaomi Mi Max 3
- Yggdrasil
- Пользователь
- Сообщения: 1941
- Зарегистрирован: 28.05.2007, 16:41
- smartphone: SM-S908E
- Откуда: Из под Тишка
- Благодарил (а): 21 раз
- Поблагодарили: 69 раз
-
Участник покетовки
Даритель
Непонятка с Линуксовым Файрволом
Как вариант твой сервер может принимать IPv6 traffic, который не блокируют iptables rules
Для этого есть ip6tables или закрой IPv6, что проще
Для этого есть ip6tables или закрой IPv6, что проще
Never underestimate the power of stupid people in large groups.
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
Непонятка с Линуксовым Файрволом
Забыл сказать, что этот сервер не торчит наружу в интернет, а сидит за NATом, где порты 80 и 443 проброшены через раутер на этот сервер. Значит никакие другие IPv6 не должны в него попасть. Да и раутер не умеет IPv6. В логах проникшие IP вида IPv4
А вообще бывает такое, что iptables мефасфес пакеты и зевает кого нибудь запрещенного? Хотя там нет никакой нагрузки. Это не массовый какой-то ресурс. Так, тестовый сервер.
Xiaomi Mi Max 3
- lyonia
- Даритель
- Сообщения: 1071
- Зарегистрирован: 23.01.2004, 22:36
- smartphone: Android
- Откуда: Ganei Tikva
- Благодарил (а): 8 раз
- Поблагодарили: 33 раза
-
Даритель
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
- lyonia
- Даритель
- Сообщения: 1071
- Зарегистрирован: 23.01.2004, 22:36
- smartphone: Android
- Откуда: Ganei Tikva
- Благодарил (а): 8 раз
- Поблагодарили: 33 раза
-
Даритель
Непонятка с Линуксовым Файрволом
смотри как ты объяснял.
допустим у тебя на сервере нету UPnP, который открывает порты раутера. (обычно на убунту такое не ставят).
ты пробросил порты 80/443 на этот сервер, получается что угодно будет стучаться на твой сервер, но только на эти порты. И ты это видишь.
по большому счёту держать внутри сети сервер с файрволом не очень то надо (не обязательно)
допустим у тебя на сервере нету UPnP, который открывает порты раутера. (обычно на убунту такое не ставят).
ты пробросил порты 80/443 на этот сервер, получается что угодно будет стучаться на твой сервер, но только на эти порты. И ты это видишь.
по большому счёту держать внутри сети сервер с файрволом не очень то надо (не обязательно)
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
Непонятка с Линуксовым Файрволом
Так в том то и дело, что я вижу эти "стуки"(и не стуки даже, а уже конкретные запросы) в логах уже самого вебсервера, а не должен(или я не прав). Ведь файрвол сервера должен их DROPать(там даже не REJECT, а именно DROP), он ведь еще перед вебсервером фунциклирует. Для них(стукачей), этот порт должен быть однозначно закрыт(теоретически), а они умудрились как-то преодолеть файрвол и уже вебсевер их залогировал, но естественно не пустил далее в разговор, потому что они наобум пытаются, думают, что у меня wordpress(видно по логам) или еще что-то, что они надеются взломать. Как то так. Допускаю, что я чего-то не понимаю правильно.
Xiaomi Mi Max 3
- lyonia
- Даритель
- Сообщения: 1071
- Зарегистрирован: 23.01.2004, 22:36
- smartphone: Android
- Откуда: Ganei Tikva
- Благодарил (а): 8 раз
- Поблагодарили: 33 раза
-
Даритель
Непонятка с Линуксовым Файрволом
ввыведи сюда результат команды
Код: Выделить всё
sudo iptables --list
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
Непонятка с Линуксовым Файрволом
Вот пожалуйста, В файрволе еще используются черные и белые списки сетей ipset. Еще позволил себе добавить некоторые комментарии:
Спойлер
Код: Выделить всё
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 176-231-163-0.orange.net.il/24 anywhere ##Эта сеть Партнера, чтоб я мог из дома пытаться достучаться
ACCEPT all -- 192.168.0.0/16 anywhere ##Это моя внутренняя сеть за NATом, Разрешено
ACCEPT all -- localhost/8 anywhere ##Это на самом компе, Разрешено
DROP all -- 93.158.66.20 anywhere ##Это я с горя начал вносить гадов вручную.
DROP all -- 191.102.132.215 anywhere ##Это я с горя начал вносить гадов вручную.
DROP all -- 45.155.205.27 anywhere ##Этот гад, даже так пролезает. Ну явно же забанен. Вот как это?
DROP all -- 47.241.66.187 anywhere ##Это я с горя начал вносить гадов вручную.
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ##Сохранять уже подключенное.
DROP all -- anywhere anywhere match-set blacklist src ##Мои черные списки подсетей. Бан.
DROP all -- anywhere anywhere match-set blackiplist src ##Мои черные списки адресов. Бан.
DROP all -- anywhere anywhere ! match-set whitelist src ##DROPать все, что НЕ в белом списке подсетей
ACCEPT all -- anywhere anywhere match-set whiteiplist src ##Позволять, все что в белом списке адресов
ACCEPT all -- anywhere anywhere match-set whitelist src ##Позволять, все что в белом списке подсетей
####Далее всякие дела Докера. Мой ВебСервер в Докере бежит
Chain FORWARD (policy DROP)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (5 references)
target prot opt source destination
ACCEPT tcp -- anywhere 172.18.0.2 tcp dpt:https
ACCEPT tcp -- anywhere 192.168.191.254 tcp dpt:2375
ACCEPT tcp -- anywhere 172.18.0.2 tcp dpt:http
ACCEPT tcp -- anywhere 192.168.191.2 tcp dpt:http-alt
ACCEPT tcp -- anywhere 192.168.150.6 tcp dpt:http
ACCEPT tcp -- anywhere 192.168.150.7 tcp dpt:http
ACCEPT tcp -- anywhere 172.18.0.6 tcp dpt:http
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target prot opt source destination
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (4 references)
target prot opt source destination
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
P.S.
Добавил в спойлер тэг код. Теперь с форматированием нормуль.
Последний раз редактировалось zlg 30.04.2021, 15:14, всего редактировалось 4 раза.
Xiaomi Mi Max 3
- Генннадий
- Администратор
- Сообщения: 15725
- Зарегистрирован: 17.05.2008, 20:06
- smartphone: SG S9
- Откуда: Свет Акивы
- Благодарил (а): 89 раз
- Поблагодарили: 80 раз
-
Заслуженный участник покетовки
Даритель
- lyonia
- Даритель
- Сообщения: 1071
- Зарегистрирован: 23.01.2004, 22:36
- smartphone: Android
- Откуда: Ganei Tikva
- Благодарил (а): 8 раз
- Поблагодарили: 33 раза
-
Даритель
Непонятка с Линуксовым Файрволом
ты хочешь, как ты говоришь закрыть всё?
так закрой всё как первое правило в списке INPUT, а потом начинай добавлять разрешающие правила, как минимум:
1. локальный хост
2. локальную сеть или часть её (тебе решать)
3. наружную сеть только на нужные тебе порты - 80/443 (может только из выбранных тобою сетей)
зачем ты играешься с запрещёнными сетями и запрещёнными ip адресами. не забудь каждая строчка в файрволе нагружает процессор.
Отправлено спустя 4 минуты 1 секунду:
а вообще чего тебе боятся 80 и 443 портов, по мне то не обязательно тебе иметь файрвол на домашнем NATе.
что у тебя там какие-то скрипты или ещё что?
ну так зайдёт кто-то на "твои сайт" дома. ну и что?
Отправлено спустя 23 минуты 58 секунд:
у тебя дома статический адрес?
так закрой всё как первое правило в списке INPUT, а потом начинай добавлять разрешающие правила, как минимум:
1. локальный хост
2. локальную сеть или часть её (тебе решать)
3. наружную сеть только на нужные тебе порты - 80/443 (может только из выбранных тобою сетей)
зачем ты играешься с запрещёнными сетями и запрещёнными ip адресами. не забудь каждая строчка в файрволе нагружает процессор.
Отправлено спустя 4 минуты 1 секунду:
а вообще чего тебе боятся 80 и 443 портов, по мне то не обязательно тебе иметь файрвол на домашнем NATе.
что у тебя там какие-то скрипты или ещё что?
ну так зайдёт кто-то на "твои сайт" дома. ну и что?
Отправлено спустя 23 минуты 58 секунд:
Код: Выделить всё
ACCEPT all -- 176-231-163-0.orange.net.il/24 anywhere ##Эта сеть Партнера, чтоб я мог из дома пытаться достучаться
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
Непонятка с Линуксовым Файрволом
Так во первых строчках iptables все сказанное тобой в точности и наблюдается.lyonia писал(а): ↑30.04.2021, 15:40 ты хочешь, как ты говоришь закрыть всё?
так закрой всё как первое правило в списке INPUT, а потом начинай добавлять разрешающие правила, как минимум:
1. локальный хост
2. локальную сеть или часть её (тебе решать)
3. наружную сеть только на нужные тебе порты - 80/443 (может только из выбранных тобою сетей)
По началу этого и небыло, но когда я увидел в логах вебсервера эти попытки подключения всяких непонятных "стукачей", стало неприятно и главное, непонятно. Как они умудряются пройти сквозь файрвол, несмотря на дефолтные запреты?Вода камень точит. Теоретически, рано или поздно, кто нибудь из них подобрал бы возможность проникнуть дальше. Зачем, сразу давать им такую возможность, если можно не давать в зародыше. Повторю, меня напрягает сама ситуация, когда вроде все ненужное закрыто, а оно все равно умудряется пролезть, не понимаю, как такое возможно. Или где я ошибся?
Это мне известно, поэтому я и использовал ipset черные и белые списки, которые не нагружают проц, в отличие от отдельных правил в iptables Отдельные запретительные правила, я стал добавлять уже потом, чисто для проверки.
Типа, вот я вношу заведомо БАН для сети 45.155.205.27
, а оно все равно потом светится в логах вебсервера. ПОЧЕМУ?DROP all -- 45.155.205.27 anywhere
Это не домашняя сеть, а на работе и я не хочу, чтобы всякие левые ее сканировали или пытались залезть. У меня вообще в белом листе только израильские сети и по идее, вообще никто не бело-голубые не должны иметь возможность залезть. У меня только единственный вариант напрашивается, что файрвол вообще отключен. Но вроде бы нет, потому что, как только я в первые строчки iptables вносил строчку DROP all -- 192.168.0.23 anywhere
Меня тут же отрубало от компа вебсервера. 192.168.0.23 - это моя тачка на работе, во внутренней сети, с которой я коннектился к компу сервера по SSH. Значит, все таки, файрвол фунциклирует. Но как то избирательно, своих банит, а чужих нет. Ниче не понимаю.
Отправлено спустя 1 минуту 25 секунд:
Нет, но всегда в пределах подсети 176.231.163.0/24
Еще уточню:
Сервер не дома, а на работе, там статический адрес. В скрипте явное разрешение на сеть 176.231.163.0/24, это Партнер, чтобы я из дома мог проверять работу вебсервера.
Xiaomi Mi Max 3
- lyonia
- Даритель
- Сообщения: 1071
- Зарегистрирован: 23.01.2004, 22:36
- smartphone: Android
- Откуда: Ganei Tikva
- Благодарил (а): 8 раз
- Поблагодарили: 33 раза
-
Даритель
Непонятка с Линуксовым Файрволом
начну с конца
я так и подозревал и вот это может помочь
Отправлено спустя 15 минут 11 секунд:
вот это должно тебе помочь
и тут
да, но определил 24 бита из 24х. т.е. ты явно задал не сеть а хост
ясно
я так и подозревал и вот это может помочь
неясно как твой контейнер подключён к сети. если хост, то правила файрвола не действуют. если, как-то иначе надо разбираться. вообще посмотри как файрвол с контейнерами взаимодействуют. и что там у тебя запрещено/разрешено
Отправлено спустя 15 минут 11 секунд:
вот это должно тебе помочь
и тут
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
Непонятка с Линуксовым Файрволом
Погоди, всего 32 бита в хосте, а мой провайдер всегда выдает адрес из 24, т.е. любые адреса из диапазона 176.231.163.ххх
Вроде бы я как-то где-то читал, что Докер как-то там нейтрализует файрвол. Хотя не понятно, как он это делает. Ведь правила Докера в iptables идут уже после основных умолчательных и запретительных моих правил. Но в Докерах я чайник, копипастил как попугай, заработало и ладно. В Докер проброшены порты 80:80 443:443
Короче, без поллитра не разберешься.
Спасибо за наводку, посмотрю.
Xiaomi Mi Max 3
- lyonia
- Даритель
- Сообщения: 1071
- Зарегистрирован: 23.01.2004, 22:36
- smartphone: Android
- Откуда: Ganei Tikva
- Благодарил (а): 8 раз
- Поблагодарили: 33 раза
-
Даритель
Непонятка с Линуксовым Файрволом
Ага. Прав. Забыл что там 32 бита. Все равно, а один день наверняка сможешь получить адрес немного другой. Думают не стоит привязываться к такому маленькой сети 8 бит.
Отправлено спустя 18 минут 23 секунды:
Ты наверное имеешь ввиду настройки конкретного докера. (у меня тоже так), но там есть ещё и файраол на отдельную сеть докера.
Рекомендую дома поставить линукс и на него контейнеры. И с ними играться, потому что если что всегда можно локально с клавиатуры линукса что то поправить и зайти в контейнер или на линукс. Если поискать есть простейший bash контейнер который как раз можно использовать чтобы проверять сеть. Я так делал. Можешь поискать и поставить ftp контейнер и тоже играться с закрытием портов. Например домашняя сеть всегда включена, а наружная отключается. Поставишь аппликацию на телефон и будешь пытаться с него заходить (без WiFi) - как с внешнего устойства.
Так поймёшь как правильно настроить файраол и уж потом будешь знать что ставить на рабочем компьютере.
Если можешь на работе все проверить (в офисе), то тоже нормально, главное не работать "с далека" (remote), чтобы не выбрасывало тебя с сети вовремя экспериментов.
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
Непонятка с Линуксовым Файрволом
Спасибо тебе, добрый человек. Раскрыл мне глаза. Теперь я понял где собака порылась. Таки Докер во всем виноват. Свои запретительные правила надо писать в другую секцию iptables, а именно в секцию DOCKER-USER, потому что оная секция исполняется раньше секции INPUT и по умолчанию разрешает всех, что странно и совсем не очевидно, если не знать. Век живи, век учись. Все равно дураком помрешь.
Xiaomi Mi Max 3
- lyonia
- Даритель
- Сообщения: 1071
- Зарегистрирован: 23.01.2004, 22:36
- smartphone: Android
- Откуда: Ganei Tikva
- Благодарил (а): 8 раз
- Поблагодарили: 33 раза
-
Даритель
Непонятка с Линуксовым Файрволом
здорово, да там написано было, но я не был уверен, т.к. проверять негде (нету у меня сервера).
теперь разберись в правилах и выкинь что не надо,чтобы не забивать таблици
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
Непонятка с Линуксовым Файрволом
Ага
Правда теперь вылезла другая холера. Как говорится, не понос, так золотуха. По умолчанию, iptables не сохраняется после ребута и надо так или иначе этот факт учитывать. Я поставил iptables-persistent, который это должен исправлять и сохранять изменения между ребутами. Но потом что-то видимо сломал или изменил каким то образом путь к умолчательному месту сохранения. Теперь команда iptables-save без параметров запускается, а куда она сохраняет ума не приложу, чтобы запустить restore, a как искать в терминале по всему серверу файл с содержимым поисковым словом, понятия не имею. grep что ли? и какой синтаксис? Я то не особо линуксоид, я старый форточник с 1905г.
lyonia может знаешь?
Xiaomi Mi Max 3
- benipaz
- Пользователь
- Сообщения: 2870
- Зарегистрирован: 09.02.2008, 16:50
- smartphone: Samsung S21 Ultra 5G
- Благодарил (а): 27 раз
- Поблагодарили: 79 раз
-
Даритель
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
- benipaz
- Пользователь
- Сообщения: 2870
- Зарегистрирован: 09.02.2008, 16:50
- smartphone: Samsung S21 Ultra 5G
- Благодарил (а): 27 раз
- Поблагодарили: 79 раз
-
Даритель
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
Непонятка с Линуксовым Файрволом
Благодаря советам и ссылкам ув. lyonia, все заработало как в аптеке, проблема исчезла и никакие паразиты не пытаются проникнуть в мой сервер, за что ему мое человеческое спасибо, респект и уважуха. Вот уже 2 дня в логах чистота и спокойствие.
Xiaomi Mi Max 3
- lyonia
- Даритель
- Сообщения: 1071
- Зарегистрирован: 23.01.2004, 22:36
- smartphone: Android
- Откуда: Ganei Tikva
- Благодарил (а): 8 раз
- Поблагодарили: 33 раза
-
Даритель
Непонятка с Линуксовым Файрволом
Зпасибо сам, знаешь, в карман не положишь, на хлеб не намажешь и в стакан не нальёшь
шутка
На здоровье, удачаи. для этого и существуют форумы (правда наш не по этому делу), но слава богу есть доктор гугль и stackoverflow, reddit
- zlg
- Даритель
- Сообщения: 1989
- Зарегистрирован: 16.07.2007, 08:58
- smartphone: Xiaomi Mi Max 3
- Откуда: Israel
- Благодарил (а): 82 раза
- Поблагодарили: 31 раз
-
Даритель
Непонятка с Линуксовым Файрволом
Мы по старой доброй русской традиции, сначала делаем, а потом читаем инструкции.
Xiaomi Mi Max 3