Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

25 НАИБОЛЕЕ ЧАСТО ИСПОЛЬЗУЕМЫЕ LINUX IPTABLES ПРАВИЛА ПРИМЕРЫ

Практика



В ПРИВЕДЕННЫХ НИЖЕ ПРИМЕРАХ МЫ ИСПОЛЬЗУЕМ ETH0 В КАЧЕСТВЕ СЕТЕВОГО ИНТЕРФЕЙСА, ОДНАКО ВАШЕ ИМЯ ИНТЕРФЕЙСА ТАКЖЕ МОЖНО БЫЛО БЫ НАЗВАТЬ VENET0: 0

Пожалуйста, выполните следующую команду:

Ifconfig

ЧТОБЫ ОПРЕДЕЛИТЬ ПРАВИЛЬНОЕ ИМЯ.

 

 

1. УДАЛИТЬ СУЩЕСТВУЮЩИЕ ПРАВИЛА

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

Iptables -F  (или)  Iptables --flush

2. УСТАНОВИТЬ ПО УМОЛЧАНИЮ ПОЛИТИКИ ЦЕПНОЙ

Политика цепи по умолчанию ACCEPT. Измените это DROP для всех входных, FORWARD и OUTPUT цепочки, как показано ниже.

Iptables -P INPUT , DROP  IPTables -P FORWARD DROP  IPTables -P OUTPUT DROP

Когда вы сделаете оба сигнал, и политику по умолчанию OUTPUT цепной в качестве DROP, для каждого брандмауэра требования правил у вас есть, вы должны определить два правила. т.е. один для входящих и один для исходящих.

Во всех наших примерах ниже, у нас есть два правила для каждого сценария, так как мы установили DROP в качестве политики по умолчанию для входа и выхода цепи.

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


3. БЛОК В КОНКРЕТНЫЕ IP-АДРЕС

Прежде чем мы продолжим будут другие примеры, если вы хотите заблокировать определенный IP-адрес, вы должны сделать это первым, как показано ниже. Изменение «XXXX» в следующем примере к конкретному IP-адресу, который вы хотите заблокировать.

BLOCK_THIS_IP = "XXXX"  Iptables -A INPUT -s "$ BLOCK_THIS_IP" -j DROP

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

Кроме того, можно использовать один из следующих вариантов, который блокирует только TCP трафик на eth0 соединения для этого IP-адреса.

Iptables - A ВХОДНОЙ -i eth0 -s "$ BLOCK_THIS_IP" -j DROP  Iptables -A ВХОДА -i eth0 -p TCP -s "$ BLOCK_THIS_IP" -j DROP



4. РАЗРЕШИТЬ ВСЕ ВХОДЯЩИЕ SSH

Следующие правила разрешают все входящие соединения SSH на интерфейсе eth0.

Iptables - A ВХОДНОЙ -i eth0 -p TCP --dport 22 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 22 -м состояние --state ESTABLISHED -j ACCEPT



5. РАЗРЕШИТЬ ВХОДЯЩИЙ SSH ТОЛЬКО ИЗ СЕТИ SEPCIFIC

Следующие правила разрешают входящий SSH соединение только от сети 192.168.100.X.

Iptables - A ВХОДНОЙ -i eth0 -p TCP -s 192.168.100.0/24 --dport 22 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 22 -м состояние --state ESTABLISHED -j ACCEPT

В приведенном выше примере, вместо / 24, вы можете также использовать полную маску подсети. т.е. «192.168.100.0/255.255.255.0".



6. РАЗРЕШИТЬ ВХОДЯЩИЙ HTTP И HTTPS

Следующие правила разрешают все входящие веб-трафик. т.е. HTTP трафик на порт 80.

Iptables - A ВХОДНОЙ -i eth0 -p TCP --dport 80 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 80 -м состояние --state ESTABLISHED -j ACCEPT

Следующие правила разрешают все входящие безопасный веб-трафика. т.е. HTTPS трафик на порт 443.

Iptables - A ВХОДНОЙ -i eth0 -p TCP --dport 443 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 443 -m состояние --state ESTABLISHED -j ACCEPT



7. ОБЪЕДИНЕНИЕ НЕСКОЛЬКИХ ПРАВИЛ ВМЕСТЕ С ИСПОЛЬЗОВАНИЕМ МНОГОПОРТОВЫХ

Когда вы разрешаете входящие соединения от внешнего мира к нескольким портам, вместо того, чтобы писать отдельные правила для каждого порта, вы можете объединить их вместе с расширением мультипортового, как показано ниже.

Следующий пример разрешает все входящие SSH, HTTP и HTTPS-трафик.

Iptables - A ВХОДНОЙ -i eth0 -p TCP -m мультипортовый --dports 22,80,443 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP -m мультипортовый --sports 22,80,443 -m состояние --state ESTABLISHED -j ACCEPT



