linux заблокировать ip адрес

📑 Блокирование ip адреса при помощи iptables

Лучше всего, с наименьшими затратами, блокировать ip адреса при помощи iptables (для ipv4). Iptables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) Netfilter для ядер Linux, начиная с версии 2.4.

Существенно облегчает жизнь использование fail2ban. Но иногда нужно просто забанить какой то ip-шник без всяких правил и ко всему серверу.

Самый простой и эффективный способ заблокировать ip:

Этой командой добавляется правило блокирующее с ip адреса XXX.XXX.XXX.XXX все входящие запросы к серверу.

Вместо DROP можно поставить REJECT. Насчет целесообразности использования того или другого можно услышать диаметрально противоположные мнения.

DROP — просто закрывает соединение и не отправляет ничего в ответ. Соединение потом убивается по таймауту, время которого при желании можно сократить. В итоге при множестве запросов мы не посылаем ничего в ответ. Однако при сканировании закрытых портов, они будут помечаться как filtered, что говорит, что что-то всё-таки слушает порт.

REJECT — сбрасывает соединение и отправляет в ответ сообщение, указанное в опции —reject-with. По умолчанию отправляется host is unreachable. При множестве запросов — множество ответов, но при сканировании порты будут unreachable. Ресурсов сервера будет потребляться больше.

Посмотреть все правила можно командой:

На экране получим нечто подобное:

Разблокировать строку можно по номеру правила:

или указав правило полностью:

Удалить все правила:

Настроенные блокировки ip будут действовать до следующей перезагрузки системы. Чтобы они восстанавливались при последующих загрузках системы, можно использовать разные методы.
Один из самых простых – установить пакет iptables-persistent, с помощью которого можно будет сохранять создаваемые правила в отдельные конфигурационные файлы, которые в свою очередь будут автоматически загружаться после перезагрузки системы.

Источник

Как заблокировать доступ по IP-адресу в Linux?

Как известно сеть интернет — не безопасная среда, где кроме всего полезного часто встречаются и вредоносные сущности. Одной из немаловажных задач администратора сервера является обеспечение безопасности и работоспособности машины. Классический пример – некий извне, производит огроменный поток запросов какой-либо страницы сайта. В конечном итоге это может вызвать большую нагрузку и сбои в работе сайта. Закрыть доступ такому «пользователю» к ресурсу, пожалуй, это рациональное решение, так или иначе, до выяснения обстоятельств и причин таких нагрузок.
В операционной системе Linux есть утилита IPTables, работа с которой может выполняться из командной строки. Данная утилита является стандартным интерфейсом управления работой межсетевого экрана, его так же называют брандмауэром NETFilter, который стал использоваться в системе Linux с версией ядер начиная от 2.4. Для использования данной утилиты вам необходимо иметь привилегии суперпользователя.

Теперь к действию, предположим у нас есть IP адрес, с которого идут нежелательные запросы: 91.207.7.182, заблокировать доступ в IPTables можно таким образом:

Данная строка добавляет (-A) правило в таблицу INPUT (данная таблица нужна для работы с входящими пакетами), указанный нами IP-адрес, а так же действие, предпринимаемое при обращении с этого IP-адреса, в нашем случае REJECT – пакеты будут полностью игнорироваться, таким образом, с его стороны сервер будет не виден, даже если пробовать пинговать. Кроме того, вместо значения REJECT так же предусмотрено использование команды DROP, в этом случае обращаемый узел получит ответ от сервера. Однако есть информация, что в некоторых случаях, при большом количестве запросов, использование команды DROP может привести к сбоям в работе сервера. Выводы делайте сами.

После ввода строки из вышеуказанных команд, следует сохранить данные.

В случае если этого не делать, после перезагрузки в IPTables данных о наших записях не будет.

Источник

linux-notes.org

Как заблокировать IP адрес с помощью iptables на Linux

Иногда, стоит заблокировать IP следующим образом:

Используйте следующий синтаксис для блокирования 10.0.0.0 /8:

Как разблокировать IP- адрес?

Чтобы разблокировать 192.168.244.134 необходимо удалить номер строки 1, для этого введите:

Тема «Как заблокировать IP адрес с помощью iptables на Linux» окончена.

11 thoughts on “ Как заблокировать IP адрес с помощью iptables на Linux ”

Разблокировать IP адрес, помогите как!

В чем собственно проблема, тогда смогу помочь?

