Firewall для сервера linux

Как настроить Firewall Iptables для ОС Линукс

Для новичков и продвинутых пользователей операционный системы Линукс был разработан специальный межсетевой экран (так называемый «файрвол») для защиты от угроз извне, который носит имя Iptables. Ниже в инструкции мы объясним, как его установить и настроить на любых машинах под ОС Linux.

Что представляет собой Iptables

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

Файрвол предусмотрен стандартно во всех операционных системах Линукс. Для установки, если его внезапно не оказалось в сборке, или обновления следует применить такую команду:

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

В случае настроек Iptables по удаленному SSH-соединению, пользователю следует проявлять аккуратность: одно ошибочное правило способно прервать подключение и запретить юзеру доступ к удаленной машине.

Какие бывают правила

Для легкой работы с файрволом разработана тройка основных правил (команд):

Правило применяется, когда необходимо контролировать входящий трафик. Например, когда юзер подключается к удаленному серверу по протоколу Secure Shell, файрвол начнет сравнивать его айпи с другими айпи из своего списка. В зависимости от результата, то есть от наличия в списке запретов, доступ пользователю будет открыт или закрыт.

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

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

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

Читайте также:  Using alias in linux

Как определиться с назначением файрвола

Перед тем, как заниматься настройкой утилиты, потребуется разобраться с ее предназначением, а именно – действующими цепочками правил, то есть то, что она будет делать по умолчанию. Как отреагировать, когда запрашиваемые соединения не подходят ни к одному правилу?

Для начала потребуется понять, какие из настроек межсетевого экрана уже установлены. Для этого применяется команда –L:

Настройки межсетевого экрана

Для четкого и понятного вывода информации можно воспользоваться дополнительной командой «grep». В итоге мы получаем тройку цепочек, у каждой из которых стоит разрешение приема трафика. Подобные правила предпочитают устанавливать при стандартной настройке.

Если в процессе эксплуатации Iptables конфигурация была кем-то изменена, значения могут стоять другие. Проверить это можно за пару секунд, достаточно ввести команды:

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

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

Что делать с соединением

Настроив поведение утилиты, которое будет происходить автоматически, следует приступать к правилам, обрабатывающим входящий/исходящий трафик. Основные способы взаимодействия с трафиком:

Accept – разрешение определенного соединения;

Drop – игнорирование запросов (межсетевой экран продолжает свое функционирование, будто никакого запроса не происходило, а запрашивающие ресурсы не узнают об игнорировании);

Reject – блокировка входящего трафика и отправка ответных сообщений с обозначением ошибки (в таком случае запрашивающие ресурсы будут уведомлены о блокировке их трафика).

Пример того, как будет выглядеть ping для

Разрешенного соединения (Accept):

Ping для разрешенного соединения

Проигнорированного трафика (Drop):

Ping для проигнорированного трафика

Отклоненного подключения (Reject):

Ping для отклоненного подключения

Разрешение и блокировка указанных соединений Iptables

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

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

В случае, когда необходимо разместить правила в определенное место (перед каким-то определенным), следует воспользоваться командой:

iptables -I [цепочка] [номер позиции по списку для нового правила]

Что делать с соединениями от одного айпи

Для блокировки трафика, поступающего из одного и того же источника (например, айпи 120.120.120.120) подойдет команда:

Для блокировки трафика, поступающего с нескольких айпишников в определенном диапазоне, следует воспользоваться стандартной записью масок посредством слэша:

Либо записью необходимого диапазона:

Подключения к определенному порту

Следующая команда сделает блокировку соединений типа Secure Shell с хостом 120.120.120.120:

Читайте также:  Запуск linux внутри другого linux

На месте Secure Shell допустимо применение любого протокола. После команды –р указывается тип подключений, в данном случае – TCP. В случае, когда используется другой тип, следует указывать его.

Любому айпишнику будет запрещено подключаться к машине по Secure Shell соединению, если выполнить:

О состояниях соединения

Существует множество протоколов, которым требуется двусторонняя коммуникация. К примеру, пользователю понадобилось поработать с SSH-соединением, ему придется внести правило сразу и в Output, и в Input.

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

Разрешим соединение типа SSH, приходящее через хост 120.120.120.120. Система будет отправлять данные по этому протоколу только, если сессия установлена.

iptables -A INPUT -p tcp —dport ssh -s 120.120.120.120 -m state —state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp —sport 22 -d 120.120.120.120 -m state —state ESTABLISHED -j ACCEPT

Как сохранить изменения в конфигурации файрвола

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

Для Убунту команда выглядит так:

Источник

7 лучших файрволов c открытым исходным кодом для защиты вашей сети

Насколько безопасна ваша сеть? Используете ли вы файрвол для защиты вашей сетевой инфраструктуры?

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

Вот, пожалуйста!

Следующие бесплатные файрволы отличаются от файрволов веб-приложений. Они служат для защиты инфраструктуры, а не кода или приложения.

1. pfSense

Это решение для обеспечения безопасности с открытым исходным кодом на основе ядра FreeBSD. pfSense – это один из ведущих сетевых файрволов с коммерческим уровнем функционала.

pfSense доступно как оборудование, виртуальное устройство и загружаемый исходник (общая версия).

Бесплатно вы получаете общую версию.

Мне нравится их исчерпывающая документация, хорошо понятная и простая в использовании. Вот некоторые из значимых упоминаемых особенностей pfSense:

  • файрвол — фильтрация IP/портов, ограничение соединений, работа на канальном уровне, нормализация пакетов;
  • таблица состояний — по умолчанию все правила находятся в отслеживаемом состоянии, множественные конфигураций подходят для обработки состояний;
  • серверная балансировка нагрузки — встроенный балансировщик нагрузки для ее распределения между несколькими серверами;
  • NAT (преобразование сетевых адресов) — переадресация портов, отражение;
  • HA (высокая доступность) — переход на вторичный сервер, если основной дал сбой;
  • мульти-WAN (глобальная компьютерная сеть) – использование более чем одного интернет-соединения;
  • VPN (виртуальная частная сеть) — поддержка IPsec и OpenVPN;
  • создание отчетов – сохранение информации об использованных ресурсах;
  • мониторинг – мониторинг в режиме реального времени;
  • динамический DNS – включено несколько DNS-клиентов;
  • поддержка DHCP Relay.
Читайте также:  Учетные данные пользователя linux

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

  • безопасность — stunner, snort, tinc, nmap, arpwatch;
  • мониторинг – iftop, ntopng, softflowd, urlsnarf, darkstat, mailreport;
  • создание сети — netio, nut, Avahi;
  • маршрутизация — frr, olsrd, routed, OpenBGPD;
  • обслуживание — iperf, widentd, syslog-ng, bind, acme, imspector, git, dns-server.

2. IPFire

IPFire основан на Netfilter и ему доверяют тысячи компаний по всему миру.

IPFire можно использовать как файрвол, прокси-сервер или VPN-шлюз — все зависит от того, как вы настроите его. Он обладает большой гибкостью в настройках.

IDS (система обнаружения вторжений) является встроенной, поэтому атаки обнаруживаются и предотвращаются с самого начала, а с помощью дополнения Guardian вы можете осуществлять автоматическую профилактику.

Вы сможете понять как работать с IPFire менее чем за 30 минут. Прочитать больше о его возможностях можно здесь.

3. OPNSense

OPNSense является ответвлением pfSense и m0n0wall. Графический интерфейс доступен на нескольких языках, таких как французский, китайский, японский, итальянский, русский и др.

OPNSense обладает многими серьезными уровнями безопасности и функциями файрвола, такими как IPSec, VPN, 2FA, QoS, IDPS, Netflow, Proxy, Webfilter и т.д.

Он совместим с 32-битной или 64-битной системной архитектурой и доступен для загрузки как ISO-образ и USB-установщик.

4. NG Firewall

NG Firewall от Untangle — это единая платформа, где вы можете получить все необходимое для защиты сети своей организации.

Он обладает красивой панелью инструментов, попробовать демо-версию можно здесь. Он работает как магазин приложений, где вы можете запускать или отключать отдельные приложения (модули) в соответствии со своими потребностями.

В бесплатной версии вы получаете доступ к самой платформе NG Firewall, бесплатные приложения и 14-дневную пробную версию платных функций.

5. Smoothwall

Smoothwall express — это бесплатное решение с простым веб-интерфейсом для настройки и управления файрволом.

Smoothwall express поддерживает LAN (локальную сеть), DMZ (демилитаризованную зону), внутренний и внешний сетевой файрвол, веб-прокси для ускорения, статистику трафика и др.
Выключение или перезагрузка возможны непосредственно через веб-интерфейс.

Примечание: Следующие две программы предназначены только для серверов Linux.

6. ufw

ufw (несложный файрвол) работает с Ubuntu. Для управления системой фильтрации пакетов ядра Linux (Netfilter) он использует интерфейс командной строки.

7. csf

csf (ConfigServer security) протестирован и поддерживается на следующих ОS и виртуальных серверах:

  • RHEL/CentOS
  • CloudLinux
  • Fedora
  • OpenSUSE
  • Debian
  • Ubuntu
  • Slackware
  • OpenVZ
  • KVM
  • VirtualBox
  • XEN
  • VMware
  • Virtuozzo
  • UML

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

LOOKING.HOUSE — на проекте собрано более 150 точек looking glass в 40 странах. Можно быстро выполнить команды host, ping, traceroute и mtr.

Источник

Оцените статью
Adblock
detector