лучшие фаерволы для linux

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

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

лучшие фаерволы для linux

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

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

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

лучшие фаерволы для linux

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

1. pfSense

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

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

лучшие фаерволы для linux

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

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

Поразительно, не так ли?

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

2. IPFire

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

лучшие фаерволы для linux

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

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

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

3. OPNSense

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

лучшие фаерволы для linux

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

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

4. NG Firewall

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

лучшие фаерволы для linux

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

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

5. Smoothwall

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

лучшие фаерволы для linux

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

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

6. ufw

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

7. csf

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

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

Источник

Защита Linux-сервера. Что сделать в первую очередь

лучшие фаерволы для linux
Habib M’henni / Wikimedia Commons, CC BY-SA

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

Содержание

Нерутовый юзер

Первым делом нужно завести для себя нерутового юзера. Дело в том, что у пользователя root абсолютные привилегии в системе, а если разрешить ему удалённое администрирование, то вы сделаете половину работы для хакера, оставив для него валидный username.

Поэтому нужно завести другого юзера, а для рута отключить удалённое администрирование по SSH.

Новый пользователь заводится командой useradd :

Затем для него добавляется пароль командой passwd :

В Ubuntu он добавляется в группу sudo :

Ключи вместо паролей SSH

Брутфорс или утечка паролей — стандартный вектор атаки, так что аутентификацию по паролям в SSH (Secure Shell) лучше отключить, а вместо неё использовать аутентификацию по ключам.

Есть разные программы для реализации протокола SSH, такие как lsh и Dropbear, но самой популярной является OpenSSH. Установка клиента OpenSSH на Ubuntu:

Установка на сервере:

Запуск демона SSH (sshd) на сервере под Ubuntu:

Автоматический запуск демона при каждой загрузке:

Нужно заметить, что серверная часть OpenSSH включает в себя клиентскую. То есть через openssh-server можно подключаться к другим серверам. Более того, со своей клиентской машины вы можете запустить SSH-туннель с удалённого сервера на сторонний хост, и тогда сторонний хост будет считать удалённый сервер источником запросов. Очень удобная функция для маскировки своей системы. Подробнее см. статью «Практические советы, примеры и туннели SSH».

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

Итак, для своего нового юзера сначала нужно сгенерировать ключи SSH на компьютере, с которого вы будете заходить на сервер:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname

Наконец, установить корректные разрешения для файла:

и изменить владение на этого юзера:

На стороне клиента нужно указать местоположение секретного ключа для аутентификации:

Теперь можно залогиниться на сервер под именем юзера по этому ключу:

После авторизации можно использовать команду scp для копирования файлов, утилиту sshfs для удалённого примонтирования файловой системы или директорий.

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

Как упоминалось выше, в SSH нужно отключить аутентификацию для рута (по этой причине мы и заводили нового юзера).

На CentOS/Red Hat находим строку PermitRootLogin yes в конфигурационном файле /etc/ssh/sshd_config и изменяем её:

На Ubuntu добавляем строку PermitRootLogin no в конфигурационный файл 10-my-sshd-settings.conf :

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

На CentOS/Red Hat находим строку PasswordAuthentication yes в конфигурационном файле /etc/ssh/sshd_config и изменяем её следующим образом:

На Ubuntu добавляем строку PasswordAuthentication no в файл 10-my-sshd-settings.conf :

Инструкцию по подключению двухфакторной аутентификации по SSH см. здесь.

Файрвол

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

Перед установкой файрвола нужно убедиться, что SSH внесён в список исключений и не будет блокироваться. Иначе после запуска файрвола мы не сможем подключиться к серверу.

С дистрибутивом Ubuntu идёт Uncomplicated Firewall (ufw), а с CentOS/Red Hat — firewalld.

Разрешение SSH в файрволе на Ubuntu:

На CentOS/Red Hat используем команду firewall-cmd :

После этой процедуры можно запустить файрвол.

На CentOS/Red Hat запускаем сервис systemd для firewalld:

На Ubuntu используем такую команду:

Fail2Ban

Сервис Fail2Ban анализирует логи на сервере и подсчитывает количество попыток доступа с каждого IP-адреса. В настройках указаны правила, сколько попыток доступа разрешено за определённый интервал — после чего данный IP-адрес блокируется на заданный отрезок времени. Например, разрешаем 5 неудачных попыток аутентификации по SSH в промежуток 2 часа, после чего блокируем данный IP-адрес на 12 часов.

Установка Fail2Ban на CentOS и Red Hat:

Установка на Ubuntu и Debian:

Джейл для SSH включён по умолчанию с дефолтными настройками (5 попыток, интервал 10 минут, бан на 10 минут).

Кроме SSH, Fail2Ban может защищать и другие сервисы на веб-сервере nginx или Apache.

Автоматические обновления безопасности

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

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

На CentOS/Red Hat нужно установить приложение dnf-automatic и включить таймер:

Смена портов по умолчанию

SSH был разработан в 1995 году для замены telnet (порт 23) и ftp (порт 21), поэтому автор программы Тату Илтонен выбрал порт 22 по умолчанию, и его утвердили в IANA.

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

