В данной статье я хочу рассказать как повысить безопасность информационной инфраструктуры от внешних угроз.
Важно: предполагается что настройка производится "с нуля", поэтому выполняя данный перечень рекомендаций нужно учитывать уже имеющуюся конфигурацию, и разумеется сделать бэкап)
№0 Преднастройка
Для правильного функционирования сетевого экрана, вне зависимости от его конфигурации необходимо разрешить все соединения в состоянии ESTABLISHED, RELATED. Это поможет избежать проблем при выполнении данного перечня рекомендаций, а так же позволит снизить нагрузку на оборудование.
Для MikroTik необходимо создать два правила:
/ip firewall filter
add action=accept chain=input connection-state=established,related
add action=accept chain=forward connection-state=established,related
Для iptables в таблицу filter добавить два правила:
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Важно! Данные правила должны быть всегда в самом верху, то есть обрабатываться самыми первыми.
№1 Заблокировать входящий трафик от потенциально опасных хостов и сетей
Если у вас уже есть список потенциально опасных хостов или сетей, необходимо произвести блокировку входящего трафика с данных адресов в цепочках INPUT и FORWARD
Для MikroTik:
Если имеется текстовый файл со списком адресов, то можно с помощью поточного текстового редактора sed сделать из него скрипт создания address list:
cat blacklist.txt | sed 's/^/\/ip firewall address-list add address=/g ; s/$/\ list=blacklist/g' > blacklist.rsc
Далее необходимо загрузить файл blacklist.rsc в память маршрутизатора, в winbox выбрать File - Upload
Затем выполнить импорт адресного листа:
import file=blacklist.rsc
Теперь можно создать блокирующие правила:
/ip firewall filter
add action=drop chain=input src-address-list=blacklist
add action=drop chain=forward src-address-list=blacklist
Данные правила следует поместить после правил в пункте №0
Для iptables:
Файл со списком адресов находится в /var/blacklist.txt
Необходимо создать bash-скрипт который поочередно поместит правила в цепочки INPUT и FORWARD:
#!/bin/bash
blacklist=/var/blacklist.txt
IPT=/sbin/iptables
while IFS= read -r ip
do
$IPT -A INPUT -s $ip -j DROP
$IPT -A FORWARD -s $ip -j DROP
done < "$blacklist"
№2 Разрешить входящий трафик только от провайдеров РФ
Примечание: Только если не требуется доступ к ресурсам организации с территории иностранных государств
Скачать список в формате для MikroTik или Linux iptables accept соответственно, выбрав страну Russian Federation:
https://www.ip2location.com/free/visitor-blocker
Для MikroTik:
Открыть файл текстовым редактором
Первой строкой прописать
/ip firewall address-list
Выполнить поиск с заменой по всему файлу строки comment="Russian Federation" на пустое значение (иначе коментов будет столько же сколько строк)
Сохранить файл изменив расширение на rsc
Загрузить на устройство: File - Upload
Затем произвести импорт настроек командой в терминале:
import file=firewall.rsc
Добавить в данный Access list серые сети (иначе заблокируется внутренняя межсетевая маршрутизация):
/ip firewall address-list
add address=10.0.0.0/8 list=IP2Location
add address=172.16.0.0/12 list=IP2Location
add address=192.168.0.0/16 list=IP2Location
Примечание: Данный адресный лист рекомендуется обновлять хотя бы раз в месяц
Для этого необходимо удалить весь лист IP2Location, и затем выполнить его импорт заново
Создать два правила:
/ip firewall filter
add action=drop chain=input src-address-list=!IP2Location
add action=drop chain=forward src-address-list=!IP2Location
Данные правила следует поместить после правил в пункте №1
Для iptables:
В скачанном файле только правила для цепочки INPUT, поэтому создаем два скрипта и выполняем их:
mv firewall.txt addinput.sh
cat addinput.sh | sed 's/INPUT/FORWARD/' > addforward.sh
chmod +x addinput.sh addforward.sh
./addinput.sh
./addforward.sh
№3 Настройка сетевого экрана по принципу: запрещено всё что не разрешено.
Для каждой организации должен быть индивидуальный подход относительно конфигурации сети. Поэтому главное понять сам принцип.
Необходимо провести исследование межсетевого взаимодействия в организации, выяснить из каких сетей в какие необходима маршрутизация, по каким протоколам и на какие порты (при необходимости), создать соответствующие разрешающие правила а в самом конце запретить всё двумя правилами:
Для MikroTik:
/ip firewall filter
add action=drop chain=input
add action=drop chain=forward
Для iptables:
-A INPUT -j REJECT
-A FORWARD -j REJECT
В идеале у вас не должно быть запрещающих правил кроме описанных выше, а только разрешающие всё необходимое. Такой подход намного понятней, удобней и безопасней.
Приветствуются любые замечания и дополнения.