8. РАЗРЕШИТЬ ИСХОДЯЩИЕ SSH

Следующие правила позволяют подключать исходящие SSH. то есть когда вы SSH изнутри внешнего сервера.

Iptables -A OUTPUT -o eth0 -p TCP --dport 22 -m состояния --state NEW, ESTABLISHED -j ACCEPT  IPtables -A ВХОД -i eth0 -p TCP --sport 22 -й состояния --state ESTABLISHED -j ACCEPT

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



9. РАЗРЕШИТЬ ИСХОДЯЩИЕ SSH ТОЛЬКО К КОНКРЕТНОЙ СЕТИ

Следующие правила позволяют исходящее соединение SSH только для конкретной сети. то есть вам SSH только 192.168.100.0/24 сети с внутренней стороны.

Iptables -A OUTPUT -o eth0 -p TCP -d 192.168.100.0/24 --dport 22 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A ВХОД -i eth0 -p TCP --sport 22 -m состояния --state ESTABLISHED -j ACCEPT



10. РАЗРЕШИТЬ ИСХОДЯЩИЕ HTTPS

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

Iptables -A OUTPUT -o eth0 -p TCP --dport 443 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A ВХОДА -i eth0 -p TCP --sport 443 -m состояние --state ESTABLISHED -j ACCEPT

Примечание: Для исходящего HTTP веб-трафика, добавьте две дополнительные правила, как указано выше, и изменить 443 на 80.


11. РАСПРЕДЕЛЕНИЕ НАГРУЗКИ ВХОДЯЩЕГО ВЕБ-ТРАФИКА

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

При этом используется IPtables п-й расширение. В следующем примере нагрузка уравновешивает трафик HTTPS на три различные IP-адрес. Для каждого пакета 3-й, это балансировкой нагрузки на соответствующий сервер (с помощью счетчика 0).

IPTables -A PREROUTING -i eth0 -p TCP --dport 443 -m состояние --state NEW -m п - й --counter 0 --every 3 --packet 0 -j DNAT --to-назначения 192.168.1.101:443  Iptables -A PREROUTING -i eth0 -p TCP --dport 443 -m состояние --state NEW -m п - й --counter 0 --every 3 --packet 1 -j DNAT --to-назначения 192.168.1.102:443  Iptables - PREROUTING -i eth0 -p TCP --dport 443 -m состояние --state NEW -m п - й --counter 0 --every 3 --packet 2 -j DNAT --to-192.168.1.103:443 назначения



12. РАЗРЕШИТЬ PING СНАРУЖИ ВНУТРЬ

Следующие правила позволяют внешним пользователям иметь возможность пинговать сервера.

Iptables -A ВХОД -p ICMP --icmp типа эхо-запроса -j ACCEPT  IPTables -A OUTPUT -p ICMP --icmp типа эхо-ответа -j ACCEPT



13. РАЗРЕШИТЬ PING ИЗНУТРИ НАРУЖУ

Следующие правила позволяют свистеть внутри любой из внешних серверов.

Iptables -A OUTPUT -p ICMP --icmp типа эхо-запрос -j ACCEPT  IPTables -A ВХОД -p ICMP --icmp тип эхо-ответ -j ACCEPT



14. РАЗРЕШИТЬ ДОСТУП LOOPBACK

Вы должны обеспечить полный доступ кольцевой проверки на серверах. т.е. доступа с использованием 127.0.0.1

Iptables - A ВХОДНОЙ -i -j ACCEPT л  Iptables -A OUTPUT -o л -j ACCEPT



15. РАЗРЕШИТЬ ВНУТРЕННЮЮ СЕТЬ К ВНЕШНЕЙ СЕТИ.

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

В этом примере, eth1 подключен к внешней сети (Интернет), и eth0 подключен к внутренней сети (например: 192.168.1.x).

Iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT



16. РАЗРЕШИТЬ ИСХОДЯЩИЙ DNS

Следующие правила разрешают исходящие соединения DNS.

Iptables -A OUTPUT -p УДП -o eth0 --dport 53 -j ACCEPT  IPtables -A ВХОДА -p -i eth0 УДП --sport 53 -j ACCEPT



17. РАЗРЕШИТЬ NIS CONNECTIONS

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

Порты NIS являются динамическими. т.е. когда ypbind начинает он выделяет порты.

Во-первых сделать rpcinfo -p, как показано ниже, и получить номера портов. В этом примере, это использует порт 853 и 850.

rpcinfo -p | Grep ypbind

Теперь позвольте входящее подключение к порту 111, а также порты, которые использовались ypbind.

Iptables - A ВХОД -p TCP --dport 111 -j ACCEPT  IPTables -A ВХОД -p УДП --dport 111 -j ACCEPT  IPtables -A INPUT -p TCP --dport 853 -j ACCEPT  IPtables -A ВХОД -p УДП - -dport 853 -j ACCEPT  IPTables -A ВХОДА -p TCP --dport 850 -j ACCEPT  IPTables -A ВХОД -p UDP --dport 850 -j ACCEPT

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

Есть два решения этого: 1) Использовать статический IP-адрес для NIS, или 2) Используйте некоторые умные методы создания сценариев оболочки автоматически захватить динамический номер порта вывода команды «rpcinfo -p», и использовать их в выше Iptables правила.



18. РАЗРЕШИТЬ RSYNC ИЗ ОПРЕДЕЛЕННОЙ СЕТИ

Следующие правила позволяют Rsync только из определенной сети.

Iptables - A ВХОДНОЙ -i eth0 -p TCP -s 192.168.101.0/24 --dport 873 -m состояния --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 873 -m состояние --state ESTABLISHED -j ACCEPT



19. РАЗРЕШИТЬ MYSQL ПОДКЛЮЧЕНИЕ ТОЛЬКО ОТ КОНКРЕТНОЙ СЕТИ

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

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

Iptables - A ВХОДНОЙ -i eth0 -p TCP -s 192.168.100.0/24 --dport 3306 -m состояния --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 3306 -м состоянии --state ESTABLISHED -j ACCEPT



20. РАЗРЕШИТЬ SENDMAIL ИЛИ POSTFIX ТРАФИКА

Следующие правила позволяют почтовый трафик. Это может быть Sendmail или постфикса.

Iptables - A ВХОДНОЙ -i eth0 -p TCP --dport 25 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 25 -м состояние --state ESTABLISHED -j ACCEPT



21. РАЗРЕШИТЬ IMAP И IMAPS

Следующие правила позволяют IMAP / IMAP2 трафика.

Iptables - A ВХОДНОЙ -i eth0 -p TCP --dport 143 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 143 -m состояние --state ESTABLISHED -j ACCEPT

Следующие правила позволяют IMAPS трафик.

Iptables - A ВХОДНОЙ -i eth0 -p TCP --dport +993 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport +993 -m состояние --state ESTABLISHED -j ACCEPT



22. РАЗРЕШИТЬ POP3 И POP3S

Следующие правила разрешают доступ по протоколу POP3.

Iptables - A ВХОДНОЙ -i eth0 -p TCP --dport 110 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 110 -m состояние --state ESTABLISHED -j ACCEPT

Следующие правила позволяют POP3S доступа.

Iptables - A ВХОДНОЙ -i eth0 -p TCP --dport 995 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 995 -m состояние --state ESTABLISHED -j ACCEPT



23. ПРЕДОТВРАЩЕНИЕ DOS АТАКИ

Правило следующие Iptables поможет вам предотвратить отказ в обслуживании (DoS) атаки на вашем веб-сервере.

Iptables-A ВХОД -p TCP --dport 80 -m предел --limit 25 / мин --limit-Burst 100 -j ACCEPT

В приведенном выше примере:

  • -m ограничения: Это использует расширение предела IPtables
  • -предел 25 / минута: Это ограничивает только максимум 25 соединения в минуту. Измените это значение на основе ваших конкретных требований
  • -предел-взрыв 100: Это значение указывает на то, что предел / мин будет применяться только после того, как общее количество соединения достигли предельного уровня всплеска.



24. PORT FORWARDING

Следующий пример маршруты весь трафик, который приходит к порту 442 до 22. Это означает, что соединение входящего SSH может исходить от оба порта 22 и 422.

Iptables -t физ -A PREROUTING -p TCP -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22

Если вы выше, вы также должны явно разрешить входящие соединения на порт 422.

Iptables - A ВХОДНОЙ -i eth0 -p TCP --dport 422 -m состояние --state NEW, ESTABLISHED -j ACCEPT  IPTables -A OUTPUT -o eth0 -p TCP --sport 422 -m состояние --state ESTABLISHED -j ACCEPT



25. ВХОД БРОШЕНО ПАКЕТЫ

Вы также можете регистрировать все сброшенные пакеты. Эти правила должны быть на дне.

Во-первых, создать новую цепь протоколирования.

Iptables -N РЕГИСТРАЦИИ

Далее, убедитесь, что все остальные входящие соединения перехода к LOGGING цепи, как показано ниже.

Iptables -A INPUT -j РЕГИСТРАЦИИ

Далее, бревенчатый эти пакеты, указав обычай «лог-префикс».

Iptables -a -m Logging предел --limit 2 / мин -j LOG --log-приставка "IPTables Пакет брошено:" --log-7-го уровня

И, наконец, отбросить эти пакеты.

Iptables -A лесозаготовительного -j DROP
создано: 2017-05-20
обновлено: 2021-03-13
132266



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Компьютерные сети

Термины: Компьютерные сети