Розблокуйте icmp трафік windows 7. Вогняна дуга

Навчитися налаштування 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;
  • - доступ в Інтернет.

Інструкція

  • Увійдіть в меню «Пуск» операційної системи Windows, клацнувши відповідне кнопці в лівому кутку панелі завдань. Деякі пристрої для введення інформації мають клавішу з логотипом Windows, натиснувши на яку можна отримати доступ до головного меню операційної системи безпосередньо з клавіатури.
  • Відкрийте розділ «Панель управління», активуйте меню «Брандмауер Windows» і в діалоговому вікні перейдіть на вкладку «Розширені». Натисніть на кнопку ICMP Settings і вимкніть «Allow incoming echo request», знявши галочку з відповідного пункту меню. Збережіть зроблені вами зміни в налаштуваннях, клікнувши клавішу «Ok».
  • Скористайтеся вбудованим додатком IPSec для блокування вхідних і вихідних ping-пакетів. Натисніть на кнопку «Пуск» і, якщо ви використовуєте операційну систему Windows 7, введіть mmc в рядок пошуку. Володіючи комп'ютерів під управлінням ОС Windows XP, впишіть аналогічне значення в рядок «Виконати». Клацніть по пункту «Відкрити» або натисніть на клавішу Enter.
  • Підтвердіть свій вибір і в вікні додатків перейдіть в меню File. Виберіть функцію «Add / Remove Snap-in» і активуйте утиліту «IP Security and Policy Management». Поставте прапорець у полі «Local computer» і завершите роботу майстра, клікнувши кнопку Close.
  • Натисніть праву клавішу маніпулятора і викличте контекстне меню. Позначте команду «Manage IP filter Lists and Filter Actions» і активуйте пункт «All ICMP Traffic». Перейдіть в розділ «Manage Filter Actions», клікніть по кнопці Next і відзначте прапорцем напис «Block». Підтвердіть зроблені настройки і закрийте діалогове вікно.
  • У контекстному меню «IP Security Policies» активуйте команду «Create IP Security Policy». Вкажіть пункт «Block Ping» у відповідному полі відкрився майстра створення політик. Зніміть прапорець навпроти напису «Activate the default responce rule» і зробіть вибір на користь пункту «Edit Properties». Збережіть зроблені настройки і закрийте вікно майстра.
  • Рада доданий 25 січня 2012 Рада 2: Як заборонити ping Функція ping використовується для перевірки доступності інтернет-ресурсів за допомогою відправки на використовуваний хост пакета певного розміру. При цьому заміряється час повернення даних, щоб визначити швидкість з'єднання. Ця функція відключається любителями мережевих ігор, щоб скоротити час затримок.

    Інструкція

  • Відкрийте меню «Пуск» операційної системи Windows, кнопка якого знаходиться в лівому кутку панелі завдань. Також на деяких клавіатурах є кнопка з зображенням віконця Windows, натиснувши на яке, можна запустити головне меню. Перейдіть в розділ «Панель управління» і зайдіть в меню «Брандмауер Windows». Натисніть на вкладку «Розширені» в діалоговому вікні.
  • Знайдіть кнопку ICMP Settings і натисніть на неї, після чого зніміть галочку біля напису "Allow incoming echo request". Після цього внизу вікна натисніть на кнопку «Ок», щоб зберегти зазначені настройки. Після цього для обмежити вхідні та вихідні ping-пакетів необхідно скористатися вбудованим додатком IPSec.
  • Натисніть на кнопку «Пуск» і введіть значення mmc в рядок пошуку (для Windows 7) або в рядок «Виконати» (для Windows XP). Натисніть кнопку «Відкрити» або клавішу Enter.Подтвердіте виконання команди і відкрийте меню File у вікні додатків. Виберіть функцію "Add / Remove Snap-in" і додайте утиліту "IP Security and Policy Management". В поле "Local computer" поставте прапорець і натисніть кнопку Close, щоб завершити роботу майстра.
  • Натисніть правою кнопкою мишки на рядок "IP Security Policies", щоб викликати контекстне меню. Виділіть команду "Manage IP filter Lists and Filter Actions" і відзначте пункт "All ICMP Traffic". Після цього перейдіть в розділ "Manage Filter Actions". Натисніть кнопку Next і поставте прапорець біля напису "Block". Підтвердіть налаштування і закрийте діалогове вікно.
  • Виберіть команду "Create IP Security Policy" в контекстному меню "IP Security Policies". Відкриється майстер створення політик, в якому вкажіть у відповідному полі "Block Ping". Зніміть прапорці біля напису "Activate the default responce rule" і поставте біля "Edit Properties". Збережіть налаштування і закрийте вікно майстра.
  • Як заборонити ping - версія для друку

    Блокування відповідей пінг в ОС може запобігти атакам флуда 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

    1. Відкрийте вікно MMC (Start\u003e Run\u003e MMC).
    2. Додайте оснащення IP Security and Policy Management.
    1. Виберіть який комп'ютер буде управлятися цією політикою - в нашому випадку це локальний компьтер. Натисніть Close, потім нажмітеOk.
    1. Правою кнопкою натисніть на IP Security Policies в лівій половині консолі MMC. Виберіть Manage IP Filter Lists and Filter Actions.
    1. Вам не потрібно налаштовувати або створювати IP фільтр для ICMP (протокол в якому працює PING), так як такий фільтр вже існує за замовчуванням - All ICMP Traffic.

    Однак ви можете настроїти як завгодно складний IP фільтр, наприклад заборонити пінгувати ваш комп'ютер з усіх IP, крім кількох певних. В одній з наступних статей присвячених IPSec ми детально розглянемо створення IP фільтрів, слідкуйте за оновленнями.

    1. У вікні Manage IP Filter Lists and Filter actions перегляньте ваші фільтри і якщо все в порядку натисніть на вкладку Manage Filter Actions. Тепер нам потрібно додати дію для фільтра, яке буде блокувати певний трафік, натиснемо Add.
    1. У першому вікні привітання натискаємо Next.
    2. В поле Filter Action Name вводимо Block і натискаємо Next.
    1. У Filter Action General Options вибираємо Block, після чого тиснемо Next.
    1. Поверніться у вікно Manage IP Filter Lists and Filter actions і перегляньте ваші фільтри і якщо все в порядку, натисніть Close. Ви можете додати фільтри і дії для фільтрів в будь-який час.

    Наступним кроком буде конфігурація політики IPSec і її застосування.

    Конфігуріруем політику IPSe

    1. У тій же MMC консолі натисніть правою кнопкою по IP Security Policies і виберіть Create IP Security Policy.
    1. Пропустіть вітання майстра натиснувши Next.
    2. В поле IP Security Policy Name введіть відповідне нагоди ім'я, наприклад "Block PING". натисніть Next
    1. У вікні Запитів безпечного з'єднання зніми галочку з чекбокса Active the Default Response Rule. НажмітеNext
    1. Відзначте чекбокс змінити властивості і натисніть Finish.
    1. Нам потрібно додати IP фільтри і дії фільтрів в нову політику IPSec. У вікні новий політиці IPSec натисніть Add
    1. Натисніть Next.
    2. У вікні Tunnel Endpoint переконайтеся що вибрано значення за замовчуванням і натисніть Next.

    Отже, продовжуємо розбиратися з ACL. Цього разу, у нас розширені ACL. Топологію візьмемо від попередньої статті, сподіваюся, ви її вивчили досконально. Якщо це не так, то дуже рекомендую прочитати, щоб матеріали цієї статті були більш зрозумілими.

    Перш за все почну з того, що таке розширені ACL. Розширені ACL дозволяють крім адреси джерела вказати протокол, адреса призначення і порти. А так же особливі параметри певного протоколу. Найкраще вчитися на прикладах, тому сформуємо нову задачу, ускладнивши попередню. До речі, кому-то може цікаво буде після цього зайнятися питаннями розподілу трафіку по пріоритетам, раджу ось QoS Classification and Marking хорошу статтю, правда англійською. Ну а поки, повернемося до нашого завдання:

    Завдання.

    1. Дозволити echo-запити з вузлів мережі 192.168.0.0/24 на сервер.
    2. З сервера - заборонити echo-запити у внутрішню мережу.
    3. Дозволити WEB-доступ на сервер з вузла 192.168.0.11.
    4. Дозволити 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<имя>

    Отже, починаємо формувати правила.

    1. Дозволяємо пінг з мережі 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 Ну якось так. Тепер, якщо перевірити пінг - легко помітити, що все відмінно працює. Тут, правда нас чекає один сюрприз, який спливе трохи пізніше. Ще не буду розкривати. Хто здогадався - молодець!
    2. З сервера - забороняємо все 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

      Ось тепер не причепитися. Все проходить чудово!

    3. Дозволяємо 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, Працювати буде так само добре. Але сенс трохи інший.

      В коментах дайте відповідь, що буде більш безпечним?

    4. Дозволяємо 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))