Коллеги помогите советом, я не большой специалист в iptables поэтому нужна ваша помощь.
Ситуация следующая, есть софт работающий на CentOS 6.6 который периодически отправляет информацию на различные ip компании изготовителя. Адресов много и они периодически меняются, закрыть по ip не вариант. Нужно заткнуть этот фонтан. Но оставить возможность пользователям работать и удаленно подключаться.
Те надо прибить весь трафик с хоста, который инициирован самим хостом. Но разрешить исходящий трафик для пользователей, те типа reflexive acl если пользоваться терминами cisco.

Читайте также:  сдам квартиру в царицыно

Так закрой все соединения на входящий трафик, только разреши доступ с определенных IP (можно указать маску для IP-шников). И разреши все исходящие соединения. Так же, можно сделать подключения не по логину\паролю, а по ключу. Нужно больше информации о твоей задачи.

Доброго времени суток!
Прошу сильно не пинайте, только начинаю разбираться с iptables…

Но тоже проблема, на Mandriva стоит VBox, на Боксе поднят почтовый сервер на Win2008 сервер H-Mail ip 192.185.0.55

IP может меняться и по этому может не блокироваться, можно попробовать вот так сделать (для некоторой подсети):

Но мой совет для этой задачи — это использовать Fail2Ban. Я очень подробно рассказывал что и как в своей статье ( Но это для Unix/Linux ОС):
http://linux-notes.org/ustanovka-fail2ban/

Уверен, что она поможет со взломом почтового сервера и не только…

Понял спасибо.
А если такое правило:

Здравствуйте. Хочу заблокировать ВСЕ айпи Китая. Прямо все, без исключений. Как это можно реализовать?

Смотря для каких целей ( если для web-сервера — можно установить и использовать GeoIP и забанить сразу целую страну). Если просто заблокировать страну с IPtables, то вот список IP адресов и для примера я взял China (ПРИМИТЕ ВО ВНИМАНИЕ, что IPtables тормозит при обработке большого количества правил. Мой совет — использовать IPset, я рассказывал на своем сайте как он работает):

Здравствуйте! Может кто нибудь сможет ответить, как можно разрешить подключение на внешний интерфейс freepbx15 etc1 только с 1 Ip адреса(остальное всё запретить), и разрешить все подключения для внутреннего интерфейса etc0. И как понять, что используется в приоритете, фаерволл freepb или fail2ban, потому что когда запрещаю правила в iptables, то подключения всё равно проходят.

Здравствуйте
можно ли в айпитеблсе ограничить доступ к интернету кроме белого списка айпи?

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

linux-notes.org

Утилита iptables в Unix/Linux

Знак диез «#» говорит нам что команду нужно запускать от рута.

1. Чтобы показать статус, нужно:

Ниже приведен пример вывода iptables для не настроенного фаервола:

Вывод будет отличаться если Вы настроите свой брандмауэр под свои нужды, приведу пример уже для настроенного iptables: Рассмотрим где и что применяется:

2. Чтобы вывести правила в виде списка, а так же с нумерацией строчек:

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

3. Чтобы можно было отобразить INPUT, OUTPUT цепочки правил нужно выполнить:

4. Чтобы застопать, стартануть или перезапустить файрвол нужно выполнить:

Использовать средства самой ОС:

Можете заюзать команды iptables чтобы можно было остановить фаервол и удалить все наши правила:

5. Если нужно удалить правила в фаерволе следует выполнить:

Если нужно вывести нумерацию строк с уже имеющимися правилами:

Как увидеть список IP-шников. Нужно посмотреть слева на нумерацию и я могу удалить строки которые уже присутствуют. Например для номера 4:

Или поищем IP-шник источника (192.168.244.134) и после чего удалим его из наших правил:

Пояснение по ключу:
-D : служит для удаления 1 или пары правил из цепи.

6. Если Вы хотите прописать новое правило в фаервол, выполните:

Если необходимо добавить одно или парочку правил в одну цепочку, то для начала выведем список с нумерацией строк:

Допустим Вам нужно вставить правило между первой и второй строкой, то нужно выполнить:

Убедимся, обновилось ли наше правило:

7. Что бы сохранить правило (а) в фаерволе нужно.

Можно это сделать с помощью следующей команды:

8. Чтобы восстановить правило (а) в фаерволе нужно.

Можно это сделать с помощью следующей команды:

Если необходимо, можно сохранить все правила в файл:

Тогда чтобы вернуть правила, можно использовать команду:

9. Чтобы вернуть как все и было (Установить все как было по дефолту).

Чтобы вернуть как было весь трафик нужно выполнить:

После того как вы выполните команды что выше, то ни 1 из пакетов не покинет прописанный хост.

10. Чтобы заблокировать только входящие соединения нужно выполнить:

Чтобы сбросить все не инициированные вами входящие пакеты, но разрешать исходящий трафик следует выполнить эти команды:

Читайте также:  коврик для фитнеса для чего

Исходящие пакеты и те, которые были сохранились в рамках установленной сессии — разрешены.

11. Как сбросить адрес изолированных сетей в публичной сети?

Список айпишников для всей изолированной сети ( изолированных сетей):

12. Чтобы заблокировать определенный IP адрес нужно:

192.168.244.144 — Это айпишник надоедливого человека, допустим мы его захотели забанить.

13. Как сделать блокировку входящего запроса с порта?

Если вам нужно например сделать блокировку всех входящих запросов с порта 80, то выполните:

Чтобы сделать блокировку запроса на порту 80 с ИП-адреса 192.168.244.144 нужно:

14. Как заблокировать запросы на исходящий айпишник?

Чтобы сделать блокировку определенного домена, то для начала нужно узнать его IP:

Вывод: linux-notes.org has address 65.178.248.45

Найдем CIDR для 65.178.248.45:

Вывод: CIDR: 65.178.2145.0/18

Сделаем блокировку на 65.178.2145.0/18:

Можно кат же заблокировать сам домен:

15. Как записать события или сбросить их?

Чтобы сделать запись в ЛОГ движение пакетов перед сбросом, добавим некоторое правило:

Посмотрим лог (по умолчанию /var/log/messages):

16. Записать некоторое событие и сбросить (с ограничениями по количеству записей).

Чтобы не заполнить какой то раздел большим журналом, можно сделать ограничение на количество записей с использованием опции «-m». Например, чтобы записывать каждые 4 минуты и максимум 6 строк выполните:

17. Как разрешить или запретить запросы ICMP Ping на сервак?

Чтобы запретить выполните:

Чтобы разрешить для некоторых сетей а так же хостов нужно выполнить:

Чтобы разрешить только небольшую часть ICMP запросов нужно сделать следующее (имеется в виду, что политика по дефолту для входящих она установлена в DROP):

Разрешить отвечать на данный запрос:

18. Как можно открыть диапазон определенных портов?

Сделать это можно очень просто, стоит указать в каких пределах можно открыть порты, в данном примере я открою с 666-6666:

19. Как можно открыть диапазон определенных ИП адресов?

Например нужно разрешить подключение Apache по порту 80 если адреса в диапазоне от 192.168.244.66 до 192.168.244.244, а сделать это можно следующим образом:

Приведу пример еще и для nat-а:

20. Покажу как можно открыть или закрыть стандартные порты.

Делается это следующим образом, нужно заменить ACCEPT на DROP, чтобы заблокировать какой то порт. Для службы ssh tcp по порту 22:

Для службы cups (printing service) или udp/tcp по порту 631 в локальной сети:

Синхронизация времени (time sync) через службу NTP в локальной сети (udp по порту 123):

Для службы tcp по порту 25 (smtp):

Для службы dns server-а по порту 53:

Для служб http или https, а так же для www server по порту 80 и 443:

Для tcp по порту 110 (pop3):

Для tcp по порту 143 (imap):

Для службы Samba file server в локальной сети по портам: 137, 138, 139, 445:

Для proxy server-а в локальной сети по порту 3128:

Для mysql server-а для локальной сети по порту 3306:

21. Если нужно как то ограничить количество одновременных соединений на сервер для конкретного ИП-адреса.

Если это нужно сделать, то нам нужно использовать connlimit модуль. для того чтобы разрешить только 4 ssh соединения для одного клиента выполните:

Если нужно установить количество запросов для HTTP например до 23 с маской 24:

Пояснения по ключикам:
—connlimit-above 23 : Говорит, что данное правило выполняется когда количество соединений больше 23.
—connlimit-mask 24 : Говорит какую маску нужно использовать, у меня это 24.

22. Перенаправление трафика с одного порта на другой

Например, для перенаправления всего входящего трафика с 80-го порта на порт 8080, выполните:

23. Как сбросить счетчики пакетов?

Чтобы увидеть счетчики iptables, выполните:

Чтобы очистить / сбросить счетчики для всех правил:

Для сброса счетчиков только для цепочки INPUT:

Чтобы сбросить счетчики только для правила №4 в цепочке INPUT:

Как получить помощь по iptables?

Чтобы найти помощь по iptables,используйте мануал (man):

Если нужно просмотреть только по конкретным командам и целям, используйте:

Чтобы выполнить проверку правил iptables на открытые и закрытые порты:

Чтобы выполнить проверку правил iptables на открытые и закрытые определенные порты, допустим по порту 80:

Посмотрим разрешает ли соединение с 80 портом в iptables:

Или можно его открыть для всех:

Так же можно это проверить и с использованием телнет (telnet):

