ГлавнаяОперационные системыLinuxКак защитить рабочий стол Linux с помощью Iptables

Как защитить рабочий стол Linux с помощью Iptables

DHCP

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

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

Читайте также: Что такое Log4Shell и как защитить от него вашу систему Linux

Что такое Iptables?

Iptables — это межсетевой экран ядра Linux. Он входит в состав каждого дистрибутива Linux и представляет собой наиболее прямой способ управления входящим и исходящим трафиком вашего компьютера.

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

Структура команд

Все правила iptables имеют одну и ту же базовую

Что такое Iptables?

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

-A INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED --sport 80 -j ACCEPT

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

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

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

Флаг -mнемного отличается. Он используется для подтверждения того, что существует условие, которое должно быть выполнено, чтобы трафик не был отклонен. Условием в этом правиле является состояние.

Состояние на самом деле является следующим флагом. Вам необходимо предоставить --stateсписок допустимых состояний, написанный заглавными буквами и разделенный запятыми. Это правило принимает как новые, так и установленные соединения.

Предпоследний флаг здесь — --sport. Он означает «порт-источник» и сообщает iptables, откуда поступает трафик. Существует также флаг --dport, обозначающий «порт назначения». Он используется для OUTPUTправил, определяющих, с какого порта поступает трафик.

Наконец, есть флаг -j. Он сообщает iptable, к какому действию следует «перейти». В этом случае он должен ACCEPTтрафика, соответствующего предыдущим условиям.

Читайте также: Как использовать сканер уязвимостей Nessus в Linux

Использование файла

Вы можете вводить свои правила в iptables вручную по одному. Это невероятно утомительно, и очень легко потерять представление о том, где вы находитесь и что делаете. Гораздо лучше создать файл правил, который можно будет сразу импортировать в iptables.

Не имеет значения, где вы создаете файл. Люди даже создают их в каталоге /tmp, потому что iptables сохраняет результат после его импорта.

Создайте файл. В этом руководстве будет использоваться /tmp/iptables-ip4. В файл добавьте следующие две строки. Все ваши правила будут действовать между ними.

*filter
 
# Your Rules Here
 
COMMIT

Создайте свои правила

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

Петля

Интерфейс обратной связи — это внутренний интерфейс, используемый Linux.

-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT

Пинг

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

-A INPUT -i eth0 -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT
-A INPUT -i eth0 -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -o eth0 -p icmp -j ACCEPT

Интернет

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

-A INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED --sport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m state --stateИспользование файла--sport 443 -j ACCEPT
 
-A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 443 -j ACCEPT

Вам также потребуется разрешить DNS-соединения, чтобы ваш компьютер мог использовать URL-адреса, а не только IP-адреса, поскольку это было бы не очень удобно. Замените IP-адрес вашего маршрутизатора на тот, который используется здесь.

-A INPUT -i ens3 -s 192.168.1.1 -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -o ens3 -d 192.168.1.1 -p udp --dport 53 -m udp -j ACCEPT

Время

Большинство настольных компьютеров Linux используют NTP для уста

Создайте свои правила

времени через Интернет. Чтобы узнать время, вам необходимо разрешить компьютеру подключаться к NTP-серверу.

-A INPUT -i eth0 -p udp -m state --state ESTABLISHED,RELATED --dport 123 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --sport 123 -jПетляre>

Печать

Если вы не используете USB-принтер или внешний сервер печати, вам необходимо включить подключение к CUPS.

-A INPUT -p udp -m udp --dport 631 -j ACCEPT
<

Пинг

> INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A OUTPUT -p udp -m udp --sport 631 -j ACCEPT -A OUTPUT -p tcp -m tcp --sport 631 -j ACCEPT

Электронная почта

Вероятно, вы тоже захотите иметь возможность отправлять и получать электронную почту. Электронная почта может быть сложной. Разрешенные здесь порты — это порты электронной почты SSL. Если вам нужно использовать незащищенную электронную почту, замените эти порты.

# IMAP
-A INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED --sport 993Интернетpan> ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 993 -j ACCEPT
 
# POP3
-A INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED --sport 995 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 995 -j ACCEPT
 
# SMTP
-A INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED --sport 465 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 465 -j ACCEPT

SSH

Чтобы в полной мере использовать соединения SSH, вам необходимо разрешить как ввод, так и вывод через SSH.

# Input
-A INPUT -i ens3 -p tcp -m state --state NEW,ESTABLISHED --dport 22 -j ACCEPT
-A OUTPUT -o ens3 -p tcp -m state --state ESTABLISHED --sport 22 -j ACCEPT
# Output
-A OUTPUT -o ens3 -p tcp -m state --state NEW,ESTABLISHED --dport 22 -j ACCEPT
-A INPUT -i ens3 -p tcp -m state --state ESTABLISHED --sport 22 -j ACCEPT

DHCPВремя

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

-A INPUT -i eth0 -p udp -m state --state ESTABLISHED,RELATED --sport 67:68 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 67:68 -j ACCEPT

Отклонить все остальное

Наконец, вы сообщите iptables отклонять абсолютно все, что вы явно не раз

Печать

ах выше.

-A INPUT -j REJECT
-A FORWARD -j REJECT
-A OUTPUT -j REJECT

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

правила iptables

Читайте также: Как использовать хранилище паролей для управления паролями в Linux

Импорт ваших правил

Теперь у вас есть полнофункциональный список правил

Электронная почта

передать его iptables для использования.

Если какие-то правила были добавлены со временем, удалите их. После этих команд вы увидите настройки по умолчанию, которые разрешают все.

sudo iptables -F && sudo iptables -X

Iptables четкие правила

Когда они исчезнут, вы можете восстановить новые из созданного вами файла.

sudo iptables-restore < /tmp/itpables-ip4

Теперь ваш компьютер использует новые правила iptables. Вы можете ознакомиться с ними.

sudo iptables -S

Список правил Iptables

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

Читайте также: Как защитить ваши Linux-серверы с помощью SELinux

Сделать их постоянными

Есть несколько способов сделать правила постоянными. Они разные для каждого дистрибутива. В этом руководстве основное внимание будет уделено системам на базе Debian и Ubuntu, поскольку они наиболее популярны.

Существует пакет iptables-persistantSSHуправляет сохранением и восстановлением iptables. Все, что вам нужно сделать, это установить его.

sudo apt install iptables-persistent

Сохранить правила Iptables

Во время установки пакет спросит вас, хотите ли вы сохранить конфигурацию. Выберите «Да».

В будущем, если вы захотите добавить правила, вы можете сохранить их еще раз, выполнив следующую команду.

sudo service netfilter-persistent save

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

Отклонить все остальное

Импорт ваших правил

Сделать их постоянными

ПОХОЖИЕ СТАТЬИ

Популярные записи