Введение в IPTABLES: настройка брандмауэра в Linux

Iptables

к настроить брандмауэр или брандмауэр в Linux, мы можем использовать iptables, мощный инструмент, о котором многие пользователи, кажется, забывают. Хотя существуют и другие методы, такие как ebtables и arptables для фильтрации трафика на уровне ссылок или Squid на уровне приложений, iptables может быть очень полезен в большинстве случаев, обеспечивая хорошую безопасность в нашей системе на уровне трафика и транспорта сети. .

Ядро Linux реализует iptables, часть, которая заботится о фильтрации пакетов и что в этой статье мы научим вас настраивать простым способом. Проще говоря, iptables определяет, какую информацию можно и нельзя вводить, изолируя вашу команду от потенциальных угроз. И хотя есть другие проекты, такие как Firehol, Firestarter и т. Д., Многие из этих программ межсетевого экрана используют iptables ...

Ну, Приступим к работе, на примерах вы все лучше поймете (в этих случаях необходимо иметь привилегии, поэтому используйте sudo перед командой или станьте пользователем root):

Общий способ использования iptables для создания политики фильтрации:

IPTABLES - АРГУМЕНТЫ ВВОД / ВЫВОД ДЕЙСТВИЕ

Где -ARGUMENT аргумент, который мы будем использовать, обычно -P для установки политики по умолчанию, хотя есть и другие, например -L для просмотра политик, которые мы настроили, -F для удаления созданной политики, -Z для сброса счетчиков байтов и пакетов и т. д. Другой вариант - -A для добавления политики (не по умолчанию), -I для вставки правила в определенное место и -D для удаления данного правила. Также будут другие аргументы, указывающие на протоколы -p, –sport порт источника, –dport для порта назначения, -i входящий интерфейс, -o исходящий интерфейс, -s исходный IP-адрес и -d IP-адрес назначения.

iptables ввод-вывод

Кроме того, ввод-вывод будет представлять, если политика Он применяется ко входу INPUT, к выходу OUTPUT или является перенаправлением FORWARD трафика (есть и другие, такие как PREROUTING, POSTROUTING, но мы не будем их использовать). Наконец, то, что я назвал ACTION, может принимать значение ACCEPT, если мы принимаем, REJECT, если мы отклоняем, или DROP, если мы исключаем. Разница между DROP и REJECT заключается в том, что, когда пакет отклоняется с помощью REJECT, машина, которая его отправила, будет знать, что он был отклонен, но с DROP он действует молча, и злоумышленник или источник не будут знать, что произошло, и не будет знать, есть ли у нас брандмауэр или соединение просто не удалось. Есть также другие, такие как LOG, которые отправляют продолжение системного журнала ...

Чтобы изменить правила, мы можем редактировать файл iptables с помощью нашего предпочтительного текстового редактора, nano, gedit, ... или создавать сценарии с правилами (если вы хотите их переопределить, вы можете сделать это, поставив # перед строкой, чтобы он был игнорируется как комментарий) через консоль с командами, как мы объясним здесь. В Debian и производных вы также можете использовать инструменты iptables-save и iptables-restore ...

Самая крайняя политика - блокировать все, абсолютно весь трафик, но это оставит нас в изоляции, с:

iptables -P INPUT DROP

Принять все это:

iptables -P INPUT ACCEPT

Если мы хотим этого весь исходящий трафик от нашей команды принимается:

iptables -P OUTPUT ACEPT

La еще одним радикальным действием было бы стереть все политики из iptables с помощью:

iptables -F

Перейдем к более конкретным правиламПредставьте, что у вас есть веб-сервер, и поэтому трафик через порт 80 должен быть разрешен:

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

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

iptables -A INPUT -p tcp -s 192.168.30.0/24 --dport 80 -j ACCEPT

В предыдущей строке мы говорим iptables, чтобы добавить правило -A, чтобы входные данные INPUT и протокол TCP через порт 80 были приняты. А теперь представьте, что вы хотите, чтобы я просмотр веб-страниц отклонен для локальных машин, проходящих через машину, на которой запущены iptables:

iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 DROP

Я думаю, что использование простое, учитывая, для чего предназначен каждый параметр iptables, мы можем добавить простые правила. Вы можете делать все комбинации и правила, которые мы себе представляем ... Чтобы больше не растягивать себя, просто добавьте еще одну вещь, а именно, что при перезапуске машины созданные политики будут удалены. Таблицы перезапускаются и останутся прежними, поэтому, как только вы правильно определите правила, если вы хотите сделать их постоянными, вы должны заставить их запускаться из /etc/rc.local или, если у вас есть Debian или производные, используйте предоставленные нам инструменты (iptables-save, iptables-restore и iptables-apply).


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

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Джимми Олано сказал

    Это первая статья, которую я вижу в IPTABLES, которая, хотя и насыщенна (требует среднего уровня знаний), ПРОДОЛЖАЕТСЯ НА ЗЕРНО.

    Я рекомендую всем использовать его как «краткое справочное руководство», так как он очень хорошо сжат и объяснен. 8-)

  2.   ИИСУС сказал

    Я хотел бы, чтобы вы поговорили в будущей статье о том, влияет ли изменение на systemd в большинстве дистрибутивов Linux каким-либо образом на безопасность Linux в целом, и является ли это изменение к лучшему или худшему для будущего и дистрибутивов Linux. Я также хотел бы знать, что известно о будущем devuan (debian без systemd).
    Большое спасибо, что вы делаете очень хорошие статьи.

  3.   Slevin сказал

    Не могли бы вы сделать статью, объясняющую таблицу mangle?

  4.   Себастьян сказал

    Заблокировать только Facebook?