Смена стандартных портов — обфускация — в несколько раз сокращает объём мусорного трафика, размер логов и нагрузку на сервер, а также сокращает поверхность атаки. Хотя некоторые критикуют такой метод «защиты через неясность» (security through obscurity). Причина в том, что эта техника противопоставляется фундаментальной архитектурной защите. Поэтому, например, Национальный институт стандартов и технологий США в «Руководстве по безопасности сервера» указывает необходимость открытой серверной архитектуры: «Безопасность системы не должна полагаться на скрытность реализации её компонентов», — сказано в документе.

Теоретически, смена портов по умолчанию противоречит практике открытой архитектуры. Но на практике объём вредоносного трафика действительно сокращается, так что это простая и эффективная мера.

(заглавная P). Указание из командной строки переопределяет любое значение в файлах конфигурации.

Если серверов много, почти все эти действия по защите Linux-сервера можно автоматизировать в скрипте. Но если сервер только один, то лучше вручную контролировать процесс.

На правах рекламы

Закажи и сразу работай! Создание VDS любой конфигурации и с любой операционной системой в течение минуты. Максимальная конфигурация позволит оторваться на полную — 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe. Эпичненько 🙂

Источник

Топ 5 лучших Linux Брандмауэры: Защита сети независимо от того,

Вот лучшие 5 лучших Linux Firewalls, знаете, какой вы должны предпочесть и что лучшие варианты у вас есть.

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

лучшие фаерволы для linux

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

Iptables

лучшие фаерволы для linux

Интерфейс для Iptables не существует, так как это утилита командной строки. Чтобы настроить его, вам придется выучить команды, так что это не самая простая вещь для использования. Тем не менее, вы можете найти различные GUI решения, которые работают с IPTables, чтобы использовать его проще, например, как в Ubuntu «Несложный Firewall».

Monowall

лучшие фаерволы для linux

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

Активное развитие Monowall было прекращено по состоянию на февраль 2015 года, но он по-прежнему доступен для загрузки.

pfSense

лучшие фаерволы для linux

С точки зрения характеристик, pfSense имеет все Monowall делает, а потом еще немного. Такие вещи, как аппаратного сбоя, мульти-WAN и другие расширенные функции делают pfSense чрезвычайно полезным для сетевых администраторов, которые требуют от своего брандмауэра.

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

Zentyal сервера

Zentyal основан на Ubuntu Server LTS, так что вы, по сути, установка ОС при установке Zentyal. Это также означает, что вы можете делать практически все, что мог на Ubuntu. Zentyal может быть по существу полноценный сервер со всем необходимым для запуска.

лучшие фаерволы для linux

ClearOS

ClearOS построен на вершине CentOS, и так же, как Zentyal он может также служить гораздо больше, чем брандмауэр.

лучшие фаерволы для linux

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

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

Источник

Изучаем firewalld: простой и мощный файрвол для Linux на замену iptables

лучшие фаерволы для linux

Содержание статьи

Iptables и другие

Проект iptables, разработанный Расти Расселом (Rusty Russell) в 1999 году для управления netfilter и заменивший в ядре 2.4 ipchains и ряд других инструментов вроде ipnatctl, предлагает более расширяемый способ фильтрации пакетов, обеспечивающий сисадмину больший контроль при упрощении самих правил. Так, в ipchains нужно было создавать правило в каждой цепочке, прослеживая весь маршрут пакета, теперь достаточно одного. Появление модулей позволяло очень просто расширять возможности. В процессе развития проекта iptables был портирован для IPv6 (в 2011 году, ip6tables), добавлялись дополнительные модули (ULOG, nf_conntrack), он научился производить разные манипуляции с пакетами, классифицировать трафик (до седьмого уровня OSI), балансировать нагрузку и многое другое. С ростом количества функций усложнились и настройки. При этом, даже несмотря на некоторую унификацию, каждое расширение имеет свой синтаксис, одни поддерживают диапазоны, отрицание, префиксы, другие — нет. Поначалу каждое изменение правил требовало полного перезапуска брандмауэра, включая выгрузку модулей, что приводило к разрыву установленных соединений. Сейчас такой проблемы нет.

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

Неудивительно, что для решения этих проблем были придуманы разные надстройки. Так, в Ubuntu для простой настройки правил используется ufw (Uncomplicated Firewall — несложный файрвол). Например, чтобы открыть доступ к SSH-порту, достаточно ввести

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

Еще один известный проект, позволяющий легко поддерживать сложные правила, — FERM (for Easy Rule Making). В FERM все правила хранятся в одном файле, который легко читается, редактируется и загружается одной командой. Такой файл просто переносить между компьютерами. Сами правила группируются в блоки, содержат переменные, списки, что позволяет задать те же настройки в более коротком и понятном виде. Итоговый размер правил FERM раза в три меньше аналогичных для iptables. Например, запрещаем все соединения, кроме HTTP, SSH и FTP.

Под капотом FERM находится обычный Perl-скрипт, который конвертирует конфигурационные файлы в правила iptables.

В Fedora 18 был анонсирован демон firewalld, ставший официальным приложением для управления настройками netfilter в RHEL 7 / CentOS 7. Последние становятся все популярнее на VDS, а значит, придется столкнуться с их особенностями.

Возможности firewalld

Firewalld запускается как демон, новые правила добавляются без перезапуска и без сброса установленного файрвола. Изменения в конфигурации могут быть сделаны в любое время и применяются мгновенно: сохранять или применять изменения не требуется. Поддерживается IPv4, IPv6, автоматическая загрузка модулей ядра и сетевые зоны, определяющие уровень доверия соединений. Предоставляется простой интерфейс добавления правил для служб и приложений, белый список приложений, имеющих право менять правила. В настоящее время такую возможность поддерживает libvirt, Docker, fail2ban, Puppet, скрипт установки Virtuozzo и многие другие проекты. В репозитории YUM уже есть пакеты fail2ban-firewalld и puppet-firewalld, поэтому подключить их можно одной командой.

Firewalld предоставляет информацию о текущих настройках брандмауэра через D-Bus API, а также принимает изменения через D-Bus с использованием методов аутентификации PolicyKit. В качестве бэкенда используются iptables, ip6tables, ebtables, ipset и планируется nftables. Но сами правила, созданные непосредственно этими утилитами, firewalld не может разобрать, поэтому оба метода использовать нельзя.

лучшие фаерволы для linux Графическая firewall-config поддерживает firewalld

лучшие фаерволы для linux Параметры firewall-cmd

Разрешить соединение на определенный порт очень просто:

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

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

Для проверки, в каком режиме находится файрвол, есть специальный ключ:

Отключается panic mode:

В firewalld необязательно знать, какой порт привязан к сервису, достаточно указать название сервиса. Все остальное утилита возьмет на себя.

После установки firewalld знает настройки более 50 сервисов, получаем их список.

Разрешим подключение к HTTP:

Используя фигурные скобки, можно задавать сразу несколько сервисов. Информация по настройкам сервисов доступна при помощи

Firewalld хранит все настройки в XML-файлах в каталогах в /usr/lib/firewalld. В частности, сервисы лежат в services. Внутри файла описание: название, протокол и порт.

Для настройки ICMP используется отдельный набор правил. Получаем список поддерживаемых типов ICMP:

лучшие фаерволы для linux Все настройки firewalld хранит в XML-файлах

лучшие фаерволы для linux Firewalld знает о почти 50 сервисах

Управление зонами

лучшие фаерволы для linux Получаем список зон

Xakep #217. Сценарий для взлома

После установки создается девять зон, в зависимости от назначения может быть использована одна или несколько зон:

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

лучшие фаерволы для linux Настройки зон по умолчанию

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

Теперь — какие зоны сейчас активны и какие интерфейсы к ним привязаны.

Также можем получить обратную информацию — к какой зоне привязан интерфейс.

Смотрим настройки зоны (сервисы, порты, протоколы. ).

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

Удаляется он так же:

К зонам можно привязывать и другие источники, определяемые по MAC, отдельному IP или адресу сети. Пакет, пришедший из такого источника, будет обрабатываться по правилам зоны.

Это все. Для доступа извне настроим форвардинг порта в один из компьютеров. Например, нам нужен доступ по SSH к внутреннему серверу:

Сложные правила

Для отдельного ПК или небольших сетей базовых возможностей вполне хватает, для настройки сложных правил в firewalld изначально предлагался так называемый direct-синтаксис, чуть позже появился собственный язык Rich Language. В первом варианте достаточно знать синтаксис iptables, рекомендуется использовать в крайнем случае, так как правила не сохраняются после перезагрузки.

Синтаксис direct правила такой:

Добавляем правило, разрешающее соединение по 25-му порту:

Пробросим соединение по 22-му на другой сервер:

Rich Language позволяет записывать сложные правила в более удобном для понимания виде. В правиле можно указывать любые параметры, характеризующие пакет: источник, назначение, сервис, порт, протокол, маскарадинг, журналирование, аудит и действие. Например, разрешим подсети соединяться по HTTP и добавляем аудит:

Большой плюс Rich Language в том, что все параметры можно описать в XML в файле зоны. Формат файла очень простой и повторяет названия параметров:

Настройка файрвола — дело привычки. Часто удобнее вбить команду, которой пользуешься уже не один год, чем осваивать новую утилиту. Поэтому иногда все-таки хочется вернуть классический инструмент. Это не проблема. Iptables в CentOS 7 не ставится, поэтому его нужно вернуть:

Чтобы не настраивать все повторно, лучше сохранить текущие правила, сгенерированные firewalld.

Останавливаем firewalld и запускаем iptables:

Проверяем текущие правила:

Запрещаем автозапуск firewalld при загрузке ОС:

Выводы

Как видишь, ничего сложного! Firewalld очень упрощает установки, особенно если учесть, что настройки легко перенести.

Источник

Добавить комментарий

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