Jump to content
Калькуляторы

Подмена 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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


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

 

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

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

Share this post


Link to post
Share on other sites

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#

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Маршрут - да, будет добавлен. Пакеты к клиенту - да, пойдут только его.

Но клиент может слать что угодно, 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.

я не прав?

 

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

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

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

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

я не прав?

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

Share this post


Link to post
Share on other sites
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 на доступе нет. Может есть еще какие нибудь варианты?

Share this post


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

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

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

Edited by ingress

Share this post


Link to post
Share on other sites
Пару дней назад топикстартер писал, что не нашел 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.

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

 

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

Share this post


Link to post
Share on other sites
что я делаю не так? =)
Не надо менять адрес на втором хосте, надо просто слать пакеты с sourceIP первого.

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

 

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

Share this post


Link to post
Share on other sites
что я делаю не так? =)
Не надо менять адрес на втором хосте, надо просто слать пакеты с sourceIP первого.

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

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

 

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

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

Share this post


Link to post
Share on other sites
что я делаю не так? =)
Не надо менять адрес на втором хосте, надо просто слать пакеты с sourceIP первого.

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

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

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

 

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

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

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

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

Share this post


Link to post
Share on other sites
Обычно и source и destination при таком DoS являются целями. В основном destination, конечно.
Очень интересно.

 

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

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

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

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

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

Пасиб!

Share this post


Link to post
Share on other sites

Похоже каталист не отдает в 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]

Edited by kostas

Share this post


Link to post
Share on other sites

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

Share this post


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

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

Share this post


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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
На 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?

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this