Можете заюзать nmap для такой же проверки:

Iptables очень хороший инструмент для сисадмина.

Вот еще полезное чтиво:

Если есть необходимость быстро и не трудно сделать защиту дома на Ubuntu, то нужно знать, что существует удобная консольная надстройка над iptables- ее название UFW, а к данной программе имеется графическая часть под названием GUFW. На этом я заканчиваю данную статью «Утилита iptables в Unix/Linux», надеюсь что я нормально расписал все.

Читайте также:  почтовый индекс жезказгана карагандинской области

8 thoughts on “ Утилита iptables в Unix/Linux ”

Источник

Iptables и фильтрация трафика от бедных и ленивых инакомыслящих

Актуальность блокировки посещений запрещенных ресурсов затрагивает любого админа, которому могут официально предъявить невыполнение закона или распоряжения соответствующих органов.

Зачем изобретать велосипед тогда, когда есть специализированные программы и дистрибутивы для наших задач, например: Zeroshell, pfSense, ClearOS.

Еще один вопрос оказался у начальства: А есть ли у используемого продукта сертификат безопасности нашего государства?

У нас был опыт по работе с перечисленными дистрибутивами:

Рассматриваемое решение не претендует на уникальность, но хочется задать вопрос: «А зачем на предприятии приспосабливаться под сторонние сомнительные продукты с серьезными аппаратными требованиями когда можно рассмотреть альтернативный вариант?».

Если в РФ есть список Роскомнадзора, в Украине — приложение к Решению Совета НацБезопасности (напр. вот), то на местах руководители тоже не спят. Например, нам был передан список запрещенных сайтов, по мнению руководства ухудшающих производительность труда на рабочем месте.

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

Имея возможность не только аналитически посмотреть, что пишут в «книгах домохозяек» про фильтрацию трафика, но и посмотреть что происходит на каналах разным провайдеров мы подметили следующие рецепты (любые скрины немного обрезаны, прошу понять и простить):

Провайдер 1 — не заморачивается и навязывает собственные ДНС сервера и прозрачный прокси-сервер. Ну что. зато у нас есть доступ туда куда надо (если нам это надо :))
Провайдер 2 — считает что его верхний провайдер должен об этом думать, техподдержка верхнего провайдера даже призналась почему я не могу открыть необходимый мне не запрещенный сайт. Я думаю что картинка вас развеселит 🙂

Как оказалось, они имена запрещенных сайтов переводят в айпи адреса и блокируют именно IP (не беспокоит их то, что на этом IP адресе может размещаться и 20 сайтов). Провайдер 3 — пропускает трафик туда, но обратно по маршруту его не пускает. Провайдер 4 — запрещает все манипуляции с пакетами в указанном направлении.

А что делать с ВПН (браузеру Opera уважение) и плагинами для браузеров? Играясь по-началу с узловым Mikrotik у нас даже появился ресурсоемкий рецепт на L7, от которого в последствии пришлось отказаться (запрещенных названий может быть и побольше, печально становится когда кроме своих прямых обязанностей по маршрутам, на 3х десятках выражений загрузка процессора PPC460GT уходит в 100%).

.

Что стало понятно:
ДНС на 127.0.0.1 абсолютно не панацея, современные версии браузеров таки позволяют обходить подобные траблы. Ограничить всех пользователей урезанными правами нельзя, и нельзя забывать об огромном количестве альтернативных ДНС. Интернет не статичен, и кроме новых ДНС адресов, запрещенные сайты покупают новые адреса, изменяют домены верхнего уровня, могут добавить/удалить символ в своем адресе. Но все же имеет право жить что-то типа (субъективно: в такой защите вижу как браузер в недоумении все же ждет ответа, и страница, в которой есть элементы запрещенного контента, загружается долго):

Вполне действенным было бы получение списка IP адресов из списка запрещенных сайтов, но по указанным выше соображениям мы перешли к соображениям о Iptables. Существовал уже живой балансировщик на CentOS Linux release 7.5.1804.

Применение sudo обусловлено тем, что у нас есть небольшой хак для управления через WEB интерфейс, но как показал опыт использования такой модели сроком более года, то WEB не так уж и нужен. После внедрения было желание перечень сайтов завести в БД и т.п. Количество заблокированных хостов более 250 + десяток адресных пространств. Действительно есть проблема при переходе на сайт по https соединению, как и системного администратора у меня есть претензии к браузерам :), но это частные случаи, большинство срабатываний к отсутствию доступа к ресурсу всё таки на нашей стороне, так же успешно блокируем Opera VPN, плагины типа friGate и телеметрию от Майкрософт.

Источник

Образовательный портал