Поиск по сайту:

Как включить/отключить брандмауэр в Alpine Linux


Awall (Alpine Wall) — это простой в использовании и удобный интерфейс брандмауэра iptables для пользователей Alpine Linux. Он доступен начиная с Alpine Linux версии 2.4 и использует набор предопределенных политик, записанных в формате JSON. Эти файлы JSON, называемые файлами политик, доступны в каталоге /usr/share/awall/mandatory.

В инструменте awall вы можете легко следовать концепциям высокого уровня, таким как единый источник, политики, ограничения и зоны для протоколов IPv6 и IPv4. В этом руководстве показано, как использовать этот пакет для включения/отключения брандмауэра в Alpine Linux.

Как настроить брандмауэр (Awall)

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

Установка брандмауэра (Awall)
Вы можете очень легко установить стену на Alpine с помощью терминала. Для этого выполните следующие действия:

Перед установкой любого пакета в систему лучше сначала обновить систему.

apk update

Затем установите Iptables для протоколов IPv6 и IPv4, используя следующую команду:

apk add ip6tables iptables

Брандмауэр awall доступен в репозиториях Alpine Linux для многих архитектур, включая архитектуры arch64, c86 и x86_64. Вам необходимо установить брандмауэр awall с помощью простой команды apk. Выполните следующую команду, чтобы установить awall:

apk add -u awall

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

apk info awall

Используйте следующую команду, чтобы проверить версию установленного awall:

apk version awall

Каталог /usr/share/awall/mandatory содержит предопределенный набор политик брандмауэра в формате JSON. Вы можете просмотреть список этих политик с помощью следующей команды:

ls -l /usr/share/awall/mandatory

Предварительные требования перед включением/отключением брандмауэра в Alpine Linux
После успешной установки awall вы можете включать и отключать его. Однако перед этим его необходимо настроить.

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

modprobe -v ip_tables
modprobe -v ip6_tables

Примечание. Предыдущая команда используется только при первой установке awall в Alpine Linux.

Автозапуск брандмауэра во время загрузки и автоматическая загрузка модулей ядра Linux с помощью следующих команд:

rc-update add iptables && rc-update add ip6tables

Вы можете управлять службами брандмауэра с помощью следующих команд:

rc-service iptables {start|stop|restart|status}
rc-service ip6tables {start|stop|restart|status}

Теперь мы запускаем службу с помощью следующей команды:

rc-service iptables start && rc-service ip6tables start

С помощью следующей команды вы можете проверить статус службы брандмауэра:

rc-service iptables status && rc-service ip6tables status

Как видите, служба брандмауэра запущена.

Стоит отметить, что awall — это интерфейсный инструмент, который генерирует правила. Все его правила брандмауэра хранятся в каталоге /etc/awall/. Теперь мы создаем некоторые правила в этом каталоге.

Сначала откройте этот каталог с помощью следующей команды:

cd /etc/awall

Проверьте файлы, которые в нем присутствуют, с помощью команды ls:

Вы можете видеть, что в /etc/awall доступны два файла: необязательный и приватный. Здесь мы создаем некоторые политики в необязательном файле.

Откройте необязательный файл каталога с помощью следующей команды:

cd /etc/awall/optional

1. Сначала создайте новый файл с именем «server.json» с помощью сенсорной команды. Отбрасывает все входящие и исходящие соединения.

touch server.json

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

vi server.json

Когда вы закончите, вставьте все следующие строки:

{
  "description": "An awall policy that drops all incoming and outgoing traffic",

  "variable": { "internet_if": "eth0" },

  "zone": {
    "internet": { "iface": "$internet_if" }
  },

  "policy": [
    { "in": "internet", "action": "drop" },
    { "action": "reject" }
  ]

}

После вставки всех предыдущих строк нажмите «Esc». Напишите «:wq» и нажмите «Enter», чтобы выйти из файла.

2. Мы создаем файл «ssh.json», который обращается к соединениям SSH через порт 22 с максимальным лимитом входа. Этот файл избегает злоумышленников и препятствует атакам грубой силы с серверов Alpine.

touch ssh.json
vi ssh.json

