Навчитися налаштування MikroTik можна на онлайн курсі по обладнанню цього виробника. Автор курсу є сертифікованим тренером MikroTik. Детальніше Ви можете прочитати в кінці статті.
Стаття відповідає на питання наскільки небезпечно блокувати ICMP трафік.
ICMP - яблуко розбрату
Багато мережних адміністратори вважають, що протокол міжмережевих керуючих повідомлень (Internet Control Message Protocol (ICMP) являє собою загрозу безпеці і тому повинен завжди блокуватися на. Це правда, що протокол має деякі пов'язані з цим проблеми безпеки, і що частина запитів повинна бути заблокована. але це не привід блокувати весь ICMP-трафік!
ICMP-трафік має багато важливих функцій; якісь з них корисні для усунення неполадок, інші ж необхідні для належного функціонування мережі. Нижче наведено відомості про деякі важливих складових ICMP протоколу, про які ви повинні знати. Слід подумати над тим, як оптимальним чином пропускати їх через вашу мережу.
Echo запит і and Echo відповідь
IPv4 - Echo запит (Type8, Code0) і Echo відповідь (Type0, Code0)
IPv6 - Echo запит (Type128, Code0) and Echo відповідь (Type129, Code0)
Ми всі добре знаємо, що ping, - один з перших інструментів для пошуку і усунення неполадок. Так, якщо ви дозволите на своєму обладнання обробку ICMP-пакетів, то це означає, що ваш хост тепер доступний для виявлення, але хіба ваш вже не слухає порт 80, і не відправляє відповіді на клієнтські запити? Звичайно, заблокуйте ще й ці запити, якщо ви дійсно хочете, щоб на кордоні мережі була ваша DMZ. Але блокуючи ICMP трафік усередині вашої мережі, що не підсилите захист, навпаки отримаєте систему з надмірно складним процесом пошуку та усунення неполадок ( «Перевірте будь ласка відгукується чи шлюз на мережеві запити?», «Ні, але це мене анітрохи не засмучує, тому що мені це нічого не скаже! »).
Пам'ятайте, також можете дозволити проходження запитів в певному напрямку; наприклад, налаштувати обладнання так, щоб Echo запити з вашої мережі проходили в мережу Інтернет і Echo відповіді з Інтернету в вашу мережу, але не навпаки.
Необхідна фрагментація пакета (IPv4) / Пакет занадто великий (IPv6)
IPv4 - (Type3, Code4)
IPv6 - (Type2, Code0)
Дані компоненти протоколу ICMP дуже важливі, тому що є важливим компонентом в Path MTU Discovery (PMTUD), який є невід'ємною частиною протоколу TCP. Дозволяє двом хостам коригувати значення максимального розміру сегмента TCP (MSS) до значення, яке буде відповідати найменшому MTU по дорозі зв'язків між двома адресатами. Якщо на шляху проходження пакетів буде вузол з меншим Maximum Transmission Unit, ніж у відправника або одержувача, і у них не буде коштів для виявлення даної колізії, то трафік буде непомітно відкидається. І ви не будете розуміти що відбувається з каналом зв'язку; іншими словами, «для вас настануть веселі деньки».
Do not Fragment - ICMP не пройде!
Передача IPv4-пакетів з встановленим бітом Do not Fragment (більшість з них!) Або IPv6-пакетів (пам'ятаємо, що в IPv6 немає фрагментації маршрутизаторами), які занадто великі для передачі через інтерфейс, призведе до того, що маршрутизатор відкине пакет і сформує відповідь джерела передачі з наступними ICMP-помилками: Потрібно Фрагментація ( Fragmentation Required), Або Пакет Занадто Великий ( Packet Too Big). Якщо відповіді з цими помилками не зможуть повернутися до відправника, то він буде інтерпретувати відсутність підтверджуючих відповідей про доставку пакетів ACK ( Acknowledge) Від одержувача в якості перевантаження / втрати і джерелом для повторної передачі пакетів, які також будуть відкидатися.
Складно виявити причину подібної проблеми і швидко усунути, процес обміну TCP-рукостисканнями (TCP-handshake) працює нормально, оскільки в ньому задіяні невеликі пакети, але як тільки відбувається масова передача даних сеанс передачі зависає, так як джерело передачі не отримує повідомлення про помилки.
Дослідження шляху доставки пакетів
RFC 4821 був розроблений для того, щоб допомогти учасникам передачі трафіку в мережі обійти цю проблему, використовуючи дослідження шляху поширення пакетів (Path MTU Discovery (PLPMTUD). Стандарт дозволяє виявити максимальний обсяг даних (Maximum Transmission Unit (MTU), Який може бути переданий протоколом за одну ітерацію, шляхом поступового збільшення максимального розміру корисного блоку даних (Maximum Segment Size (MSS), Для того щоб знайти максимально можливу величину пакета без його фрагментації на шляху проходження від передавача до приймача. Даний функціонал зменшує залежність від своєчасного отримання відповідей з помилками по протоколу міжмережевих керуючих повідомлень (Internet Control Message Protocol (ICMP) і доступний в більшості мережевих стеків пристроїв і клієнтських операційних систем. На жаль, він не такий ефективний, як безпосереднє отримання даних про максимально можливому розмірі переданих пакетів. Будь ласка, дозвольте цим повідомленням протоколу ICMP повертатися до джерела передачі, добре?
Перевищення часу передачі пакетів
IPv4 - (Type11, Code0)
IPv6 - (Type3, Code0)
Traceroute - дуже корисний інструмент для усунення неполадок в мережевих з'єднаннях між двома хостами, детально описує кожен крок шляху.
Відправляє пакет з часом життя пакета даних для протоколу IP (Time to live (TTL) рівним 1 , Щоб перший маршрутизатор відправив повідомлення з помилкою (включаючи власний IP-адреса) про перевищення часу життя пакета. Потім відправляє пакет з TTL 2 і так далі. Дана процедура необхідна для того, щоб виявити кожен вузол на шляху проходження пакетів.
NDP and SLAAC (IPv6)
Router Solicitation (RS) (Type133, Code0)
Router Advertisement (RA) (Type134, Code0)
Neighbour Solicitation (NS) (Type135, Code0)
Neighbour Advertisement (NA) (Type136, Code0)
Redirect (Type137, Code0)
У той час як IPv4 використовував протокол дозволу адрес (ARP) для зіставлення 2 і 3 рівнів мережевий моделі OSI, IPv6 використовує інший підхід у вигляді протоколу виявлення сусідів (NDP). NDP надає безліч функцій, включаючи виявлення маршрутизатора, виявлення префікса, дозвіл адреси і багато іншого. На додаток до NDP, Автом (StateLess Address AutoConfiguration (SLAAC) дозволяє динамічно налаштовувати хост в мережі, аналогічно концепції протоколу динамічної настройки вузла (Dynamic Host Configuration Protocol (DHCP) (хоча DHCPv6 призначається для більш тонкого управління).
Ці п'ять типів ICMP повідомлень не повинні блокуватися всередині вашої мережі (не враховуємо зовнішній периметр), щоб протокол передачі даних IP функціонував правильно.
Нумерація типів ICMP
Протокол міжмережевих керуючих повідомлень (ICMP) містить багато повідомлень, які ідентифікуються полем «тип».
Тип | Найменування | Специфікація |
---|---|---|
0 | Echo Reply | |
1 | Unassigned | |
2 | Unassigned | |
3 | Destination Unreachable | |
4 | Source Quench (Deprecated) | |
5 | Redirect | |
6 | Alternate Host Address (Deprecated) | |
7 | Unassigned | |
8 | Echo | |
9 | Router Advertisement | |
10 | Router Solicitation | |
11 | Time Exceeded | |
12 | Parameter Problem | |
13 | Timestamp | |
14 | Timestamp Reply | |
15 | Information Request (Deprecated) | |
16 | Information Reply (Deprecated) | |
17 | Address Mask Request (Deprecated) | |
18 | Address Mask Reply (Deprecated) | |
19 | Reserved (for Security) | Solo |
20-29 | Reserved (for Robustness Experiment) | ZSu |
30 | Traceroute (Deprecated) | |
31 | Datagram Conversion Error (Deprecated) | |
32 | Mobile Host Redirect (Deprecated) | David_Johnson |
33 | IPv6 Where-Are-You (Deprecated) | |
34 | IPv6 I-Am-Here (Deprecated) | |
35 | Mobile Registration Request (Deprecated) | |
36 | Mobile Registration Reply (Deprecated) | |
37 | Domain Name Request (Deprecated) | |
38 | Domain Name Reply (Deprecated) | |
39 | SKIP (Deprecated) | |
40 | Photuris | |
41 | ICMP messages utilized by experimental mobility protocols such as Seamoby | |
42 | Extended Echo Request | |
43 | Extended Echo Reply | |
44-252 | Unassigned | |
253 | RFC3692-style Experiment 1 | |
254 | RFC3692-style Experiment 2 | |
255 | Reserved |
Пара слів про обмеження швидкості
Хоча ICMP-повідомлення, подібні до тих, які описані в статті, можуть бути дуже корисними, пам'ятайте, що генерація всіх цих повідомлень займає процесорний час на ваших маршрутизаторах і генерує трафік. Ви дійсно очікуєте, що ви отримуєте 1000 пінгів в секунду через брандмауер в звичайній ситуації? Чи буде це вважатися нормальним трафіком? Ймовірно, немає. Обмежуйте пропускну здатність мережі для цих типів ICMP трафіку, як ви вважаєте за потрібне; цей крок може допомогти вам у захисті вашої мережі.
Читати, досліджувати і розуміти
З огляду на, що обговорення теми «блокувати або не блокувати» ICMP-пакетів, завжди призводить до плутанини, суперечок і розбіжностей, пропоную продовжити вивчати цю тему самостійно. На цій сторінці привів багато посилань, вважаю для більш повного розуміння проблематики слід витратити час на їх читання. І зробити усвідомлений вибір того, що найкраще підходить для вашої мережі.
MikroTik: куди натиснути, щоб запрацювало?
При всіх своїх перевагах, є у продукції компанії MikroTik один мінус - багато роз'єднаної і далеко не завжди достовірної інформації про її налаштування. Рекомендуємо перевірене джерело російською мовою, де все зібрано, логічно і структуровано - відеокурс « Налаштування обладнання MikroTik». В курс входить 162 видеоурока, 45 лабораторних робіт, питання для самоперевірки і конспект. Всі матеріали залишаються у вас безстроково. Початок курсу можна подивитися безкоштовно, залишивши заявку на сторінці курсу. Автор курсу є сертифікованим тренером MikroTik.
Нерідко користувачів дратує повільність в роботі інтернету. Особливо це відноситься до численної армії любителів мережевих ігор. Можна скоротити час потенційних затримок, відключивши функцію ping.
Вам знадобиться
- - ПК зі встановленою операційною системою Windows;
- - доступ в Інтернет.
Інструкція
Інструкція
Блокування відповідей пінг в ОС може запобігти атакам флуда ICMP пакетів, але більшість систем використовують дану послугу для онлайн моніторингу (системного моніторингу). У своїй темі «заблокувати Ping (ICMP) відповідей в Unix / Linux» я розповім як можна все-таки його вимкнути.
Блокування PING на сервер є корисним, якщо сервер постійно стикається з якоюсь DoS атакою за допомогою функції PING. При використанні IPTables ми можемо просто зупинити заборонити проходження ICMP пакетів (власне, заборонити PING) на сервер. Перед початком цього необхідно мати уявлення про те, що таке Iptables в Linux. Iptables це система брандмауера з набором правил, які контролює вхідні і вихідні пакети. За замовчуванням в Iptables працює без будь-яких правил, ви можете створювати, додавати, редагувати правила.
Відключення Ping використовуючи iptables
Пояснення деяких параметрів в iptables, які необхідні для створення правил управління ICMP пакетами:
A: Додає правила.
-D: Видаляє правило з таблиці.
-p: Опція щоб вказати протокол (де 'icmp').
-icmp-type: Опція для вказівки типу.
-J: Перейти до ланцюжку.
Нижче, я приведу наочні приклади.
Як заблокувати PING на сервері з висновком повідомлень про помилку?
Таким чином, ви можете частково блокувати PING з висновком повідомлення про помилку «Destination Port Unreachable». Додайте наступні правила Iptables щоб заблокувати PING з висновком повідомлення про помилку:
# Iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
заблокувати PING на серверібез будь-яких повідомлень про помилки.
Для цього, використовуємо команду для ІПтейбелс:
# Iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP # iptables -A INPUT -p icmp --icmp-type echo-reply -j DROP
Заблокує всі вхідні і вихідні ICMP пакети на сервері.
Дозволити Ping використовуючи iptables
Якщо заблокували ping на сервері і не знаєте як повернути назад. То я зараз розповім як це зробити. А робиться це, додаванням наступного правила в IPtables:
# Iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Дані правила дозволять проходження ICMP пакетів з сервера і на нього.
Блокування Ping з параметрами Kernel
Ми також можемо блокувати пінг відповіді безпосередньо параметрами ядра. Можна заблокувати відповіді на пінг тимчасово або постійно і внизу показано як це зробити.
Тимчасове блокування Ping
Ви можете заблокувати тимчасово відповіді на пінг використовуючи наступну команду
# Echo "1"\u003e
Щоб розблокувати цю команду, виконайте наступну:
# Echo 0\u003e / proc / sys / net / ipv4 / icmp_echo_ignore_all
Заборонити Ping взагалі
Ви можете заблокувати пінг відповіді додаючи наступний параметр в конфігураційний файл:
# Vim /etc/sysctl.conf
І прописати:
[...] net.ipv4.icmp_echo_ignore_all \u003d 1 [...]
sysctl використовується для зміни параметрів ядра під час виконання, один з цих параметрів може бути «ping daemon» (демон пинга), якщо ви хочете відключити пінг, то ви просто повинні виконати щось на кшталт:
# Sysctl -w net.ipv4.icmp_echo_ignore_all \u003d 1
Тепер спробуйте пінгувати машину, ніяких відповідей на неї немає, чи не так? Для повторного включення пинга, використовуйте:
# Sysctl -w net.ipv4.icmp_echo_ignore_all \u003d 0
W прапор використовується, якщо ви хочете змінити деякі настройки.
Тепер виконайте наступну команду, щоб негайно застосувати настройки без перезавантаження системи:
# Sysctl -p
# Sysctl --system
Ось мій повний конфіг:
# Cd / usr / local / src && wget http: //сайт/wp-content/uploads/files/sysctl_conf.txt
і потім можна виконати:
# Cp /usr/local/src/sysctl_conf.txt /etc/sysctl.conf
На цьому у мене все, тема «Заблокувати Ping (ICMP) відповідей в Unix / Linux» завершена.
Яким чином можна конфігурувати комп'ютери під управлінням Windows 2000 / XP / 2003 на блокування Ping пакетів? Windows 2000 / XP / 2003 має вбудований механізм безпеки IP, званих IPSec (IP Security). IPSec це протокол розроблений для захисту індивідуальних TCP / IP пакетів при передачі їх через мережу.
Однак ми не будемо вдаватися в подробиці функціонування і пристрої IPsec, бо крім шифрування, IPSec може також захищати ваш сервер або робочу станцію механізмом, схожим на фаєрвол.
Блокуємо PING на одиночному комп'ютері
Для блокування всіх PING пакетів з комп'ютера і на нього нам необхідно створити політітку IPSec, яка буде блокувати весь ICMP трафік. Для початку перевірте чи відповідає ваш комп'ютер на ICMP запити:
Для настройки одиночного комп'ютера нам необхідно виконати наступні кроки:
Сконфігуріруемсписок IP Filter Lists і Filter Actions
- Відкрийте вікно MMC (Start\u003e Run\u003e MMC).
- Додайте оснащення IP Security and Policy Management.
- Виберіть який комп'ютер буде управлятися цією політикою - в нашому випадку це локальний компьтер. Натисніть Close, потім нажмітеOk.
- Правою кнопкою натисніть на IP Security Policies в лівій половині консолі MMC. Виберіть Manage IP Filter Lists and Filter Actions.
- Вам не потрібно налаштовувати або створювати IP фільтр для ICMP (протокол в якому працює PING), так як такий фільтр вже існує за замовчуванням - All ICMP Traffic.
Однак ви можете настроїти як завгодно складний IP фільтр, наприклад заборонити пінгувати ваш комп'ютер з усіх IP, крім кількох певних. В одній з наступних статей присвячених IPSec ми детально розглянемо створення IP фільтрів, слідкуйте за оновленнями.
- У вікні Manage IP Filter Lists and Filter actions перегляньте ваші фільтри і якщо все в порядку натисніть на вкладку Manage Filter Actions. Тепер нам потрібно додати дію для фільтра, яке буде блокувати певний трафік, натиснемо Add.
- У першому вікні привітання натискаємо Next.
- В поле Filter Action Name вводимо Block і натискаємо Next.
- У Filter Action General Options вибираємо Block, після чого тиснемо Next.
- Поверніться у вікно Manage IP Filter Lists and Filter actions і перегляньте ваші фільтри і якщо все в порядку, натисніть Close. Ви можете додати фільтри і дії для фільтрів в будь-який час.
Наступним кроком буде конфігурація політики IPSec і її застосування.
Конфігуріруем політику IPSe
- У тій же MMC консолі натисніть правою кнопкою по IP Security Policies і виберіть Create IP Security Policy.
- Пропустіть вітання майстра натиснувши Next.
- В поле IP Security Policy Name введіть відповідне нагоди ім'я, наприклад "Block PING". натисніть Next
- У вікні Запитів безпечного з'єднання зніми галочку з чекбокса Active the Default Response Rule. НажмітеNext
- Відзначте чекбокс змінити властивості і натисніть Finish.
- Нам потрібно додати IP фільтри і дії фільтрів в нову політику IPSec. У вікні новий політиці IPSec натисніть Add
- Натисніть Next.
- У вікні Tunnel Endpoint переконайтеся що вибрано значення за замовчуванням і натисніть Next.
Отже, продовжуємо розбиратися з ACL. Цього разу, у нас розширені ACL. Топологію візьмемо від попередньої статті, сподіваюся, ви її вивчили досконально. Якщо це не так, то дуже рекомендую прочитати, щоб матеріали цієї статті були більш зрозумілими.
Перш за все почну з того, що таке розширені ACL. Розширені ACL дозволяють крім адреси джерела вказати протокол, адреса призначення і порти. А так же особливі параметри певного протоколу. Найкраще вчитися на прикладах, тому сформуємо нову задачу, ускладнивши попередню. До речі, кому-то може цікаво буде після цього зайнятися питаннями розподілу трафіку по пріоритетам, раджу ось QoS Classification and Marking хорошу статтю, правда англійською. Ну а поки, повернемося до нашого завдання:
Завдання.
- Дозволити echo-запити з вузлів мережі 192.168.0.0/24 на сервер.
- З сервера - заборонити echo-запити у внутрішню мережу.
- Дозволити WEB-доступ на сервер з вузла 192.168.0.11.
- Дозволити FTP доступ з вузла 192.168.0.13 на сервер.
Комплексна задача. Вирішувати її будемо теж комплексно. Перш за все розберу синтаксис застосування розширеного ACL.
Параметри розширеного ACL
<номер от 100 до 199> <действие permit, deny> <протокол> <источник> <порт> <назначение> <порт> <опции>
Номери портів вказуються тільки у протоколів TCP / UDP, зрозуміло. Так само можу мати місце приставочку eq (Номер порту рівний значенню), gt / lt (Номер порту більше / менше зазначеного), neq (Номер порту не дорівнює зазначеному), range (Діапазон портів).
іменовані ACL
До речі, списки доступу можна не тільки нумерувати, а й назвати! Можливо цей спосіб здасться вам більш зручним. Цього разу зробимо саме так. Ці команди виконуються в контексті глобального конфігурування і синтаксис виглядає так:
Router (config) #ip access-list extended<имя>
Отже, починаємо формувати правила.
- Дозволяємо пінг з мережі 192.168.0.0/24
на сервер. Отже, echo-запит - це протокол ICMP, Як адресу джерела виберемо нашу підмережу, адресою призначення - адреса сервера, тип повідомлення - на вхідному інтерфейсі echo, на виході - echo-reply. Router (config) #ip access-list extended INT_IN Router (config-ext-nacl) #permit icmp 192.168.0.0 0.0.0.255 host 10.0.0.100 echoОпанькі, а що це у нас з маскою підмережі? Так, це фішка ACL. Так звана WildCard-маски. Обчислюється як зворотна маска від звичної. Тобто 255.255.255.255
- маска підмережі. У нашому випадку підмережа 255.255.255.0
, Після вирахування залишається якраз 0.0.0.255
.Думаю, це правило в поясненні не потребує? протокол icmp, Адреса джерела - підмережа 192.168.0.0/24
, Адреса призначення - host 10.0.0.100, Тип повідомлення - echo (Запит). До речі, неважко помітити, що host 10.0.0.100 еквівалентно 10.0.0.100 0.0.0.0
Застосовується це правило на інтерфейс. Router (config) #int fa0 / 0
Router (config-if) #ip access-group INT_IN in Ну якось так. Тепер, якщо перевірити пінг - легко помітити, що все відмінно працює. Тут, правда нас чекає один сюрприз, який спливе трохи пізніше. Ще не буду розкривати. Хто здогадався - молодець! - З сервера - забороняємо все echo-запити у внутрішню мережу (192.168.0.0/24). Визначаємо новий іменований список, INT_OUT і вішаємо його на інтерфейс, найближчий до сервера.
Router (config) #ip access-list extended INT_OUT
Router (config-ext-nacl) #deny icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo
Router (config-ext-nacl) #exit
Router (config) #int fa0 / 1
Router (config-if) #ip access-group INT_OUT in
Пояснюю, що ми зробили. Створили розширений список доступу з ім'ям INT_OUT, в ньому заборонили протокол icmp з типом echo з хоста 10.0.0.100 на підмережа 192.168.0.0/24 і застосували на вхід інтерфейсу fa0 / 1, Тобто найближчий до сервера. пробуємо послати ping з сервера.
SERVER\u003e ping 192.168.0.11
Pinging 192.168.0.11 with 32 bytes of data:
Reply from 10.0.0.1: Destination host unreachable.
Reply from 10.0.0.1: Destination host unreachable.
Reply from 10.0.0.1: Destination host unreachable.
Ping statistics for 192.168.0.11:
Packets: Sent \u003d 4, Received \u003d 0, Lost \u003d 4 (100% loss)
Ну, начебто спрацювало як треба. Для тих, хто не знає, як посилати пінг - натискаємо на який нас цікавить вузлі, наприклад сервері. Переходимо на вкладку Desktop (Робочий стіл), там Command Prompt (Командний рядок) .А тепер, обіцяний прикол. Спробуйте надіслати ping з хоста, як в першому пункті. PC\u003e ping 10.0.0.100
Pinging 10.0.0.100 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.Ось тобі раз. Тільки що ж все працювало! Чому перестало? Це обіцяний сюрприз. Пояснюю, в чому проблема. Так, перше правило нікуди не поділося. Воно дійсно дозволяє відправку echo запиту на вузол сервера. Але де дозвіл на проходження echo-відповідей? Його нема! Запит посилаємо, а відповідь прийняти не можемо! Чому ж все працювало раніше? Тоді у нас не було ACL на інтерфейсі fa0 / 1. А раз немає ACL, то все дозволено. Доведеться створювати правило на дозвіл прийому icmp-відповідей.
У список INT_OUT додамо
Те ж додамо і в список INT_IN.
Router (config-ext-nacl) #permit icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo-reply
Ось тепер не причепитися. Все проходить чудово!
- Дозволяємо WEB-доступ на сервер з вузла * .11.Поступаем аналогічно! Тут, правда, треба трохи знати, як відбуваються звернення по протоколам 4-го рівня (TCP, UDP). Клієнтський порт вибирається довільним\u003e 1024, а серверний - відповідний службі. Для WEB - це 80 порт (протокол http) .А що з приводу WEB-сервера? За замовчуванням, на сервері вже встановлена \u200b\u200bWEB-служба, можна подивитися в настройках вузла. Зверніть увагу, щоб стояла галочка. А підключитися до сервера можна вибравши ярлик "Веб браузер" на "Робочому столі" будь-якого вузла. Звичайно ж зараз доступу не буде. Оскільки у нас на інтерфейсах маршрутизатора висять ACL-и, і в них немає дозвільних правил для доступу. Щож, давайте создадім.В список доступу INT_IN (який на інтерфейсі fa0 / 0) Додамо правило: Router (config-ext-nacl) #permit tcp host 192.168.0.11 gt 1024 host 10.0.0.100 eq 80 Тобто ми дозволяємо протокол TCP з нашого вузла (порт довільний,\u003e 1024) на адресу сервера, порт HTTP.
І, зрозуміло, зворотне правило, в список INT_OUT (який на інтерфейсі fa0 / 1):
Router (config-ext-nacl) #permit tcp host 10.0.0.100 eq 80 host 192.168.0.11 established
Тобто дозволяємо TCP з порту 80 сервера на хост *.11 , І з'єднання вже має бути встановлено! можна замість established вказати так само gt 1 024, Працювати буде так само добре. Але сенс трохи інший.
В коментах дайте відповідь, що буде більш безпечним?
- Дозволяємо FTP-доступ з вузла * .13 на сервер.Тоже абсолютно нічого складного! Розбираємо, як відбувається взаємодія по протоколу FTP. В майбутньому, я планую присвятити цілий цикл статей роботі різних протоколів, оскільки це дуже корисно при створенні точних (снайперських) правил ACL. Ну а поки: Дії сервера і клієнта:+ Клієнт намагається встановити зв'язок і посилає пакет (в якому знаходиться вказівка, що буде вестися робота в пасивному режимі) на 21 порт сервера зі свого порту X (X\u003e 1024, вільний порт) + Сервер посилає відповідь і повідомляє номер свого порту для утворення каналу даних Y (Y\u003e один тисяча двадцять чотири) на порт клієнта X, витягнутого з заголовка TCP-пакета. + Клієнт ініціює зв'язок для передачі даних по порту X + 1 на порт сервера Y (взятого з заголовка попередньої транзакції). Якось так. Трохи складно звучить, але потрібно тільки розібратися! У список INT_IN додаємо правила:
permit tcp host 192.168.0.13 gt 1024 host 10.0.0.100 eq 21
permit tcp host 192.168.0.13 gt 1024 host 10.0.0.100 gt 1024А в список INT_OUT додаємо правила:
permit tcp host 10.0.0.100 eq ftp host 192.168.0.13 gt 1024
permit tcp host 10.0.0.100 gt +1024 host 192.168.0.13 gt +1024Перевіряємо з командного рядка, командою ftp 10.0.0.100, Де авторізуемся за обліковими даними cisco: cisco(Взято з налаштувань сервера), там вводимо команду dir і побачимо, що дані як і команди - передаються успішно.
Ось приблизно і все, що стосується розширених список доступу.
Отже, подивимося наші правила:
Router # sh access
Extended IP access list INT_IN
permit icmp 192.168.0.0 0.0.0.255 host 10.0.0.100 echo (17 match (es))
permit icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo-reply
permit tcp host 192.168.0.11 gt 1024 host 10.0.0.100 eq www (36 match (es))
permit tcp host 192.168.0.13 gt 1 024 host 10.0.0.100 eq ftp (40 match (es))
permit tcp host 192.168.0.13 gt 1024 host 10.0.0.100 gt 1024 (4 match (es))
Extended IP access list INT_OUT
deny icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo (4 match (es))
permit icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo-reply (4 match (es))
permit tcp host 10.0.0.100 eq www host 192.168.0.11 established (3 match (es))
permit tcp host 10.0.0.100 eq ftp host 192.168.0.13 gt 1024 (16 match (es))
permit tcp host 10.0.0.100 gt 1024 host 192.168.0.13 gt 1024 (3 match (es))