Брандмауэр Linux открывает определенные порты (iptables)
Брандмауэр Linux открывает определенные порты (iptables)

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

Посмотреть статус: iptables -L -n Добавьте следующий метод, чтобы открыть определенный порт: Используйте iptables, чтобы открыть следующие порты /sbin/iptables -I INPUT -p tcp –dport 8000 -j ПРИНЯТЬ сохранять /etc/rc.d/init.d/iptables сохранить Перезапустить службу служба iptables перезапускается Проверьте, эффективен ли порт, который необходимо открыть? Статус /etc/init.d/iptables

Метод 2: Или отредактируйте /etc/sysconfig/iptables напрямую. -A ВХОД -p tcp -m tcp –dport 4000 -j ПРИНЯТЬ Сохранить в предыдущем разделе Перезапуск: служба iptables перезапускается

20 Использование правил брандмауэра IPTables!

ВведениеУправление сетевым трафиком — одна из самых сложных задач, с которыми приходится сталкиваться системному администратору, и пользователи, подключающиеся к системе, должны соблюдать входящие и исходящие требования брандмауэра, чтобы максимизировать защиту системы от атак. Многие пользователи ставят Linux в IPTables В качестве брандмауэра, строго говоря IPTables Это просто помогает администраторам определять различные правила и взаимодействовать с Linux Kernel Инструмент командной строки для общения. Это просто помогает администраторам настраивать списки входящих и исходящих правил для сетевого трафика. На самом деле конкретная реализация. Linux в ядре.

IPTables состоит из набора «цепочек» встроенных и определяемых пользователем правил, к которым администраторы могут привязывать различные правила обработки пакетов.

  • FILTER Таблица фильтров по умолчанию, встроенные цепочки:
    • ВВОД: Обработка входящих пакетов локальных данных.
    • FORWARD: обрабатывает пакеты, проходящие через систему.
    • ВЫХОД: Обработка локальных исходящих пакетов данных.
  • NAT Таблица для реализации трансляции сетевых адресов. Встроенные цепочки:
    • PREROUTING: обработка предстоящих пакетов.
    • ВЫХОД: обработка локально сгенерированных пакетов данных.
    • POSTROUTING: обработка исходящих пакетов.
  • MANGLE Эта таблица используется для изменения пакета данных, всего 5 Цепь:
    • PREROUTING: обработка входящих соединений
    • ВЫХОД: обработка локально сгенерированных пакетов.
    • ВВОД: Обработать сообщение.
    • POSTROUTING: обработка исходящих пакетов.
    • FORWARD: обработка пакетов, пересылаемых через этот компьютер.

Далее мы представим 25 правил IPTables, наиболее часто используемых администраторами Linux, от простых к сложным.

1. Запуск, остановка и перезапуск IPTables.

Хотя IPTables не является службой, ее статусом все равно можно управлять, как службой в Linux.

Система на базе SystemD

Язык кода:javascript
копировать
systemctl start iptables
systemctl stop iptables
systemctl restart iptables

Система на базе SysVinit

Язык кода:javascript
копировать
 /etc/init.d/iptables start
/etc/init.d/iptables stop
/etc/init.d/iptables restart

2. Просмотрите политику брандмауэра IPtables.

Вы можете просмотреть политики брандмауэра IPtables, используя следующую команду:

Язык кода:javascript
копировать
 iptables -L -n -v

Приведенная выше команда должна вернуть вывод данных ниже:

Приведенная выше команда предназначена для просмотра значения по умолчанию FILTER таблицы, если вы хотите просмотреть только конкретную таблицу, вы можете -t За параметром следует имя таблицы, которая будет просматриваться индивидуально. Например, только просмотр NAT правила стола,Можетиспользоватьследующее Заказ:

Язык кода:javascript
копировать
 iptables -t nat -L -v –n

3. Заблокировать IP-адрес

Если вы публикуете IP-адрес, который импортирует атаки или аномальный трафик на сервер, вы можете использовать следующие правила для блокировки его IP-адреса:

Язык кода:javascript
копировать
 iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP

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

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

Язык кода:javascript
копировать
iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx -j DROP

4. Разблокировать IP-адрес

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

Язык кода:javascript
копировать
 iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP

Параметр -D означает удаление одного или нескольких правил из цепочки.

5. Используйте IPtables для закрытия определенных портов.

Часто нам нужно заблокировать сетевое соединение определенного порта. Мы можем использовать IPtables, чтобы закрыть определенный порт.

Блокируйте определенные исходящие соединения:

Язык кода:javascript
копировать
 iptables -A OUTPUT -p tcp --dport xxx -j DROP

Блокируйте определенные входящие соединения:

Язык кода:javascript
копировать
iptables -A INPUT -p tcp --dport xxx -j ACCEPT

6. Используйте Multiport для управления несколькими портами.

Используя multiport, мы можем записать несколько портов в одном правиле одновременно, например:

Язык кода:javascript
копировать
iptables -A INPUT  -p tcp -m multiport --dports 22,80,443 -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --sports 22,80,443 -j ACCEPT

7. Используйте диапазоны IP-адресов в правилах.

В IPtables диапазоны IP-адресов можно выразить напрямую с помощью CIDR, например:

Язык кода:javascript
копировать
iptables -A OUTPUT -p tcp -d 192.168.100.0/24 --dport 22 -j ACCEPT

8. Настройте переадресацию портов

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

Язык кода:javascript
копировать
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 2525

Приведенная выше команда перенаправит весь трафик, поступающий на порт 25 сетевой карты eth0, на порт 2525.

9. Блокируйте флуд-атаки HTTP-сервиса.

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

Язык кода:javascript
копировать
iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/minute --limit-burst 200 -j ACCEPT

Приведенная выше команда ограничит количество подключений до 100 в минуту с ограничением в 200.

10. Запретить PING

Чтобы отключить PING в Linux, вы можете использовать следующие правила для блокировки входящих соединений ICMP:

Язык кода:javascript
копировать
iptables -A INPUT -p icmp -i eth0 -j DROP

11. Разрешить доступ к сетевой карте обратной связи.

Шлейфовый доступ (127.0.0.1) более важен, и его рекомендуется открыть всем:

Язык кода:javascript
копировать
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

12. Заблокировать указанный MAC-адрес.

Используйте следующие правила для блокировки определенных MAC-адресов:

Язык кода:javascript
копировать
iptables -A INPUT -m mac --mac-source 00:00:00:00:00:00 -j DROP

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

Если вам не нужно слишком много одновременных подключений с определенного порта, вы можете использовать такое правило:

Язык кода:javascript
копировать
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT

Вышеуказанные правила ограничивают не более 3 подключений на одного клиента.

14. Очистите правила IPtables

Чтобы очистить цепочку IPtables, используйте следующую команду:

Язык кода:javascript
копировать
iptables -F

Чтобы очистить конкретную таблицу, вы можете указать ее с помощью параметра -t, например:

Язык кода:javascript
копировать
iptables -t nat –F

15. Сохраните правила IPtables

По умолчанию администраторы IPtables Действия правила вступают в силу немедленно. Однако, поскольку все правила находятся в памяти, перезапуск системы приведет к безвозвратной потере конфигурации. IPtables правила можно использовать iptables-save Заказ:

Язык кода:javascript
копировать
iptables-save > ~/iptables.rules

Вы можете изменить сохраненное имя самостоятельно.

16. Восстановить правила IPtables

Сохранение естественно соответствует восстановлению. Для восстановления сохраненных правил можно использовать команду iptables-restore:

Язык кода:javascript
копировать
iptables-restore < ~/iptables.rules

17. Разрешить установку соответствующих соединений.

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

Язык кода:javascript
копировать
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Правила, позволяющие устанавливать исходящие связанные соединения:

Язык кода:javascript
копировать
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT

18. Отбрасывайте недействительные пакеты данных.

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

Язык кода:javascript
копировать
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP

19. IPtables блокирует правила отправки электронной почты

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

Язык кода:javascript
копировать
iptables -A OUTPUT -p tcp --dports 25,465,587 -j REJECT

20. Заблокировать подключения к определенной сетевой карте

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

Язык кода:javascript
копировать
iptables -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -j DROP

Исходный адрес может быть IP или CIDR.

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

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/180156.html Исходная ссылка: https://javaforall.cn

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose