Comments 30
оффтопик, но, даже стыдно — ASA не крутил ни разу
надо хоть эмулятор какой сгородить =)
надо хоть эмулятор какой сгородить =)
0
Есть уже эмуляторы. Кто то даже к GNS его прикрутил. Мне пока не удалось. Довольствуюсь PEMU с пиксом и живым железом :)
0
Есть уже эмуляторы. Кто то даже к GNS его прикрутил. Мне пока не удалось. Довольствуюсь PEMU с пиксом и живым железом :)
0
видел пока только asa_project.gromnet.net/ но не пробовал
про pemu конечно в курсе =)
про pemu конечно в курсе =)
0
есть пак под винду называется GNS3 v0.6.1 all-in-one который включает в себя Dynamips, Pemu and WinPCAP 4.0.2. Под линуксом надо немного пошаманить.
0
можно на qemu запустить asa up to 8.02
0
А его в кучу к ГНСу как прикрутить?
Приходится признать свою чайность в эмуляторах :(
Но я учусь :)
Приходится признать свою чайность в эмуляторах :(
Но я учусь :)
0
я на линуксе. GNS не юзаю ( im a console nerd, so using dynagen instead of gns ). Сдружить АСАшку с dynagen'ом можно через tap интерфейсы
0
можно поднять бридж между виртуальными интерфейсами через виндовый netsh, но точный гайд вам придётся искать самому — с той системой давненько не отбщался.
0
access-list DoS extended permit udp host 1.1.1.1 interface outside eq isakmp
access-list DoS extended permit udp host 1.1.1.1 interface outside eq 4500
access-list DoS extended deny udp any interface outside eq isakmp
access-list DoS extended deny udp any interface outside eq 4500
access-group DoS in int outside control-plane
access-list ipsec-dmz extended permit ip 192.168.1.0 255.255.255.0 10.1.0.0 255.255.0.0
access-list ipsec-dmz extended permit ip 192.168.1.0 255.255.255.0 any
access-list ipsec-outside extended permit ip host 192.168.1.100 10.1.0.0 255.255.0.0
access-list ipsec-outside extended deny ip host 192.168.1.100 any
access-list ipsec-outside extended permit ip 192.168.1.0 255.255.255.0 any
access-list host-100-dc permit ip host 192.168.1.100 10.1.0.0 255.255.0.0
access-list host-100-internet permit ip host 192.168.1.100 any
route dmz 0.0.0.0 0.0.0.0 Nhop track 1
route outside 0.0.0.0 0.0.0.0 NHop 100
no nat-control
global (outside) 1 interface outside
nat (inside) 0 access-list host-100-dc
nat (inside) 1 access-list host-100-internet
Конфиг писал не я, люди которые это наваяли к сожалению на хабре не присутствуют. Но если будут что сказать по этому конфу — говорите!!!
0
да забыл написать это решение А. Решение Б в процессе )
0
Совсем чуть-чуть покритикую:
1. В ACL DoS кроме IPSec с хоста 1.1.1.1 не будет пропущено ВООБЩЕ более ничего. В задаче более лояльные условия :)
2. Зачем в ACL ipsec-dmz первая строка?
3. Хоть я и не очень люблю deny в IPSec (с ними бывают косяки, особенно когда циска вяжется с нециской), в данном случае работать будет.
1. В ACL DoS кроме IPSec с хоста 1.1.1.1 не будет пропущено ВООБЩЕ более ничего. В задаче более лояльные условия :)
2. Зачем в ACL ipsec-dmz первая строка?
3. Хоть я и не очень люблю deny в IPSec (с ними бывают косяки, особенно когда циска вяжется с нециской), в данном случае работать будет.
0
access-list DoS extended permit udp host 1.1.1.1 interface outside eq isakmp
access-list DoS extended permit udp host 1.1.1.1 interface outside eq 4500
access-list DoS extended deny udp any interface outside eq isakmp
access-list DoS extended deny udp any interface outside eq 4500
access-group DoS in int outside control-plane
interface dmz
security-level 100
interface inside
security-level 100
same-security-traffic permit inter-interface
access-list ipsec-dmz extended permit ip 192.168.1.0 255.255.255.0 10.1.0.0 255.255.0.0
access-list ipsec-dmz extended permit ip 192.168.1.0 255.255.255.0 any
access-list ipsec-outside extended permit ip host 192.168.1.100 10.1.0.0 255.255.0.0
access-list ipsec-outside extended deny ip host 192.168.1.100 any
access-list ipsec-outside extended permit ip 192.168.1.0 255.255.255.0 any
access-list host-100-dc permit ip host 192.168.1.100 10.1.0.0 255.255.0.0
access-list host-100-dc permit ip 192.168.1.0 255.255.255.128 any
access-list host-100-dc permit ip 192.168.1.0 255.255.255.192 any
access-list host-100-dc permit ip 192.168.1.0 255.255.255.224 any
access-list host-100-dc permit ip 192.168.1.0 255.255.255.240 any
access-list host-100-dc permit ip 192.168.1.0 255.255.255.248 any
access-list host-100-dc permit ip 192.168.1.0 255.255.255.252 any
access-list host-100-dc permit ip 192.168.1.0 255.255.255.254 any
access-list host-100-dc permit ip 192.168.1.0 255.255.255.255 any
route dmz 0.0.0.0 0.0.0.0 Nhop track 1
route outside 0.0.0.0 0.0.0.0 NHop 100
nat-control
global (outside) 1 interface
nat (inside) 0 access-list host-100-dc
nat (inside) 1 192.168.1.100 255.255.255.255
Второй конф, криво но работать должно :-D
0
Идею понял.
Про одинаковые security-level это отличная идея. Один из «красивых» вариантов именно такой!
Но дальше чуть-чуть не дотянули до победы:
192.168.1.0/25 включает в себя 192.168.1.100, поэтому в интернет этот хост не пойдёт.
Про одинаковые security-level это отличная идея. Один из «красивых» вариантов именно такой!
Но дальше чуть-чуть не дотянули до победы:
192.168.1.0/25 включает в себя 192.168.1.100, поэтому в интернет этот хост не пойдёт.
0
Драсте!
Собственно автороство мое, только щас заметил что забыл в ACL host-100-dc забыл указать постедний октет ;) Щас глянул, если правильно расставитьв се взлетит.
Собственно автороство мое, только щас заметил что забыл в ACL host-100-dc забыл указать постедний октет ;) Щас глянул, если правильно расставитьв се взлетит.
0
crypto acl:
permit ofice_net -> any ( в 1ом случае ( через ДМЗ ) очевидно, во втором случае у нас сначало НАТится адрес, а потом уже после трансляции проверяется по криптоакл — соотв для HOSTа никаких deny не надо )
sla monitor & cp acl omitted coz too easy
nat:
в exempt nat можно писать deny ACE
permit ofice_net -> any ( в 1ом случае ( через ДМЗ ) очевидно, во втором случае у нас сначало НАТится адрес, а потом уже после трансляции проверяется по криптоакл — соотв для HOSTа никаких deny не надо )
sla monitor & cp acl omitted coz too easy
nat:
в exempt nat можно писать deny ACE
0
слишком рано ок нажал, продолжение:
nat (inside) 0 acl OFFICE_TO_ANY
сам acl OFFICE_TO_ANY -> deny host 192.168.1.100 any; permit 192.168.1.0/24 any
static ( inside,dmz ) 192.168.1.100 192.168.1.100 netmask 255.255.255.255
static (inside,outside ) 192.168.1.100 acess-list HOST_TO_DCLAN ( where HOST_TO_DCLAN -> permit 192.168.1.100 -> 10.0/16 )
nat(inside) 10 192.168.1.100
global(outside) 10 interface outside
получаем, что для всех ( кроме 100го ) хостов из 192.168.1.0/24 работает exempt nat
для 100го когда работает выделеный канал -> сам в себя натится статикой куда бы не пошел
когда ipsec через outside интерфейс -> натится сам в себя только когда в 10ую сеть идет.
nat (inside) 0 acl OFFICE_TO_ANY
сам acl OFFICE_TO_ANY -> deny host 192.168.1.100 any; permit 192.168.1.0/24 any
static ( inside,dmz ) 192.168.1.100 192.168.1.100 netmask 255.255.255.255
static (inside,outside ) 192.168.1.100 acess-list HOST_TO_DCLAN ( where HOST_TO_DCLAN -> permit 192.168.1.100 -> 10.0/16 )
nat(inside) 10 192.168.1.100
global(outside) 10 interface outside
получаем, что для всех ( кроме 100го ) хостов из 192.168.1.0/24 работает exempt nat
для 100го когда работает выделеный канал -> сам в себя натится статикой куда бы не пошел
когда ipsec через outside интерфейс -> натится сам в себя только когда в 10ую сеть идет.
0
Да, так мне нравится :)
Собственно в задаче, чтобы качественно работало, надо применить (я так задумывал)
deny для nat 0 (работает кажется только с 8.0)
policy static
identity static или (как верно предложили выше) — одинаковый security level на inside и dmz
Собственно в задаче, чтобы качественно работало, надо применить (я так задумывал)
deny для nat 0 (работает кажется только с 8.0)
policy static
identity static или (как верно предложили выше) — одинаковый security level на inside и dmz
0
Вот скстати, вопрос к Вам, что обрабатывается на CPU и что на ASIC :)
ACL — работат как правило на asic (так по крайней мере на R&S)
Так что если тут встает вопрос о красоте против скалабилити, то надо брать в расчет скалабилити.
Имхо, на лабе как раз другая культура ;)
ACL — работат как правило на asic (так по крайней мере на R&S)
Так что если тут встает вопрос о красоте против скалабилити, то надо брать в расчет скалабилити.
Имхо, на лабе как раз другая культура ;)
0
ACL как фильтр на интерфейсе на карточке
ACL как критерий отбора (НАТ, ИПСЕК) — мозгом.
ACL как критерий отбора (НАТ, ИПСЕК) — мозгом.
0
вот спорно. Мне все таки кажется что нат например через cef делается, соотв на младших моделях все через контекст интераптов идет, на старших ( 65 etc ), где есть ASIC — то он програмируется.
Same with acl
Same with cryptoacl ( на той же АСАшке шифрованием вроде как сопроцессор занимается, так что легко можно отбор пакетов для шифрования делать в интераптах, и перенаправлять их на сопроц для шифрования )
Явно то, что НАТ через cef я вроде не видел, но, например, если посмотреть роутер перфоманс табличку ( eg 2811 ):
через process switching — 3k pps дает
через cef — 120k pps
с включеным натом я такого падения не видел ( до 3к pps ).
Same with acl
Same with cryptoacl ( на той же АСАшке шифрованием вроде как сопроцессор занимается, так что легко можно отбор пакетов для шифрования делать в интераптах, и перенаправлять их на сопроц для шифрования )
Явно то, что НАТ через cef я вроде не видел, но, например, если посмотреть роутер перфоманс табличку ( eg 2811 ):
через process switching — 3k pps дает
через cef — 120k pps
с включеным натом я такого падения не видел ( до 3к pps ).
0
Хотя NAT наврятли через cef. Скорее через какойнить fast cache. Ибо для динамика например оч сложно наперед cef entry записать
0
А где на АСЕ cef? :)
Там и проц быстрее для того, чтобы можно было больше его нагружать :)
Там и проц быстрее для того, чтобы можно было больше его нагружать :)
0
Хм, блин почему они не выпускают помимо конф гайдов описание архитектуры :)
ASICов на АСЕ тоже кстати вроде как нет ( это к «ACL как фильтр на интерфейсе на карточке» )
Надо тогда разделить понятие:
Обработка Процом как процесс ( дада масло масло :) ) — process switching
Обработка через интерапты — cef or somekind of fast cache switching
Hardware — через ASIC
Мне кажется, что АСА все таки юзает какой либо fast-cache для свитчинга/nata/acl
ASICов на АСЕ тоже кстати вроде как нет ( это к «ACL как фильтр на интерфейсе на карточке» )
Надо тогда разделить понятие:
Обработка Процом как процесс ( дада масло масло :) ) — process switching
Обработка через интерапты — cef or somekind of fast cache switching
Hardware — через ASIC
Мне кажется, что АСА все таки юзает какой либо fast-cache для свитчинга/nata/acl
0
Я думаю спорить на тему через что работает не имеет смысла, т.к. через cef не вариант, уж больно многомерен станет cef из за sec фишек, где держать допустим tcp seq? Тоже в cef? Я исхожу из того что, хидер и тейлер на пакет клеит cef хоть, и не на 4ом уровне.
Я как то разбирал 5510, кроме мамки камня я там ничего не нашел любопытного. Вообще надо бы конечно узнать. и насчет АСЕ и насчет ASA.
Я как то разбирал 5510, кроме мамки камня я там ничего не нашел любопытного. Вообще надо бы конечно узнать. и насчет АСЕ и насчет ASA.
0
Резюмируем:
Вариант
no nat-control
В этом варианте не надо описывать то, что не транслируется, поэтому трафик в сторону DMZ можно не учитывать вовсе.
Осталось разобраться с хостом 192.168.1.100
Это можно сделать например так:
access-list NONAT100 permit h 192.168.1.100 10.1.0.0 255.255.0.0
nat (inside) 0 access-l NONAT100
nat (inside) 1 192.168.1.100
global (outside) 1 int
Вариант
nat-control
Тут сложнее, потому что надо явно описать тот трафик, который не надо транслировать.
Такой вариант (сам просится) использовать нельзя
access-l WRONG perm ip 192.168.1.0 255.255.255.0 any
nat (inside) 0 access-l WRONG
т.к. nat 0 отработает в сторону и dmz и outside интерфейсов и до трансляции 192.168.1.100 дело не дойдёт
Поэтому есть несколько вариантов.
В лоб. Работает всегда:
описываем тот трафик, который никогда не транслируем
access-list NONAT perm ip h 192.168.1.100 10.1.0.0 255.255.0.0
access-list NONAT deny ip h 192.168.1.100 255.255.255.0 any
access-list NONAT perm ip 192.168.1.0 255.255.255.0 any
nat (inside) 0 access-l NONAT
для nat 0 допускаются строчки deny в ACL
deny для nat 0 говорит, чтобы циска дальше искала правила трансляций.
Нам необходимо странслировать 192.168.1.100 в outside
nat (inside) 1 192.168.1.100
global (outside) 1 int
и в dmz
static (inside,dmz) 192.168.1.100 192.168.1.100
еще вариант — применить военную хитрость: между интерфейсами с одинаковым security level осуществляется маршрутизация, даже если включен nat-control!
int e0/1
sec 100
nameif inside
int e0/2
sec 100
nameif dmz
same-security-traffic permit inter-interface
Теперь трафик в dmz пойдет и без правила nat 0 и осталось описать только правила для outside
access-list NONAT perm ip h 192.168.1.100 10.1.0.0 255.255.0.0
access-list NONAT deny ip h 192.168.1.100 255.255.255.0 any
access-list NONAT perm ip 192.168.1.0 255.255.255.0 any
nat (inside) 0 access-l NONAT
Т.к. шифрование происходит после НАТа, для IPSec достаточно написать один ACL
access-l IPSEC perm ip 192.168.1.0 255.255.255.0 any
Без сомнения есть ещё варианты: с использованием некрасивого ACL, исключающего 192.168.1.100 без строчек deny (так имело смысл делать для ОС 6), можно использовать policy static хоста 192.168.1.100 в себя при проходе в сеть 10.1.0.0/16
Вариант
no nat-control
В этом варианте не надо описывать то, что не транслируется, поэтому трафик в сторону DMZ можно не учитывать вовсе.
Осталось разобраться с хостом 192.168.1.100
Это можно сделать например так:
access-list NONAT100 permit h 192.168.1.100 10.1.0.0 255.255.0.0
nat (inside) 0 access-l NONAT100
nat (inside) 1 192.168.1.100
global (outside) 1 int
Вариант
nat-control
Тут сложнее, потому что надо явно описать тот трафик, который не надо транслировать.
Такой вариант (сам просится) использовать нельзя
access-l WRONG perm ip 192.168.1.0 255.255.255.0 any
nat (inside) 0 access-l WRONG
т.к. nat 0 отработает в сторону и dmz и outside интерфейсов и до трансляции 192.168.1.100 дело не дойдёт
Поэтому есть несколько вариантов.
В лоб. Работает всегда:
описываем тот трафик, который никогда не транслируем
access-list NONAT perm ip h 192.168.1.100 10.1.0.0 255.255.0.0
access-list NONAT deny ip h 192.168.1.100 255.255.255.0 any
access-list NONAT perm ip 192.168.1.0 255.255.255.0 any
nat (inside) 0 access-l NONAT
для nat 0 допускаются строчки deny в ACL
deny для nat 0 говорит, чтобы циска дальше искала правила трансляций.
Нам необходимо странслировать 192.168.1.100 в outside
nat (inside) 1 192.168.1.100
global (outside) 1 int
и в dmz
static (inside,dmz) 192.168.1.100 192.168.1.100
еще вариант — применить военную хитрость: между интерфейсами с одинаковым security level осуществляется маршрутизация, даже если включен nat-control!
int e0/1
sec 100
nameif inside
int e0/2
sec 100
nameif dmz
same-security-traffic permit inter-interface
Теперь трафик в dmz пойдет и без правила nat 0 и осталось описать только правила для outside
access-list NONAT perm ip h 192.168.1.100 10.1.0.0 255.255.0.0
access-list NONAT deny ip h 192.168.1.100 255.255.255.0 any
access-list NONAT perm ip 192.168.1.0 255.255.255.0 any
nat (inside) 0 access-l NONAT
Т.к. шифрование происходит после НАТа, для IPSec достаточно написать один ACL
access-l IPSEC perm ip 192.168.1.0 255.255.255.0 any
Без сомнения есть ещё варианты: с использованием некрасивого ACL, исключающего 192.168.1.100 без строчек deny (так имело смысл делать для ОС 6), можно использовать policy static хоста 192.168.1.100 в себя при проходе в сеть 10.1.0.0/16
0
Only those users with full accounts are able to leave comments. Log in, please.
Задачка с ASA. Задачка давалась на Cisco Challenge Cisco Expo 2009