Firewall в MikroTik е мощен инструмент за управление на мрежовия трафик и защита на мрежата. Ето основните му характеристики:
- Stateful Firewall: MikroTik използва stateful firewall, което означава, че фаеруолът проследява състоянието на всички мрежови връзки, преминаващи през него. Това позволява по-подробен контрол върху трафика, като например разрешаване или блокиране на трафика в зависимост от неговия текущ статус или история на връзката.
- Linux Kernel: MikroTik RouterOS, операционната система използвана в MikroTik устройствата, е базирана на Linux ядрото. Това предоставя стабилност и гъвкавост, както и съвместимост с широк спектър от мрежови протоколи и функции.
- Iptables: В основата на фаеруола на MikroTik стои iptables, популярен инструмент за филтриране на пакети в Linux. Iptables позволява дефинирането на сложни правила за филтриране и манипулиране на мрежовия трафик, което дава възможност за създаване на много подробни и специфични политики за сигурност.
- Правила и Филтриране: В MikroTik, фаеруолът позволява създаването на детайлни правила, които определят как да се обработва мрежовият трафик. Тези правила могат да включват параметри като източника и целта на трафика, типа на протокола, портовете и други.
- Защита от Атаки: Фаеруолът в MikroTik предлага различни функции за защита срещу мрежови атаки като DoS (Denial of Service), порт сканиране и други.
- NAT и Маскиране: Фаеруолът също поддържа NAT (Network Address Translation), което е важно за маскиране на частни IP адреси в обществени мрежи и обратно.
- Лесен за Управление: Въпреки своята мощност и гъвкавост, фаеруолът в MikroTik може лесно да се управлява чрез графичния интерфейс на RouterOS или чрез командния ред.
Общо взето, фаеруолът в MikroTik представлява ключов компонент за защита на мрежите, предлагайки разнообразни функции за контрол и сигурност на мрежовия трафик.
Filter, NAT, Mangle, Raw и Address List
- Filter Rules:
- Filter правилата са основната част на фаеруола. Те контролират трафика, позволявайки или блокирайки го в зависимост от различни критерии като IP адрес, порт, протокол и др.
- Тези правила са полезни за защита на мрежата от неоторизиран достъп и атаки.
- NAT (Network Address Translation):
- NAT се използва за преобразуване на адресите на пакетите, преминаващи през рутера. Това е особено важно за маскиране на вътрешни IP адреси при комуникация с интернет.
- Популярно приложение на NAT в MikroTik е „Masquerade“, което позволява на множество устройства във вътрешната мрежа да използват един общ публичен IP адрес.
- Mangle:
- Mangle правилата служат за модифициране на пакети, преминаващи през рутера. Те могат да променят битове от заглавката на пакета, като например маркират трафика за определени цели като QoS (Quality of Service).
- Това е полезно за управление на трафика и приоритизиране на определени видове данни.
- Raw:
- Raw правилата позволяват обработка на пакети на по-ранен етап в процеса на маршрутизация, преди обичайните Filter и NAT правила.
- Те са полезни за блокиране на трафик на ниско ниво и за намаляване на натоварването на процесора на рутера.
- Address List:
- Address List е функция, която позволява създаването на списъци с IP адреси за по-лесно управление. Тези списъци могат да се използват в различни фаеруол правила.
- Например, можете да създадете списък с доверени IP адреси и да настроите правила, които позволяват трафик само от тези адреси.
Всяка от тези функции играе важна роля в конфигурирането на защитната стена на MikroTik и предлага гъвкави възможности за управление на мрежовата сигурност и производителност.
input, forward и output от веригата Filter Rules
Веригата Filter Rules в MikroTik Firewall се състои от различни части, които определят как се обработва мрежовият трафик в зависимост от неговия произход и предназначение. Три основни компонента на тази верига са “input“, “forward“, и “output“. Ето какво представлява всяка от тях:
- Input:
- Веригата “Input” се отнася до всички пакети, които влизат в рутера и са предназначени за самия рутер. Това включва управленски пакети, като например тези, използвани за достъп до интерфейса на рутера (WebFig, WinBox, SSH), както и различни протоколи за управление на мрежата.
- Правилата в тази верига се използват за контролиране на достъпа до самия рутер, като се определя кои входящи връзки са разрешени или блокирани.
- Forward:
- Веригата “Forward” се отнася до пакети, които се препращат през рутера, т.е. трафик, който не е предназначен за самия рутер, а за други устройства в мрежата. Тези пакети преминават през рутера, за да достигнат до своята крайна дестинация.
- Правилата в тази верига са изключително важни за сигурността на мрежата, тъй като те позволяват или блокират трафика между различните сегменти на мрежата или между вътрешната мрежа и интернет.
- Output:
- Веригата “Output” обработва пакетите, които са генерирани от самия рутер и са изпращани към други устройства или мрежи. Това включва например пакети, изпратени от рутера за DNS заявки, NTP синхронизация или маршрутизационни обновления.
- Правилата в тази верига контролират изходящия трафик от рутера, което може да бъде важно за ограничаване на достъпа на рутера до определени мрежи или услуги за целите на сигурността и управлението на мрежата.
Тези три вериги предоставят възможност за фино настройване на фаеруол правилата в MikroTik, което позволява на администраторите да контролират в детайли как се обработва мрежовият трафик в различни сценарии.
accept и drop във input, forward и output от веригата Filter Rules
Във веригата Filter Rules на MikroTik Firewall, действията “accept” и “drop” играят критична роля в определянето на това как се обработва мрежовият трафик във веригите “input“, “forward” и “output“. Тези действия определят основната политика за обработка на трафика, като позволяват или блокират специфични типове трафика в зависимост от зададените правила. Ето как работят тези действия във всяка от веригите:
- Input:
- Accept: Ако правило във веригата “input” има действие “accept”, то позволява на пакетите, които отговарят на критериите на това правило, да влязат в рутера. Това е използвано за разрешаване на легитимен достъп до рутера, като например административен достъп (SSH, WinBox, WebFig) или отговори на DNS заявки.
- Drop: Правила с действие “drop” в “input” веригата ще блокират всички пакети, които отговарят на критериите на правилото, от достъп до рутера. Това предотвратява неоторизиран достъп и атаки към самия рутер.
- Forward:
- Accept: В контекста на “forward” веригата, “accept” позволява на мрежовия трафик да бъде препратен през рутера към неговата дестинация. Това може да включва трафик между различни вътрешни мрежи или от вътрешната мрежа към интернет.
- Drop: Правила с действие “drop” в “forward” веригата блокират преминаването на пакети, които отговарят на критериите на правилото. Това е важно за предотвратяване на нежелан трафик между мрежови сегменти или за защита срещу мрежови атаки.
- Output:
- Accept: В “output” веригата, “accept” позволява на пакетите, генерирани от рутера, да бъдат изпратени към други устройства или мрежи. Това може да включва системни обновления, отговори на заявки от други устройства, или друг мрежов трафик, генериран от рутера.
- Drop: “Drop” в “output” веригата блокира изходящите пакети, които отговарят на критериите на правилото. Това може да се използва за ограничаване на комуникацията на рутера с външни устройства или мрежи за сигурностни цели.
Използването на “accept” и “drop” в тези три вериги позволява на администраторите да създадат подробни и ефективни политики за сигурност, които да управляват как се обработва входящият, изходящият и препращащият трафик през MikroTik рутера.
src-nat и dst-nat от веригата NAT
В MikroTik Firewall, веригата NAT (Network Address Translation) съдържа различни видове правила за манипулиране на IP адресите и портовете на мрежовите пакети. Две от основните типове правила в тази верига са “src-nat” (Source NAT) и “dst-nat” (Destination NAT). Те играят важна роля в управлението на мрежовия трафик и в сигурността на мрежата. Ето какво представлява всеки от тях:
- src-nat (Source NAT):
- Source NAT променя източника на IP адреса и/или порта на изходящите пакети. Това обикновено се използва за маскиране на вътрешни, частни IP адреси с един публичен IP адрес, когато те достигат до интернет. Това е известно като “Masquerading”.
- Например, когато устройство от вътрешната мрежа иска достъп до интернет, src-nat правилото може да промени източника на IP адреса на пакетите от частен (например 192.168.1.100) на публичен IP адрес, присвоен на външния интерфейс на рутера. Това позволява на множество устройства във вътрешната мрежа да използват един и същ публичен IP адрес за достъп до интернет, като по този начин се осигурява ефективно и сигурно споделяне на интернет връзката.
- dst-nat (Destination NAT):
- Destination NAT се използва за промяна на дестинацията на IP адреса и/или порта на входящите пакети. Това често се прилага за пренасочване на трафик от публичен IP адрес към специфично устройство в частната мрежа.
- Например, ако имате уеб сървър във вашата вътрешна мрежа и искате да бъде достъпен от интернет, можете да използвате dst-nat правило за пренасочване на входящия трафик, предназначен за публичния IP адрес на рутера на порт 80 (HTTP), към вътрешния IP адрес и порт на уеб сървъра.
Използването на src-nat и dst-nat в NAT веригата на MikroTik Firewall позволява фин контрол над това как се обработва трафикът при влизане и излизане от мрежата, като същевременно се осигурява гъвкавост и сигурност при управлението на мрежови ресурси и услуги.
protocol, dst-port и in.interface в правилото dst-nat
В MikroTik Firewall, когато конфигурирате правило за Destination NAT (dst-nat) в NAT веригата, можете да използвате различни параметри за определяне на критериите, по които трафикът ще бъде пренасочен. Три от тези параметри са “protocol“, “dst-port“, и “in.interface“. Ето какво представлява всеки от тях:
- protocol:
- Параметърът “protocol” в dst-nat правилото определя типа на протокола, който ще бъде обработен от правилото. Протоколите обикновено са TCP, UDP, ICMP и други. Например, ако искате да пренасочите входящия уеб трафик, ще използвате TCP като протокол, тъй като уеб трафикът обикновено използва TCP.
- dst-port:
- Параметърът “dst-port” определя порта на дестинацията, за който се отнася правилото. Това е портът, на който пристига трафикът на външния интерфейс на рутера и който ще бъде пренасочен към вътрешно устройство. Например, ако искате да пренасочите входящия трафик за уеб сървър, обикновено ще зададете dst-port на 80 (за HTTP) или 443 (за HTTPS).
- in.interface:
- Параметърът “in.interface” определя входящия интерфейс, на който правилото ще бъде приложено. Това е интерфейсът, през който пристига входящият трафик, който ще бъде обработен от правилото за dst-nat. Например, ако имате външен интерфейс, който е свързан с интернет, и искате да пренасочите входящия трафик към вътрешен сървър, ще зададете този външен интерфейс като “in.interface” в dst-nat правилото.
Използването на тези параметри в dst-nat правилото ви позволява да специфицирате точно какъв трафик трябва да бъде пренасочен, от кой интерфейс и на кой порт. Това е особено важно за насочване на входящия трафик от интернет към специфични сървъри или услуги, разположени във вашата вътрешна мрежа.
To Addresses и To Ports в правилото dst-nat
В правилото за Destination NAT (dst-nat) в MikroTik Firewall, параметрите “To Addresses” и “To Ports” са ключови компоненти, които определят към какъв конкретен адрес и порт ще бъде пренасочен мрежовият трафик. Ето детайли за всяка от тези настройки:
- To Addresses:
- “To Addresses” определя IP адреса на дестинацията, към който ще бъде пренасочен входящият трафик. Този адрес е обикновено IP адресът на устройство във вашата вътрешна мрежа. Например, ако имате уеб сървър с вътрешен IP адрес 192.168.101.4 и искате входящият уеб трафик от интернет да бъде пренасочен към този сървър, ще настроите “To Addresses” на 192.168.101.4 в правилото за dst-nat.
- To Ports:
- “To Ports” определя порта (или портовете), към които ще бъде пренасочен трафикът. Това е портът на устройството във вътрешната мрежа, към който трябва да бъде насочен трафикът. Използвайки предишния пример, ако уеб сървърът ви работи на порт 80, ще настроите “To Ports” на 80 в dst-nat правилото.
Комбинирането на “To Addresses” и “To Ports” в dst-nat правило ви позволява да пренасочите трафика от външен IP адрес и порт (например публичния IP адрес на рутера и порт 80) към специфичен вътрешен IP адрес и порт (например 192.168.101.4 на порт 80). Това е особено полезно за осигуряване на достъп от външни мрежи към вътрешни сървъри или услуги, като уеб сървъри, FTP сървъри, игрови сървъри и др., които се намират зад NAT.
address-list
В MikroTik Firewall, функцията “address-list” е много мощен инструмент, който позволява на администраторите да създават и управляват списъци с IP адреси. Тези списъци могат да бъдат използвани в различни правила на фаеруола за по-ефективно и гъвкаво управление на мрежовия трафик. Ето някои ключови аспекти на функцията “address-list” в MikroTik Firewall:
- Създаване на Групи от IP Адреси:
- “Address-list” позволява на потребителите да групират множество IP адреси или мрежи под едно име. Това може да бъде изключително полезно за управление на големи групи адреси без необходимостта да се въвежда всеки адрес поотделно във всяко правило.
- Улесняване на Конфигурацията на Фаеруола:
- След като група от адреси е добавена в “address-list”, тя може да бъде лесно използвана в различни правила на фаеруола. Например, можете да създадете списък с доверени IP адреси и след това да използвате този списък в правила за филтриране, NAT или Mangle.
- Подобряване на Сигурността и Управлението на Трафика:
- “Address-list” може да се използва за създаване на бял и черен списък, което помага в управлението на достъпа и сигурността. Например, можете да блокирате или разрешите трафик към определени дестинации, базирано на техните IP адреси.
- Автоматизиране и Динамично Обновяване:
- В MikroTik, “address-list” може да бъде автоматично обновяван от други процеси или скриптове. Например, адреси могат да бъдат автоматично добавяни в списъка в резултат на определени събития или анализи, като например идентифициране на подозрителен трафик.
- Широко Приложение:
- Тези списъци могат да бъдат използвани в множество сценарии – от основни операции като блокиране или разрешаване на достъп до интернет, до по-сложни конфигурации като условно пренасочване на трафик или приоритизиране на определени видове данни.
Използването на “address-list” значително улеснява управлението на мрежовите политики и повишава гъвкавостта при настройката на MikroTik Firewall, като позволява на администраторите да се адаптират динамично към променящите се изисквания за сигурност и управление на трафика.
Реален пример:
[admin@Router] > ip firewall/export compact
Експорт на конфигурацията от терминал:
/ip firewall address-list
add address=192.168.0.0/16 list=accept
add address=172.16.0.0/12 list=accept
add address=93.155.130.0/24 list=accept
add address=195.68.214.90 list=accept
add address=87.246.47.0/24 list=accept
add address=87.246.48.0/24 list=accept
add address=87.246.49.0/24 list=accept
add address=88.203.250.79 list=accept
/ip firewall filter
add action=drop chain=input connection-state=invalid
add action=accept chain=input dst-port=8291 protocol=tcp
add action=accept chain=input icmp-options=8:0-255 protocol=icmp
add action=accept chain=input connection-state=established,related,untracked
add action=drop chain=input src-address-list=!accept
add action=fasttrack-connection chain=forward connection-state=established,related hw-offload=yes
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=37777 in-interface=sfp1 protocol=tcp to-addresses=192.168.101.4 to-ports=37777
add action=dst-nat chain=dstnat dst-port=37778 in-interface=sfp1 protocol=tcp to-addresses=192.168.101.5 to-ports=37777
add action=dst-nat chain=dstnat dst-port=37779 in-interface=sfp1 protocol=tcp to-addresses=192.168.101.6 to-ports=37777
add action=dst-nat chain=dstnat dst-port=37780 in-interface=sfp1 protocol=tcp to-addresses=192.168.101.7 to-ports=37777
add action=masquerade chain=srcnat out-interface=ether1
add action=masquerade chain=srcnat out-interface=sfp1
add action=masquerade chain=srcnat out-interface=l2tp-out1