Перейти к содержимому
Калькуляторы

Подмена IP-адреса При VLAN на человека

Коллеги, всем привет.

 

Чего-то я совсем туплю. Какие могут быть проблемы с точки зрения безопасности при схеме вилан на человека?

 

Доступ: L2, port based vlan

Центр: Catalyst 6500 sup2/msfc2

 

К примеру, интерфейсы абонентов

 

interface Vlan101
description Abonent-101
ip address 10.101.5.1 255.255.255.0
ip nat inside
!
interface Vlan102
description Abonent-102
ip address 10.101.6.1 255.255.255.248
ip nat inside

 

DHCP для их сеток

 

ip dhcp excluded-address 10.101.5.1
ip dhcp excluded-address 10.101.6.1
!
ip dhcp pool Abonent-101
   network 10.101.5.0 255.255.255.0
   dns-server 10.0.0.2 
   default-router 10.101.5.1 
   lease infinite
!
ip dhcp pool Abonent-102
   network 10.101.6.0 255.255.255.0
   dns-server 10.0.0.2 
   default-router 10.101.6.1 
   lease infinite

 

Сможет при такой схеме абонент что-то пакостное сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Срать с чужим SourceIP - может, URPF на Sup2 вроде нет ещё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что мешает на каждый интерфейс ACL навесить? )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

использовать ip unnumbered + dhcp. тогда маршрут для абонента будет добавлен в таблицу роутинга после того, как тот получил адрес по dhcp. все остальные адреса будут идти лесом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что мешает на каждый интерфейс ACL навесить? )))
Никаких TCAM не хватит, мы ж не о софтовом роутере говорим...

 

использовать ip unnumbered + dhcp. тогда маршрут для абонента будет добавлен в таблицу роутинга после того, как тот получил адрес по dhcp. все остальные адреса будут идти лесом.
Маршрут - да, будет добавлен. Пакеты к клиенту - да, пойдут только его.

Но клиент может слать что угодно, IPSourceGuard надо, однако.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

urpf должен работать на суп2:

 

System image file is "sup-bootflash:c6sup22-pk2o3sv-mz.121-26.E9.bin"

 

!
interface Vlan10
 ip address 10.10.10.3 255.255.255.0
 ip verify unicast source reachable-via rx allow-default
!

 

Router#sh cef int vl 10
Vlan10 is up (if_number 9)
  Corresponding hwidb fast_if_number 9
  Corresponding hwidb firstsw->if_number 9
  Internet address is 10.10.10.3/24
  ICMP redirects are always sent
  Per packet load-sharing is disabled
  IP unicast RPF check is enabled
  Inbound access list is not set
  Outbound access list is not set
  IP policy routing is disabled
  BGP based policy accounting is disabled
  Hardware idb is Vlan10
  Fast switching type 22, interface type 123
  IP CEF switching enabled
  IP Feature Fast switching turbo vector
  IP Feature CEF switching turbo vector
  Input fast flags 0x4040, Output fast flags 0x100
  ifindex 7(7)
  Slot 0 Slot unit 10 VC -1
  Transmit limit accumulator 0x0 (0x0)
  IP MTU 1500
Router#

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

URPF - это хорошо. Значит ничего абонент подменить не сможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Маршрут - да, будет добавлен. Пакеты к клиенту - да, пойдут только его.

Но клиент может слать что угодно, IPSourceGuard надо, однако.

делаем

int loo 0
ip addr 1.1.1.1/32

int f0/1
sw ac vl 10

int vl 10 
ip unnum loo 0
ip helper-address 10.10.10.10

 

по DHCP в первый порт раздаем IP c /32 маской.

прописывается маршрут типа

S       1.1.1.10 is directly connected, Vlan10

 

если маршрута еще нет и юзер прописал себе соседний ИП - юзер будет слать что хочет, но только до порта каталиста.

если получен ИП, создан маршрут и ИП поменян - юзер опять же только до каталиста будет слать что хочет.

даже без UPRF и IP Source Guard.

я не прав?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пару дней назад топикстартер писал, что не нашел IP unnumbered в своём Sup2.

Может, поможете ему с IOS'ом?

 

ЗЫ. на лупбэк лучше вешать IP с нормальной маской, Если сетей несколько - завести несколько лупбэков.

Просто ARP'ы летят от того IP, что висит на лупбеке. Винде пофиг, но некоторые другие ОС относятся к этому щепетильнее.

 

если маршрута еще нет и юзер прописал себе соседний ИП - юзер будет слать что хочет, но только до порта каталиста.

если получен ИП, создан маршрут и ИП поменян - юзер опять же только до каталиста будет слать что хочет.

даже без UPRF и IP Source Guard.

я не прав?

Не прав, маршрутизация идёт по destination. Пакеты с неверным source полетят дальше и на них могут даже прийти ответы, только пойдут они тому, чей source подставил юзер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

urpf должен работать на суп2:

System image file is "sup-bootflash:c6sup22-pk2o3sv-mz.121-26.E9.bin"

D^2 так и есть - работает таки :)

UglyAdmin спасибо за подсказку.

 

 

Пару дней назад топикстартер писал, что не нашел IP unnumbered в своём Sup2.

Может, поможете ему с IOS'ом?

Я наверно не отписался тогда в топике, но мне помогли уже с IOS, unnumbered есть и даже работает :)

 

делаем

int loo 0
ip addr 1.1.1.1/32

int f0/1
sw ac vl 10

int vl 10 
ip unnum loo 0
ip helper-address 10.10.10.10

 

по DHCP в первый порт раздаем IP c /32 маской.

прописывается маршрут типа

S       1.1.1.10 is directly connected, Vlan10

Была идея использовать unnumbered, но я не пойму как привязать ip адрес выдаваемый dhcp к порту или вилану абонента. Опции 82 на доступе нет. Может есть еще какие нибудь варианты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не прав, маршрутизация идёт по destination. Пакеты с неверным source полетят дальше и на них могут даже прийти ответы, только пойдут они тому, чей source подставил юзер.

речь идёт о полноценной подделке адреса, т.е. полной связности.

а от того о чём вы написали и правда только ipsg поможет ну или urpf :)

Изменено пользователем ingress

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пару дней назад топикстартер писал, что не нашел IP unnumbered в своём Sup2.

Может, поможете ему с IOS'ом?

помогли +)

 

сейчас проверил.

засунул 2 хоста в вланы.

!
interface Loopback0
ip address 1.1.1.1 255.255.255.0
!
interface FastEthernet0/1
switchport mode access
switchport access vlan 10
!
interface FastEthernet0/2
switchport mode access
switchport access vlan 20
!         
!
interface FastEthernet0/23
description -=DHCP_Server=-
no switchport
ip address 10.10.10.1 255.255.255.0
!
interface Vlan10
ip unnumbered Loopback0
ip helper-address 10.10.10.10
no ip proxy-arp
!
interface Vlan20
ip unnumbered Loopback0
ip helper-address 10.10.10.10
no ip proxy-arp
!

полчил хостами адреса с масками /32.

прописадись роуты

Gateway of last resort is not set

     1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C       1.1.1.0/24 is directly connected, Loopback0
S       1.1.1.10/32 is directly connected, Vlan10
S       1.1.1.11/32 is directly connected, Vlan20
     10.0.0.0/24 is subnetted, 1 subnets
C       10.10.10.0 is directly connected, FastEthernet0/23

 

хосты видят друг друга.

запускаю на хосте 1.1.1.10 сниффер.

на втором хосте меняем ручками ип на 1.1.1.12 и обращаемся к 1.1.1.10.

сниффер не показывает никакой активности.

 

что я делаю не так? =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

что я делаю не так? =)
Не надо менять адрес на втором хосте, надо просто слать пакеты с sourceIP первого.

Так обычно делается всякой нечистью в целях DoS/DDoS, а не юзером с целью украсть чужого трафика...

 

Была идея использовать unnumbered, но я не пойму как привязать ip адрес выдаваемый dhcp к порту или вилану абонента. Опции 82 на доступе нет. Может есть еще какие нибудь варианты?
Использовать Opt82 на BRAS'е и внешний DHCP-сервер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

что я делаю не так? =)
Не надо менять адрес на втором хосте, надо просто слать пакеты с sourceIP первого.

Так обычно делается всякой нечистью в целях DoS/DDoS, а не юзером с целью украсть чужого трафика...

Оченна интересно. Т.е. таким образом досят sourceIP?

 

Была идея использовать unnumbered, но я не пойму как привязать ip адрес выдаваемый dhcp к порту или вилану абонента. Опции 82 на доступе нет. Может есть еще какие нибудь варианты?
Использовать Opt82 на BRAS'е и внешний DHCP-сервер.

Т.е. opt82 не на доступе нужно поднимать и на вилане абонента на каталисте в центре? И передавать DHCP он будет тогда не номер порта, а номер вилана, так получается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

что я делаю не так? =)
Не надо менять адрес на втором хосте, надо просто слать пакеты с sourceIP первого.

Так обычно делается всякой нечистью в целях DoS/DDoS, а не юзером с целью украсть чужого трафика...

Оченна интересно. Т.е. таким образом досят sourceIP?

Обычно и source и destination при таком DoS являются целями. В основном destination, конечно.

 

Была идея использовать unnumbered, но я не пойму как привязать ip адрес выдаваемый dhcp к порту или вилану абонента. Опции 82 на доступе нет. Может есть еще какие нибудь варианты?
Использовать Opt82 на BRAS'е и внешний DHCP-сервер.

Т.е. opt82 не на доступе нужно поднимать и на вилане абонента на каталисте в центре? И передавать DHCP он будет тогда не номер порта, а номер вилана, так получается?

Пролетало в форуме, сам не пробовал. :(

Стендик что-ли забабахать. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обычно и source и destination при таком DoS являются целями. В основном destination, конечно.
Очень интересно.

 

Была идея использовать unnumbered, но я не пойму как привязать ip адрес выдаваемый dhcp к порту или вилану абонента. Опции 82 на доступе нет. Может есть еще какие нибудь варианты?
Использовать Opt82 на BRAS'е и внешний DHCP-сервер.

Т.е. opt82 не на доступе нужно поднимать и на вилане абонента на каталисте в центре? И передавать DHCP он будет тогда не номер порта, а номер вилана, так получается?

Пролетало в форуме, сам не пробовал. :(

Стендик что-ли забабахать. :)

Пошукаю сейчас в фичнавигаторе да по форуму. Было бы супер если все так и есть - очень красиво бы все выглядело...

Пасиб!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вроде нашел

http://www.cisco.com/en/US/docs/ios/ipaddr....html#wp1118363

 

Попробую сегодня...

 

На форуме правда ничего не нашел :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Похоже каталист не отдает в dhcp запросе номер вилана :(

Может кто помнит ссылочку, где тут на форуме пробегала такая схема про которую UglyAdmin говорил?

 

Сейчас попробовал включить передачу опшенов на каталисте

 

ip dhcp relay information option

 

и прописать тестовый unnumbered интерфейс с хелпером

 

interface Loopback1
ip address 10.10.0.1 255.255.0.0
!
interface Vlan99
description Test VLAN #99
ip unnumbered Loopback1
ip helper-address 10.0.0.2

 

В dhcpd.conf прописал

 

class "VLAN99" {
    match if binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2))="99";
}    

shared-network 10-10 {
    subnet 10.10.0.0 netmask 255.255.255.0 {
        option routers 10.10.0.1;
    }    
    pool {
        allow members of "VLAN99";
        #allow unknown clients;
        range 10.10.0.99 10.10.0.99;
    }    
}

 

В такой конфигурации dhcpd выдает ошибку на запрос ip - no free leases

Полагаю не удовлетворяет условию пула

allow members of "VLAN99";

 

Ставлю условие на unknown - адреса выдаются

allow unknown clients;

 

Запрос на получение адреса в tcpdump выглядит так

 

17:35:55.770572 IP (tos 0x0, ttl 255, id 459, offset 0, flags [none], proto: UDP (17), length: 358) 10.10.0.1.bootps > 10.0.0.2.bootps: BOOTP/DHCP, Request from 00:22:15:9e:86:c2 (oui Unknown), length: 330, hops:1, xid:0x39166931, flags: [none] (0x0000)
      Client IP: 10.10.0.99
      Gateway IP: 10.10.0.1
      Client Ethernet Address: 00:22:15:9e:86:c2 (oui Unknown) [|bootp]
17:35:55.771736 IP (tos 0x0, ttl  64, id 51288, offset 0, flags [none], proto: UDP (17), length: 340, bad cksum 0 (->9d34)!) 10.0.0.2.bootps > 10.10.0.1.bootps: BOOTP/DHCP, Reply, length: 312, hops:1, xid:0x39166931, flags: [none] (0x0000)
      Client IP: 10.10.0.99
      Your IP: 10.10.0.99
      Gateway IP: 10.10.0.1
      Client Ethernet Address: 00:22:15:9e:86:c2 (oui Unknown) [|bootp]

Изменено пользователем kostas

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Похоже нестандартное желание у меня :) Может я не так включаю передачу опции?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Похоже нестандартное желание у меня :) Может я не так включаю передачу опции?
Ну обычно это делается через дхцп снупинг, а его в суп2 нет...

Если получится, поделитесь как сделали. Для теста можно дхцп-сервер на циске настроить, с классами, и посмотреть дебаги. В соседней теме пример есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Похоже нестандартное желание у меня :) Может я не так включаю передачу опции?
Ну обычно это делается через дхцп снупинг, а его в суп2 нет...

Если получится, поделитесь как сделали. Для теста можно дхцп-сервер на циске настроить, с классами, и посмотреть дебаги. В соседней теме пример есть.

Понял, пасиб. Будем ковырять, т.к. хотелось бы конечно эту схему использовать...

Если получится - отпишусь здесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А пользуеться ли кто нить такой вещью:

DHCP Authorized

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На 3825 пользовал. В общем-то ничего кроме того, что это работает, сказать не могу :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На 3825 пользовал. В общем-то ничего кроме того, что это работает, сказать не могу :(

Пытаюсь сделать это на 2851.

На интерфейсе клиента ставлю

ip dhcp relay information option subscriber-id vlan95

Команды ip dhcp relay information option-insert не обнаружилось (ios 12.4(13r)T)

 

Включаю:

service dhcp

ip dhcp relay information option

ip dhcp-server xx.xxx.xxx.x

 

На интерфейсе, на котором сидит ISC DHCP:

ip dhcp relay information trusted

 

В логи циска пишет:

Oct 19 15:14:33 192.168.1.8 615826: Oct 19 04:14:33.769: DHCPD: Sending notification of DISCOVER:

Oct 19 15:14:33 192.168.1.8 615827: Oct 19 04:14:33.769: DHCPD: htype 1 chaddr 0090.f52c.da5a

Oct 19 15:14:33 192.168.1.8 615828: Oct 19 04:14:33.769: DHCPD: remote id 020a00000a0101fe0000005f

Oct 19 15:14:33 192.168.1.8 615829: Oct 19 04:14:33.769: DHCPD: circuit id 00000000

Oct 19 15:14:33 192.168.1.8 615830: Oct 19 04:14:33.769: DHCPD: Seeing if there is an internally specified pool class:

Oct 19 15:14:33 192.168.1.8 615831: Oct 19 04:14:33.769: DHCPD: htype 1 chaddr 0090.f52c.da5a

Oct 19 15:14:33 192.168.1.8 615832: Oct 19 04:14:33.769: DHCPD: remote id 020a00000a0101fe0000005f

Oct 19 15:14:33 192.168.1.8 615833: Oct 19 04:14:33.769: DHCPD: circuit id 00000000

Oct 19 15:14:33 192.168.1.8 615834: Oct 19 04:14:33.769: DHCPD: Adding binding to hash tree

Oct 19 15:14:33 192.168.1.8 615835: Oct 19 04:14:33.769: DHCPD: relay binding created for client 0100.90f5.2cda.5a.

Oct 19 15:14:34 192.168.1.8 615836: Oct 19 04:14:33.769: DHCPD: Keeping state for received DHCPDISCOVER, from UNNUM-IF

Oct 19 15:14:34 192.168.1.8 615837: Oct 19 04:14:33.769: DHCPD: setting giaddr to 10.1.1.254.

Oct 19 15:14:34 192.168.1.8 615838: Oct 19 04:14:33.769: DHCPD: adding relay information option.

Oct 19 15:14:34 192.168.1.8 615839: Oct 19 04:14:33.773: DHCPD: BOOTREQUEST from 0100.90f5.2cda.5a forwarded to xx.xxx.xxx.x

 

 

Однако, на сервер пакет приходит вот в таком виде:

 

BOOTP/DHCP, Request from 00:90:f5:2c:da:5a, length 318, hops 1, xid 0xaa6be8a1, secs 768, Flags [none]

Gateway-IP 10.1.1.254

Client-Ethernet-Address 00:90:f5:2c:da:5a

Vendor-rfc1048 Extensions

Magic Cookie 0x63825363

DHCP-Message Option 53, length 1: Discover

NOAUTO Option 116, length 1: Y

Client-ID Option 61, length 7: ether 00:90:f5:2c:da:5a

Hostname Option 12, length 9: "grfmobile"

Vendor-Class Option 60, length 8: "MSFT 5.0"

Parameter-Request Option 55, length 11:

Subnet-Mask, Domain-Name, Default-Gateway, Domain-Name-Server

Netbios-Name-Server, Netbios-Node, Netbios-Scope, Router-Discovery

Static-Route, Classless-Static-Route-Microsoft, Vendor-Option

Vendor-Option Option 43, length 2: 220.0

Agent-Information Option 82, length 22:

Unknown SubOption 2, length 12:

0x0000: 020a 0000 0a01 01fe 0000 005f

Unknown SubOption 6, length 6:

0x0000: 766c 616e 3935

 

Т.е. опция 82 вроде бы есть, но suboption не опознаются как circuit-id (ни tcpdump ни isc) и т.д.

Хотя suboption 6, по всей видимости, содержит тот самый subscriber-id

Куда копать, кто подскажет? Как заставить передавать в нормальном виде option 82 не со свитча, а с роутера, где терминируются vlan?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.