Shorewall-–-A-High-Level-Firewall-for-Configuring-Linux-Servers

Shorewall — высокоуровневый брандмауэр для настройки серверов Linux

FirewallSecurity

Настройка брандмауэра в Linux может быть очень сложной для новичка или для любого пользователя, кто не очень знаком с iptables. К счастью, существует очень простое в использовании решение —  Shorewall.

Install-Shorewall-Firewall-in-Linux

 

 

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

 

 

Что такое Shorewall?

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

Конфигурация с двумя интерфейсами состоит из машины с двумя портами Ethernet, один входящий, а другой выходящий — в локальную сеть.

 

 

Установка Shorewall в Linux

Shorewall можно установить с помощью инструментов менеджера пакетов apt-get и yum.

 

В Debian / Ubuntu / Linux Mint
$ sudo apt-get install shorewall6

 

В RHEL / CentOS / Fedora
$ sudo yum install shorewall6

 

После установки нам нужно скопировать пример конфигурации из каталога /usr/share/doc/shorewall в каталог по умолчанию Shorewall в /etc/shorewall:

$ sudo cp /usr/share/doc/shorewall/example/two-interfaces/* /etc/shorewall

 

А затем перейдите в /etc/shorewall:

$ cd /etc/shorewall

 

Если мы посмотрим в этот каталог, то увидим кучу файлов и файл shorewall.conf. Shorewall рассматривает сеть как группу различных зон, поэтому первый файл, который мы хотим посмотрим, это файл /etc/shorewall/zone:

Zones

 

Здесь мы видим, что по умолчанию определены три зоны: net, loc и all. Важно отметить, что Shorewall рассматривает сам компьютер брандмауэра как свою собственную зону и сохраняет его в переменной с именем $FW. Вы увидите эту переменную во всех остальных файлах конфигурации.

Файл /etc/shorewall/zone довольно понятен. У вас есть сетевая зона «net» (интерфейс с выходом в Интернет), локальная зона «loc» (интерфейс с выходом в сеть) и all — всё остальное:

Policy

 

Эта настройка влияет на следующее:

  • Разрешает все запросы на подключение из локальной зоны (LAN) в сетевую зону (Интернет).
  • Отбрасывает все запросы на подключение (игнорирует) из сетевой зоны к брандмауэру и локальной сети.
  • Отклоняет и регистрирует все остальные запросы.

 

Бит LOG LEVEL должен быть знаком любому, кто занимался администрированием с Apache, MySQL или любой другой программой FOSS. В этом случае мы указываем Shorewall использовать информационный уровень ведения журнала.

Если вы хотите, чтобы ваш брандмауэр был доступен для администрирования из вашей локальной сети, вы можете добавить следующие строки в файл «/etc/shorewall/policy»:

#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
loc $FW ACCEPT
$FW loc ACCEPT

 

Теперь, когда наши зоны и политика установлены, мы должны настроить наши интерфейсы. Сделаем это, редактируя файл /etc/shorewall/interfaces:

Interfaces

 

Здесь мы установили наш интернет-интерфейс как eth0 для сетевой зоны. На стороне локальной сети мы установили другой интерфейс, eth1. Пожалуйста, настройте этот файл для корректной работы вашей конфигурации.

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

$ man shorewall-interfaces

 

Ниже приведены некоторые из них:

  • nosmurfs — фильтровать пакеты с широковещательным адресом в качестве источника.
  • logmartians — регистрировать пакеты с невозможным адресом источника.
  • routefilter — фильтрация маршрутов ядра для защиты от спуфинга.

 

Конечно, теперь, когда наша система защищена брандмауэром, нам понадобятся разрешить некоторые соединения, чтобы можно было выполнить доступ к устройству. Вы определяете их в файле правил в /etc/shorewall/rules:

Rules

 

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

Затем у вас есть заголовок SOURCE, в котором вы определяете зону, из которой отправляется пакет. Затем у вас есть DEST или пункт назначения, который является зоной или IP-адресом пункта назначения. Давайте используем предоставленный пример.

Предположим, вы хотите запустить SSH-сервер за брандмауэром на компьютере с IP-адресом 192.168.1.25. Вам нужно будет не только открыть порт в брандмауэре, но и указать брандмауэру, что любой трафик, поступающий через порт 22, должен направляться на компьютер по адресу 192.168.1.25.

Это известно как переадресация портов. Это общая функция на большинстве межсетевых экранов/маршрутизаторов. В /etc/shorewall/rules это можно сделать, добавив следующую строку:

SSH(DNAT) net loc:192.168.1.25

 

SSH-Port-Forwarding

 

Выше мы определили, что любые предназначенные для SSH пакеты, поступающие из сетевой зоны на межсетевой экран, должны маршрутизироваться (DNAT) на порт 22 на компьютере с адресом 192.168.1.25.

Это называется преобразованием сетевых адресов или NAT. Буква «D» просто указывает Shorewall, что это NAT для адреса назначения (destenation). Чтобы это работало, в вашем ядре должна быть включена поддержка NAT.

 

 

Полезные ссылки

Домашняя страница Shorewall

 

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

 

 

Читайте также: Изучение конфигурации брандмауэра Shorewall и параметров командной строки

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
FirewallSecurity

Больше похожих постов

Запуск Firefox в песочнице

197
0
Введение В августе 2015 года исследователь безопасности Mozilla Cody Crews уведомил Mozilla о том, что вредоносная реклама на российском новостном…

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Iptables: установка и настройка

Iptables: установка и настройка

945
0
Iptables — это приложение/программа, которая позволяет настраивать предоставленный ядром Linux межсетевой экран, в котором пользователь имеет возможность добавлять или удалять…
Меню