Как защитить Linux Ubuntu от атак из интернета. Настройка Firewall!

Обновлено:

Приветствую Всех!

В этой статье речь пойдет о безопасности. Мы рассмотрим как закрыть доступ к вашему компьютеру из интернета, настроив встроенного в ядро Linux брандмауэра Netfilter с помощью интерфейса управления iptables на Ubuntu 14.04 LTS. Мы настроим ряд базовых правил брандмауэра.

Как сказано выше, iptables — это по сути пользовательский интерфейс управления встроенного в ядро Linux брандмауэра Netfilter. Iptables работает всеми поступающими пакетами на основе определенных правил (Rules), которые группируются в цепочки (Chains). Все правила и цепочки хранятся в таблице (Tables).

Существует три типа правил iptables — input, forward и output.

Input — Такие цепочки используются для контроля поведения входящих соединений. К примеру, если пользователь попробует подключиться к серверу по SSH, то iptables сравнит его IP-адрес со своим списком, чтобы разрешить или запретить доступ.
Forward — Правила этого типа используются для обработки входящих сообщений, конечный пункт назначения которых не является текущим компьютером. К примеру, если вам необходимо подключиться к еще одному вашему компьютеру расположенному в локальной сети. Если вам этого делать не нужно, то правила этого типа вы не будете использовать.
Output — Такие цепочки используются для исходящих соединений. К примеру, если пользователь пытается отправить запрос ping к сайту serfery.ru, iptables проверит цепочку правил, чтобы понять, что нужно делать в случае ping, и только потом разрешит или запретит соединение.

Посмотрим текущий список правил в таблице filter.

sudo itables -L


Как защитить linux ubuntu от атак из интернета

Как видим, в исходной конфигурации наш компьютер содержит в таблице filter эти три цепочки правил — это INPUT, OUTPUT и FORWARD. В каждой из этих цепочек установлена политика по умолчанию — ACCEPT, то есть принимаются любые пакеты. И ни в одной из них нет каких-либо правил.

Рассмотрим простой пример настройки цепочки INPUT исходя из принципа – всё, что не разрешено, то запрещено, поменяв политику по умолчанию на запрещающую (DROP) и добавив ряд правил разрешающих только определённый трафик.

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

1. Правило, разрешающее любой входящий трафик на служебный внутренний loopback device. Это может потребоваться для корректной работы разных служб и приложений.

sudo iptables -I INPUT 1 -i lo -j ACCEPT


Как защитить linux ubuntu от атак из интернета

2. Правило для поддержки уже разрешённых ранее и установленных соединений

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


Как защитить linux ubuntu от атак из интернета

Изменяем политику для всего входящего трафика не попавшего ни под одно правило в цепочке INPUT на запрещающую:

sudo iptables -P INPUT DROP


Как защитить linux ubuntu от атак из интернета

Посмотрим как теперь выглядит наш список правил в таблице filter.

sudo iptables -S


Как защитить linux ubuntu от атак из интернета

Видим что наши цепочки INPUT изменила свою политику на запрещающую (DROP) и добавились 2 наших правила.

Добавим запрещающую политику и для протокола IPv6.

sudo ip6tables -P INPUT DROP

И посмотрим изменения внесенные в правила для этого протокола.

sudo ip6tables -S


Как защитить linux ubuntu от атак из интернета

Здесь также видим что наши цепочки INPUT изменили свою политику на запрещающую (DROP).

Также по аналогии с цепочкой INPUT поменяем политики правил брандмауэра по умолчанию в цепочках FORWARD для IPv4 и IPv6 на запрещающие:

sudo iptables -P FORWARD DROP
sudo ip6tables -P FORWARD DROP


Как защитить linux ubuntu от атак из интернета

И также убеждаемся, что изменения внесены в правила для цепочки FORWARD.


Как защитить linux ubuntu от атак из интернета

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

sudo iptables -F INPUT
sudo iptables -P INPUT ACCEPT


Как защитить linux ubuntu от атак из интернета

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

sudo iptables -t filter -n -L -v --line-numbers

Где:

  • L : Показать список правил.
  • v : Отображать дополнительную информацию. Эта опция показывает имя интерфейса, опции, TOS маски.
  • n : Отображать IP адрес и порт числами.


Как защитить linux ubuntu от атак из интернета

Например для удаления правила номер 2 из цепочки правил INPUT выполним команду

sudo iptables -D INPUT 2

и посмотрим список правил

sudo iptables -t filter -n -L -v --line-numbers


Как защитить linux ubuntu от атак из интернета

Видим, что теперь в цепочки правил INPUT осталось только одно правило.

Настроенные правила вступают в силу сразу после их создания и будут действовать до следующей перезагрузки системы. Чтобы эти правила восстанавливались при последующих загрузках системы, скачиваем скрипт ip-firewall и сохраняем его в папку «Загрузки». Далее копируем его в системную папку для загрузки скриптов.

sudo cp ~/Загрузки/ip-firewall /etc/init.d

И устанавливаем на него необходимые права.

sudo chmod 755 /etc/init.d/ip-firewall


Как защитить linux ubuntu от атак из интернета

Запустим скрипт и посмотрим с какими ключами его можно запускать

sudo /etc/init.d/ip-firewall


Как защитить linux ubuntu от атак из интернета

start — служит для загрузки правил iptables
stop — служит для очистки цепочек правил INPUT, OUTPUT и FORWARD. А также для установки политик в состояние ACCEPT.
list — показывает сохраненные конфигурации правил и конфигурацию используемую по умолчанию.
makedefault — активирует конфигурацию которая будет использоваться по умолчанию.
savecurrent— сохраняет текущую конфигурацию.

Сохраним нашу текущую конфигурацию.

sudo /etc/init.d/ip-firewall savecurrent


Как защитить linux ubuntu от атак из интернета

Система сообщает нам об успешном сохранении.

Посмотрим какие у нас есть сохраненные конфигурации и какая из них используется по умолчанию при старте системы

sudo /etc/init.d/ip-firewall list


Как защитить linux ubuntu от атак из интернета

Сейчас сохранено 2 конфигурации «iptables.clean» и созданная нами «iptables-20151230-093419». По умолчанию используется конфигурации «iptables.clean». Изменим ее на нашу.

sudo /etc/init.d/ip-firewall makedefault iptables-20151230-093419


Как защитить linux ubuntu от атак из интернета

Запустив повторно команду

sudo /etc/init.d/ip-firewall list


Как защитить linux ubuntu от атак из интернета

видим, что конфигурация используемая по умолчанию сменилась на нашу «iptables-20151230-093419».

Теперь осталось только добавить наш скрипт в автозагрузку. Для этого выполним команду

sudo update-rc.d ip-firewall defaults

И после перезагрузки наши правила будут активированы.

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

Нет комментариев

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

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

Сообщение