Вставьте в этот файл следующие данные:

{
    "description": "Allow incoming SSH access (TCP/22)",

    "filter": [
        {
            "in": "internet",
            "out": "_fw",
            "service": "ssh",
            "action": "accept",
            "src": "0.0.0.0/0",
            "conn-limit": { "count": 3, "interval": 60 }
        }
    ]
}

3. Создайте файл «ping.json», чтобы определить политику брандмауэра, которая разрешает ping-запросы ICMP.

touch ping.json
vi ping.json

Вставьте в этот файл следующие строки:

{

    "description": "Allow ping-pong",

    "filter": [
        {
              "in": "internet",
              "service": "ping",
              "action": "accept",
              "flow-limit": { "count": 10, "interval": 6 }
        }
    ]
}

4. Создайте файл «webserver.json», чтобы определить правила открытия портов HTTPS и HTTP.

touch webserver.json
vi webserver.json

Вставьте в этот файл следующие строки:

{
    "description": "Allow incoming Apache (TCP 80 & 443) ports",
    "filter": [
        {
            "in": "internet",
            "out": "_fw",
            "service": [ "http", "https"],
            "action": "accept"
        }
    ]
}

5. Наконец, мы создаем файл «outgoing.jsopn», который разрешает исходящие подключения к некоторым наиболее часто используемым протоколам, таким как ICMP, NTP, SSH, DNS, HTTPS и HTTP ping.

touch outgoing.json
vi outgoing.json

Вставьте все следующие данные в этот файл:

{
    "description": "Allow outgoing connections for http/https, dns, ssh, ntp, ssh and ping",

    "filter": [
        {
            "in": "_fw",
            "out": "internet",
            "service": [ "http", "https", "dns", "ssh", "ntp", "ping" ],
            "action": "accept"
        }
    ]
}

Вы можете видеть, что все ранее созданные файлы находятся в каталоге /etc/awall/Optional.

С помощью следующей команды вы можете вывести список всех политик брандмауэра:

awall list

Теперь вы можете включить или отключить брандмауэр в Alpine Linux.

Как включить/отключить брандмауэр в Alpine Linux

После того, как вы установили и настроили awall, вы можете включать и отключать брандмауэр в Alpine Linux.

Включить брандмауэр в Alpine Linux
По умолчанию все политики брандмауэра отключены. Чтобы включить его, их политики должны быть включены в первую очередь.

Вы можете включить все созданные политики с помощью следующей команды:

awall enable <policy_name>

Теперь мы включаем все созданные политики:

awall enable ssh
awall enable server
awall enable webserver
awall enable ping
awall enable  outgoing

С помощью следующей команды мы видим, что все политики включены:

awall list

Наконец, вы можете включить брандмауэр awall, выполнив следующую команду:

awall activate

Таким образом, брандмауэр теперь включен в вашей системе.

Отключить брандмауэр в Alpine Linux
Если вы не хотите его использовать, вы можете отключить брандмауэр awall в Alpine Linux, отключив все его политики.

С помощью следующей команды вы можете легко отключить политику брандмауэра:

awall disable <policy_name>

Чтобы отключить брандмауэр, мы отключаем все предыдущие политики:

awall disable ssh
awall disable server
awall disable webserver
awall disable ping
awall disable outgoing

С помощью следующей команды вы можете увидеть, что все его политики отключены:

awall list

Если вы не хотите использовать брандмауэр в Alpine Linux, вы можете остановить его службу для протоколов IPv6 и IPv4 с помощью следующей команды:

rc-service iptables stop && rc-service ip6tables stop

Кроме того, вы можете получить дополнительную информацию об awall с помощью следующей команды:

awall help

Дополнительный совет. Вы также можете удалить брандмауэр awall в Alpine Linux с помощью следующей команды:

rc-update del ip6tables && rc-update del iptables

Заключение

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

Awall уже включен в репозитории Alpine Linux, так что вы можете легко его установить. После установки вы можете включить брандмауэр, создав и включив политики. Точно так же вы также можете отключить брандмауэр, повторно отключив все созданные политики.

Статьи по данной тематике: