Функція "Unicast Reverse Path Forwarding" (RPF) функціонує в трьох різних режимах і потенційно може допомогти зменшити вектор атаки маршрутизатора, зокрема з підроблених IP-адрес.
Суворий режим
(config-if)#ip verify unicast source reachable-via rx
У суворому режимі маршрутизатор буде перевіряти та перевіряти IP-адресу вихідного пакета щодо його таблиці пересилання інформаційної бази (FIB) для відповідності маршруту. Якщо шлях до IP-адреси цього джерела доступний через інтерфейс, на який він був отриманий , пакет буде отриманий. За замовчуванням маршрут за замовчуванням не враховується в суворому режимі (як налаштовано вище).
Параметри суворого режиму:
Після конфігурації суворого режиму Unicast RPF на даному інтерфейсі маршрутизатор більше не може пінгувати цей інтерфейс:
#sh ip int bri | ex unas|Int
FastEthernet0/0 11.0.11.1
#ping 11.0.11.1
.....
Success rate is 0 percent (0/5)
Перевірка упакованих пакетів URPF:
#show ip int fa0/0 | i ^ [1-9]+ verification drops
5 verification drops
#show ip traffic | i unicast
0 no route, 5 unicast RPF, 0 forced drop
Цю поведінку можна змінити, додавши allow-self-ping
синтаксис:
(config-if)#ip verify unicast source reachable-via rx allow-self-ping
Крім того, як зазначено у вашому запитанні, суворий режим може дозволяти перевіряти IP-адреси вихідних пакетів щодо маршруту за замовчуванням. Це увімкнено синтаксисом allow-default
:
У суворому режимі додавання синтаксису allow-default
само по собі запобіжить отриманню з IP-адреси вхідного пакета, яка має маршрут через інший інтерфейс, ніж отриманий. Це передбачається, що на маршрутизаторі не налаштовані списки доступу або нульові маршрути. Всі адреси джерела, які можуть бути маршрутизовані, доступ до інтерфейсу, який вони отримали, будуть відповідати конкретному маршруту або маршруту за замовчуванням.
Однак, якщо ви мали використовувати нульові маршрути, найперше оцінюється найбільш конкретний маршрут, перш ніж перевірка URPF потрапить до маршруту за замовчуванням, і буде діяти як чорний список для відомих зловмисних діапазонів IP.
Приклад - Весь трафік, отриманий з 3.0.0.0/8, буде видалений за допомогою перевірки URPF:
(config-if)#ip verify unicast source reachable-via rx allow-default
(config)#ip route 3.0.0.0 255.0.0.0 null 0
Bad-Source-RTR#ping 11.0.11.1 so l1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 11.0.11.1, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
.....
Success rate is 0 percent (0/5)
Крім того, ви можете вказати список контролю доступу (ACL) замість додавання allow-default
синтаксису для створення структурованого списку дозволених та заборонених адрес. Адреси, які доступні за межі інтерфейсу, на який вони були отримані, і збігаються у визначеному ACL, або відміняються, або дозволяються відповідно.
!
access-list 23 permit 3.0.0.0 0.255.255.255
access-list 23 deny 4.0.0.0 0.255.255.255 log
access-list 23 permit any
!
(config)#int fa0/0
(config-if)#ip verify unicast source reachable-via rx 23
Нарешті, ви можете вказати ACL із allow-default
синтаксисом, але це не матиме ефекту. Пакети не перевірятимуться за ACL, вказаними allow-default
опцією.
#ip verify unicast source reachable-via rx allow-default ?
<1-199> A standard IP access list number
<1300-2699> A standard IP expanded access list number
Режим розслабленого
R1(config-if)#ip verify unicast source reachable-via any
У розвантаженому режимі маршрутизатор перевірятиме IP-адресу вихідного пакета і перевіряє його на відповідності маршруту в таблиці FIB. Якщо маршрут до IP-адреси цього джерела доступний, пакет може бути отриманий, незалежно від інтерфейсу, на який він був отриманий. За замовчуванням маршрут за замовчуванням не розглядається у вільному режимі (як налаштовано вище).
Вільний і суворий режим мають подібні параметри конфігурації; Основні відмінності полягають у використанні синтаксису ( any
порівняно rx
) та того, чи доступна IP-адреса вихідного пакета через інтерфейс, на який він був отриманий.
(config-if)#ip verify unicast source reachable-via any ?
<1-199> A standard IP access list number
<1300-2699> A standard IP expanded access list number
allow-default Allow default route to match when checking source address
allow-self-ping Allow router to ping itself (opens vulnerability in
verification)
Режим VRF
Режим VRF може використовувати слабкий або суворий режим у заданому VRF і оцінить IP-адресу вихідного пакета для IP-таблиці, налаштованої для сусіда eBGP.
Посилання:
Біла книга Cisco URPF
Розуміння посібника по конфігурації URPF для переадресації зворотного шляху Unicast