IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [490]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [449]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [680]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [357]
    Сети, сетевые технологии, оборудование... [269]
    Смартфоны [4966]
    Фотокамеры, объективы, искусство фотографии.. [543]
    Умный дом [47]
    Электронные книги [96]
    CB, LPD, PMR- связь... [171]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1113]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [616]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1340
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2022 » Декабрь » 30 » 25 полезных советов по iptables для администратора Linux
    09:23
    25 полезных советов по iptables для администратора Linux

    25 полезных советов по iptables для администратора Linux

    Одной из ключевых задач при обслуживании сети является управление трафиком — совокупность средств и методов, направленных на обеспечение функционирования сети и эффективное использование ресурсов. В этой статье мы представим Вам 25 советов по настройке межсетевого экрана с помощью iptables — утилиты командной строки, использующейся как фильтр. Через него ядро направляет все сетевые пакеты: входящие, исходящие и предназначенные компьютеру.

    Описание утилиты iptables

    Инструмент iptables делит все пакеты на три цепочки:

    • INPUT — для управления поведением входящих соединений;
    • FORWARD — для проходящих соединений;
    • OUTPUT — пакеты, сгенерированные локально.

    Если Вы хотите использовать компьютер в качестве маршрутизатора — типы цепочек будут другими, поскольку в этом случае будет использоваться таблица NAT.

    Таблица NAT (от англ. Network Address Translation) — это механизм преобразования сетевых адресов транзитных пакетов в сетях TCP / IP, который делит пакеты на следующие цепочки:

    • PREROUTING — изменяет пакеты перед маршрутизацией;
    • OUTPUT — изменяет пакеты после маршрутизации;
    • POSTROUTING — используется для изменения пакетов, перед отправкой.

    Советы по настройке iptables для администратора Linux

    Теперь давайте перейдем непосредственно к 25 советам по настройке iptables.

    Важно: для использования утилиты Вам потребуются права суперпользователя (права root).

    Запускаем / останавливаем / перезапускаем iptables

    Чтобы начать использовать межсетевой экран — Вам нужно знать, как им управлять. Давайте разберемся в том, как его запустить, остановить или перезапустить. Если Вы используете дистрибутивы на базе SystemD (свежие версии Debian, Ubuntu, Arch Linux, RHEL, CentOS, Fedora, openSUSE и т.д.) — введите в командную строку следующие команды.

    Для запуска утилиты:

    systemctl start iptables

     

    Для прекращения работы:

    systemctl stop iptables

    Для перезагрузки:

    systemctl restart iptables

    В случае использования систем Linux на основе SysVinit — для запуска инструмента введите в командную строку следующую команду:

    /etc/init.d/iptables start

    Для остановки:

    /etc/init.d/iptables stop

    Для перезагрузки:

    /etc/init.d/iptables restart

    Проверяем все правила брандмауэра

    Таблицы iptables содержат наборы правил, называемых цепочками, которые будут фильтровать входящие и исходящие пакеты данных. Если Вы хотите проверить действующие правила — введите в командную строку следующую команду:

    iptables -L -n -v

    Эта команда должна вернуть следующий результат, если Вы ранее не настраивали межсетевой экран:

    iptables правила

    Если Вы хотите проверить правила таблицы NAT — используйте приведенную ниже команду:

    iptables -t nat -L -v -n

    iptables-nat правила
     

    Блокируем определенные IP-адреса с помощью iptables

    Как системный администратор, Вы наверняка сталкивались с подозрительной активностью того или иного IP-адреса. Во избежание проблем Вы можете заблокировать IP с помощью этой утилиты. В качестве примера — заблокируем адрес 192.168.59.123:

    iptables -A INPUT -s 192.168.59.123 -j DROP

    Блокировка ip-адреса с iptables

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

    Иногда Вам может потребоваться заблокировать не сам IP-адрес, а только TCP-трафик с него. Для этого модифицируйте предыдущую команду, добавив опцию -p, которая указывает на протокол (в нашем случаи — TCP). В результате команда будет выглядеть следующим образом:

    iptables -A INPUT -p tcp -s 192.168.59.111 -j DROP

    Блокировка tcp
     

    Разблокируем ранее заблокированные IP-адреса

    Когда Вы выяснили, что действия со стороны определенного IP-адреса больше не представляют угрозы для сети — будет правильным разблокировать запросы от него. Для удаления ранее созданного правила блокировки воспользуйтесь данной командой:

    iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP

    Разблокировка адреса при помощи iptables

    Опция -D позволяет Вам удалить одно или несколько правил из выбранной цепочки. Вы также можете использовать опцию --delete, что является расширенной версией -D.
     

    Блокируем определенный порт с помощью брандмауэра iptables

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

    Для блокировки исходящих соединений через конкретный порт — используйте следующую команду:

    iptables -A OUTPUT -p tcp --dport xxx -j DROP

    Блокировка порта iptables

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

    iptables -A INPUT -p tcp --dport xxx -j ACCEPT

    Если Вам нужно разрешить или заблокировать трафик UDP вместо TCP — замените аргумент tcp на udp.
     

    Разрешаем соединения с несколькими портами в iptables, используя multiport

    Чтобы не настраивать доступ к нескольким портам по отдельности — рекомендуем Вам использовать модуль сопоставления пакетов multiport. Опция -m позволяет Вам использовать multiport, тогда как опция --dports — указывает номера портов назначения:

    iptables -A INPUT -p tcp -m multiport --dports 27,80,555 -j ACCEPT

    Разрешение входящих соединений

    Аналогичным образом осуществляется настройка доступа для исходящих соединений:

    iptables -A OUTPUT -p tcp -m multiport --sports 27,80,555 -j ACCEPT

    Разрешение исходящих соединений
     

    Разрешаем доступ определенного диапазона сети к конкретному порту

    Бывает, что для удовлетворения политики безопасности сети Вам потребуется ограничить подключения на конкретном порту для Вашей сети. Например, разрешить исходящие подключения через порт 22 к сети 192.168.100.0/24.

    Для этого воспользуйтесь командой:

    iptables -A OUTPUT -p tcp -d 192.168.100.0/24 --dport 22 -j ACCEPT

    Блокировка порта для ip-адреса

    Опция -d позволяет Вам указать нужный IP-адрес назначения.
     

    Блокируем Facebook с помощью iptables

    Для увеличения продуктивности персонала во время рабочего дня Ваш работодатель может потребовать заблокировать доступ к определенному сайту или приложению (например, к социальным сетям или посторонним мессенджерам). В качестве примера рассмотрим Facebook.

    Важно: диапазон IP-адресов, используемый Facebook, может отличаться в зависимости от Вашего местоположения.

    Во-первых, узнайте IP-адреса, используемые Facebook:

    Далее вводим следующую команду:

    whois 157.240.224.35 | grep CIDR

    Поиск адреса Facebook

    Затем — блокируем Facebook с помощью следующего правила:

    iptables -A OUTPUT -p tcp -d 157.240.0.0/20 -j DROP

    Блокировка Facebook
     

    Настраиваем переадресацию портов в iptables

    Переадресация портов — это часть механизма NAT, задачей которой является предоставление доступа из Интернета к сервисам Вашей сети. Как системный администратор, Вы обязательно столкнетесь с этой задачей. Настроить переадресацию портов в iptables можно с помощью следующей команды:

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525

    Данная команда переадресовывает весь входящий трафик через сетевой интерфейс eth0 с порта 25 на порт 2525 (выбранные в качестве примера).

    Перенаправление портов
     

    Ограничиваем сетевой поток на 80 порт Apache с помощью iptables

    Возможны ситуации, при которых IP-адреса начинают запрашивать много подключений к веб-портам на сайте. В результате это может вызвать ряд проблем. Ваша задача как системного администратора — предотвратить подобные события и настроить процедуру получения пакетов. Для этого воспользуйтесь следующим правилом:

    iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/minute --limit-burst 200 -j ACCEPT

    Блокировка порта Apache

    Данное правило использует сразу несколько опций. Во-первых, --limit — ограничивает количество входящих соединений в указанный промежуток времени (в нашем случае — до 100 в минуту). Во-вторых, --limit-burst — устанавливает предельное количества пакетов в 200 штук, когда начинает срабатывать правило. Редактируйте эти параметры под Вашу конкретную задачу.
     

    Блокируем входящие запросы ping

    Утилита ping используется в качестве простого метода для выявления доступных хостов в сети и определяет схемы подключения этих хостов к Интернету. С помощью нее злоумышленники могут найти удобные цели для атаки. Блокируя запросы ping, можно предот­вратить часть самых простых атак на свой компьютер. Чтобы заблокировать такие запросы — выполните следующую команду.

    iptables -A INPUT -p icmp -i eth0 -j DROP

    Блокировка ping-запросов
     

    Разрешаем доступ loopback

    Loopback — логический интерфейс, необходимый для корректной работы маршрутизатора и передачи данных. Сам интерфейс является отображением логических процессов в маршрутизаторе. Он часто используется для тестирования передачи данных или передающей инфраструктуры. Доступ loopback важен для Вашей сети, и всегда должен оставаться активным. Настроить его помогут следующие команды.

    Для входящих соединений:

    iptables -A INPUT -i lo -j ACCEPT

    Для исходящих соединений:

    iptables -A OUTPUT -o lo -j ACCEPT

    Разрешение loopback

    Опция -i нужна, чтобы задать имя интерфейса, через который был получен пакет. Тогда как опция -o — позволяет задать имя интерфейса, через который будет отправлен пакет. В нашем случаи — это lo (Loopback Interface)
     

    Ведем журнал пропущенных сетевых пакетов

    Журнал — это файл с записями о событиях, которые произошли с программой в определенный момент времени. Различают регистрацию внешних событий и протоколирование работы самой программы — источника записей. Исследование содержимого файла регистрации ошибок после возникновения неполадок важная часть работы системного администратора. И часто позволяет быстрее понять причины возникновения сбоев.

    Для регистрации отброшенных пакетов на определенном сетевом интерфейсе Вы можете использовать следующую команду:

    iptables -A INPUT -i eth0 -j LOG --log-prefix "IPtables dropped packets:"

    Также Вы можете изменить значение аргумента, идущего после опции --log-prefix на любое другое — по собственному выбору.

    У дистрибутивов CentOS / RHEL сообщения об ошибках хранятся в файлах, расположенных по адресу /var/log/messages. Тогда как у дистрибутивов Ubuntu / Debian — в каталоге /var/log/kern.log, Вы можете легко найти их с помощью следующей команды:

    grep "IPtables dropped packets:" /var/log/messages

    Блокируем доступ к определенному MAC-адресу с помощью iptables

    Фильтрация MAC-адресов позволяет Вам определять список устройств, которым разрешен доступ к сети. Стоит отметить, что сегодня это — важная часть сетевого администрирования. Чтобы заблокировать доступ к системе с определенного MAC-адреса — используйте приведенную команду:

    iptables -A INPUT -m mac --mac-source 9A:62:4E:FF:AF:56 -j DROP

    Блокировка mac-адреса

    В Вашем случаи, нужно заменить взятый в качестве примера адрес 9A:62:4E:FF:AF:56 на фактический MAC-адрес, который Вы хотите заблокировать.
     

    Ограничиваем количество одновременных подключений с одного IP-адреса

    Для уменьшения или регулирования нагрузки на определенный порт Вы можете установить количество одновременных соединений с указанным портом с одного IP-адреса. Для этого используйте команду со следующими опциями:

    iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT

    Блокировка одновременных подключений

    В результате команда установит ограничение — не более 3-х подключений для клиента к порту 22. Кроме того, опция --connlimit-above установит количество активных TCP-соединений — не более n (значение может быть изменено в соответствии с Вашими требованиями).

    Ведем поиск в правилах

    Требования безопасности сети могут насчитывать несколько десятков, а то и сотен правил. Это, конечно же, усложняет работу с ними. При возникновении какой-либо ошибки поиск соответствующего правила вручную может занять длительное время. Для удобства утилита iptables предлагает простой способ поиска по записанным правилам:

    iptables -L $table -v -n | grep $string

    В данной команде Вам нужно заменить переменную $table на таблицу, в которой Вы хотите выполнить поиск. А переменную $string — на строку, которую Вы ищете. Например:

    iptables -C OUTPUT -v -n | grep 192.168.0.100

    Создаем новую цепочку iptables

    Инструмент iptables позволяет использовать не только заранее созданные цепочки, но и создавать свои собственные. В новых цепочках Вы также можете хранить собственные правила. Для создания новой цепочки введите следующую команду:

    iptables -N <your-chain-name>

    Теперь Вы можете проверить все цепочки:

    iptables -L

    Создание новой таблицы

    Опция -N или --new-chain позволяет Вам создать цепочки с заданным названием.
     

    Сбрасываем все цепочки или правила брандмауэра iptables

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

    iptables -F

    Для сброса правил из указанной таблицы (в нашем случае — NAT) введите следующую команду:

    iptables -t nat -F

    Удаления всех правил iptables
     

    Сохраняем правила в файл

    Создание резервных копий — этот один из навыков, отличающих профессионалов в системном администрировании от новичков. Потому что Вы никогда не сможете предусмотреть все. И очень важно иметь возможность восстановить правила брандмауэра после сбоя. Вместо того чтобы настраивать все заново вручную. Для экспорта правил в файл Вы используйте команду iptables-save:

    iptables-save > ~/<your-file-name>

    Сохранение в файл
     

    Восстанавливаем правила из файла

    Чтобы восстановить ранее сохраненный список утерянных правил из файла — используйте команду iptables-restore:

    iptables-restore < ~/<your-file-name>

    Настраиваем правила в соответствии с PCI

    Системным администраторам может потребоваться настроить свои серверы на совместимость с PCI – стандарт безопасности данных индустрии платежных карт.

    Большинство систем PCI используют определенный номер версии пакета программного обеспечения, который содержит заявленную уязвимость. Перед настройкой правил убедитесь, что Вы соответствуете требованиям поставщика PCI, внимательно изучите его отчет. Возможно, Вам понадобиться заблокировать UDP-трафик на определенных портах.

    Для такой настройки на совместимость потребуется несколько IP-адресов. При написании соответствующих правил нужно быть предельно осторожным. И использовать их только в том случае, если Вы на 100% уверены, что делаете:

    iptables -I INPUT -d SITE -p tcp -m multiport --dports xx,xx,xxx,xxx,xxx,xxx,xxx,xxx -j DROP

    Если Вы используете cPanel или иную подобную панель управления — возможно, Вам также придется заблокировать её порты в соответствии со следующим примером:

    iptables -I in_sg -d DEDI_IP -p tcp -m multiport --dports xxxx,xxxx,xxxx,xxxx,xxxx,xxxx,xxxx -j DROP

    Разрешаем установленные и связанные соединения

    Поскольку любой сетевой трафик разделен на входящий и исходящий, Вам придется разрешить установленный входящий трафик в Вашу сеть. Для этого нужно использовать командную опцию --ctstate, которая позволяет задать требуемое состояние соединения:

    iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

    Для настройки правила для исходящего трафика используйте следующую команду:

    iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT

    Разрешение соединений
     

    Удаляем INVALID пакетов

    Рассмотрим использование опции --ctstate на примере удаления пакетов INVALID (то есть тех, которые относятся к неизвестному соединению). В большинстве случаев такие пакеты нужно отбрасывать (или удалять). Для этой задачи введите следующую команду:

    iptables -A INPUT -m conntrack --ctstate INVALID -j DROP

    Блокируем соединения на сетевом интерфейсе

    Некоторые компьютерные системы могут иметь более одного сетевого интерфейса. Для их настройки Вам потребуется ограничить доступ к тому или иному сетевому интерфейсу либо заблокировать соединения с указанного IP-адреса. Сделать это поможет следующая команда:

    iptables -A INPUT -i eth0 -s 192.168.59.123 -j DROP

    Блокировка соединения
     

    Блокируем отправку электронной почты с помощью iptables

    В некоторых случаях Вам нужно будет запретить отправлять электронные письма. Для этого нужно заблокировать исходящие порты протокола SMTP — такие как 25, 587, 465. Вот пример решения подобной задачи:

    iptables -A OUTPUT -p tcp --dports 25,465,587 -j REJECT

    Выводы

    Утилита iptables — это мощный брандмауэр, который позволит Вам правильно настроить все нужные правила для сети. Каждому системному администратору придется работать с множеством подобных инструментов. И мы надеемся, что данная статья помогла Вам разобраться с основами использования iptables для администратора Linux. Если вы считаете, что мы должны добавить больше примеров в это руководство — поделитесь ими в комментариях.

    Спасибо за время, уделенное прочтению статьи!

    Если возникли вопросы — задавайте их в комментариях.

    Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

     

    Категория: Linux и не только | Просмотров: 110 | Добавил: laptop | Рейтинг: 5.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    «  Декабрь 2022  »
    ПнВтСрЧтПтСбВс
       1234
    567891011
    12131415161718
    19202122232425
    262728293031
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024