Jump to content

Recommended Posts

Posted (edited)

Хочется прикрыть доступ к устройству без использования внешнего radius/taacs просто средствами самой коробки

Пробую сделать так:
 

ip access-list extended ACCESS_LIST_COPP_TELNET
 deny   tcp any any established
 permit tcp any any eq telnet
exit 

ip access-list extended ACCESS_LIST_COPP_SSH
 deny   tcp any any established
 permit tcp any any eq 22
exit 

ip access-list extended ACCESS_LIST_COPP_SNMP
 deny   udp 10.72.0.0 0.0.0.255 any eq 161
 permit udp any any eq 161
exit

ip access-list extended ACCESS_LIST_COPP_BGP
 deny   tcp any any established
 deny   tcp 172.31.0.100 0.0.0.255 any eq 179
 permit tcp any any eq 179
exit

ip access-list extended ACCESS_LIST_COPP_RADIUS
 deny   udp 172.31.0.0    0.0.0.255 any eq 1812
 deny   udp 172.31.0.0    0.0.0.255 any eq 1813
 deny   udp 100.100.100.0 0.0.0.255 any eq 1812
 deny   udp 100.100.100.0 0.0.0.255 any eq 1813
 permit tcp any any eq 1812
 permit tcp any any eq 1813
exit


class-map CLASS_MAP_COPP_TELNET
  match access-group name ACCESS_LIST_COPP_TELNET
exit

class-map CLASS_MAP_COPP_SSH
  match access-group name ACCESS_LIST_COPP_SSH
exit

class-map CLASS_MAP_COPP_SNMP
  match access-group name ACCESS_LIST_COPP_SNMP
exit

class-map CLASS_MAP_COPP_BGP
  match access-group name ACCESS_LIST_COPP_BGP
exit

class-map CLASS_MAP_COPP_RADIUS
  match access-group name ACCESS_LIST_COPP_RADIUS
exit



policy-map POLICY_MAP_COPP_INPUT_POLICY
! Deny telnet
 class CLASS_MAP_COPP_TELNET
  police cir 32000 bc 1500 be 1500 conform-action drop exceed-action drop violate-action drop
  exit
 exit
!
! Deny ssh
 class CLASS_MAP_COPP_SSH
  police cir 32000 bc 1500 be 1500 conform-action drop exceed-action drop violate-action drop
  exit
 exit
! Deny SNMP
 class CLASS_MAP_COPP_SNMP
  police cir 32000 bc 1500 be 1500 conform-action drop exceed-action drop violate-action drop
  exit
 exit
!
! Deny BGP
 class CLASS_MAP_COPP_BGP
  police cir 32000 bc 1500 be 1500 conform-action drop exceed-action drop violate-action drop
  exit
 exit
!
! Deny RADIUS
 class CLASS_MAP_COPP_RADIUS
  police cir 32000 bc 1500 be 1500 conform-action drop exceed-action drop violate-action drop
  exit
 exit
!

! Permit other (include LACP)
 class class-default
  police cir 32000 bc 1500 be 1500 conform-action transmit exceed-action transmit violate-action transmit
  exit
 exit
exit

control-plane
 service-policy input POLICY_MAP_COPP_INPUT_POLICY


Для того что бы заходить на железку делаю а-ля  port-knock

 

ip access-list extended KNOCK_TCP_32022
 remark *** KNOCK ***
 permit tcp any host 172.31.100.194 eq 32022 log
 remark *** PERMITED ***
 permit ip any any
exit


event manager environment KNOCK_ACL_SSH    ACCESS_LIST_COPP_SSH
event manager environment KNOCK_ACL_TELNET ACCESS_LIST_COPP_TELNET
    no event manager applet KNOCK_TELNET_SSH
    event manager applet KNOCK_TELNET_SSH
     event syslog pattern "%FMANFP-6-IPACCESSLOGP: SIP0: fman_fp_image:  list KNOCK_TCP_32022 permitted tcp *"
    !
     action 001.0 regexp "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" "$_syslog_msg" ADDR
     action 001.1 regexp "\([0-9]+\)," "$_syslog_msg" PORT
     action 001.2 regexp "[0-9]+" "$PORT" PORT
    !
     action 002.0 syslog msg "Received a knock from $ADDR on port $PORT..."
    !
     action 002.1 syslog msg "Adding $ADDR to the $KNOCK_ACL_SSH ACL"
    !
     action 003.0 cli command "enable"
     action 003.1 cli command "configure terminal"
     action 003.2 cli command "ip access-list extended $KNOCK_ACL_SSH"
     action 003.3 cli command "1 deny tcp host $ADDR any eq 22"
     action 003.4 cli command "end"
     action 003.5 cli command " "
    !
     action 004.0 syslog msg "Added  $ADDR to the $KNOCK_ACL_SSH ACL"
    !
     action 004.1 syslog msg "Adding $ADDR to the $KNOCK_ACL_TELNET ACL"
    !
     action 005.0 cli command "enable"
     action 005.1 cli command "configure terminal"
     action 005.4 cli command "ip access-list extended $KNOCK_ACL_TELNET"
     action 005.5 cli command "1 deny tcp host $ADDR any eq telnet"
     action 005.6 cli command "end"
     !
     action 006.0 syslog msg "Added  $ADDR to the $KNOCK_ACL_TELNET ACL"
     action 006.1 syslog msg "Waiting for 20 sec before deleting rules"
    !
     action 007.0 wait 20
    !
     action 008.0 syslog msg "Wait finished"
    !
     action 008.1 syslog msg "Removing $ADDR from the $KNOCK_ACL_SSH ACL"
    !
     action 009.0 cli command "enable"
     action 009.1 cli command "configure terminal"
     action 009.2 cli command "ip access-list extended $KNOCK_ACL_SSH"
     action 009.3 cli command "no deny tcp host $ADDR any eq 22"
     action 009.4 cli command "end"
    !
     action 010.0 syslog msg "Removed $ADDR to the $KNOCK_ACL_SSH ACL"
    !
     action 010.0 syslog msg "Removing $ADDR to the $KNOCK_ACL_TELNET ACL"
    !
     action 011.0 cli command "enable"
     action 011.1 cli command "configure terminal"
     action 011.2 cli command "ip access-list extended $KNOCK_ACL_TELNET"
     action 011.3 cli command "no deny tcp host $ADDR any eq telnet"
     action 011.4 cli command "end"
    !
     action 012.0 syslog msg "Removed $ADDR from the $KNOCK_ACL_TELNET ACL"
    exit


Судя по дебагу все работает как задумано, правила добавляются/удаляются (ACL KNOCK_TCP_32022 добавлен на интерфейсы)


НО при этом доступ на железку работает все время, как будто никакой полиси и не включено (ssh/telnet/snmp доступны)

 

show policy-map control-plane

Показывает все счетчики нулевые - это нормально?
 

IOS: System image file is "bootflash:asr1001-universalk9.03.16.10.S.155-3.S10-ext.bin"


 

Edited by sirmax
изменение заголовка
Posted
31 минуту назад, VolanD666 сказал:

А почему нельзя резать на ACL, которые ставятся на VTY, SNMP и т.п. ?

Можно конечно,  мне так кажется более правильным но может и ошибаюсь?

Posted
14 минут назад, sirmax сказал:

Можно конечно,  мне так кажется более правильным но может и ошибаюсь?

Ну, как мне кажется, CoPP больше для ограничения количества такого трафика, чтобы они вам устройство по положили. А вот для того чтобы доступ регулировать как раз ACL на сервисах. Но это ИМХО, по идее полный дроп тоже должен работать. Но в вашем случае, я бы сделал ACLями на сервисах.

 

Ну, а по хорошему, лучше сделать VPN и не городить всякие кноки и прочие костыли.

Posted
9 минут назад, VolanD666 сказал:

 

Ну, а по хорошему, лучше сделать VPN и не городить всякие кноки и прочие костыли.


Тут нужен настроенный VPN-клиент  а  ssh + пароль можно найти везде (например когда проведываешь родителей)
Так-то конечно да

Posted
4 часа назад, sirmax сказал:

ssh + пароль можно найти везде (например когда проведываешь родителей)

по ssh захожу на служебный сервер, с него телнетом на циску, на которой

access-list 99 remark for_telnet
access-list 99 permit <нужный ip сервера>
access-list 99 permit <нужная служебная сетка> 0.0.0.255
  
line vty 0 4
 access-class 99 in
 exec-timeout 0 0

 

Posted
14 часов назад, Andrei сказал:

по ssh захожу на служебный сервер, с него телнетом на циску, на которой

access-list 99 remark for_telnet
access-list 99 permit <нужный ip сервера>
access-list 99 permit <нужная служебная сетка> 0.0.0.255
  
line vty 0 4
 access-class 99 in
 exec-timeout 0 0

 



То понятно - вопрос как обойтись без сервера совсем 


В целом проблема решена
ответ - "сам дурак", проверял через менеджмент интерфейс куда очевидно COPP  не применяетя, на остальных интерфейсах работает как задумано

Остался вопрос  о том имеет ли такая схема право на жизнь )

Posted
В 03.07.2024 в 10:54, sirmax сказал:

Остался вопрос  о том имеет ли такая схема право на жизнь )

ИМХО - пихать управление, под любым соусом, наружу плохой тон.

VPN можно с любого компа\мобилы поднять.

Posted
1 час назад, bike сказал:

ИМХО - пихать управление, под любым соусом, наружу плохой тон.

VPN можно с любого компа\мобилы поднять.

Не  поделитесь примером конфигурации для ASR что бы поднять на нем VPN для клиентов?
Без использовния радиус/еще-что-то внешнее по отношению к коробке, в условии предпологается что кроме роутеров/свитчей ничего нет, с сервером я и сам OpenVPN поднял и вперед, так и живем. 

Posted
32 минуты назад, sirmax сказал:

Без использовния радиус

Встречал вот такой вариант

aaa authorization network VPDN local
aaa attribute list attr_list
  attribute type addr-pool "local_pool" service ppp protocol ip

ip local pool local_pool a.b.c.2 a.b.c.254


username user1 privilege 0 password 111
username user1 aaa attribute list attr_list

username user2 privilege 0 password 222
username user2 aaa attribute list attr_list

username user3 privilege 0 password 333
username user3 aaa attribute list attr_list


interface Virtual-Template1
 ip unnumbered Loopback0
 peer default ip address pool local_pool
 ppp authentication chap callin

vpdn enable

vpdn-group cdma
ppp authorization VPDN
accept-dialin
  protocol l2tp
  virtual-template 1
terminate-from hostname хххх
source-ip ххххххх

 

Posted
22 минуты назад, Andrei сказал:

Встречал вот такой вариант

aaa authorization network VPDN local
aaa attribute list attr_list
  attribute type addr-pool "local_pool" service ppp protocol ip

ip local pool local_pool a.b.c.2 a.b.c.254


username user1 privilege 0 password 111
username user1 aaa attribute list attr_list

username user2 privilege 0 password 222
username user2 aaa attribute list attr_list

username user3 privilege 0 password 333
username user3 aaa attribute list attr_list


interface Virtual-Template1
 ip unnumbered Loopback0
 peer default ip address pool local_pool
 ppp authentication chap callin

vpdn enable

vpdn-group cdma
ppp authorization VPDN
accept-dialin
  protocol l2tp
  virtual-template 1
terminate-from hostname хххх
source-ip ххххххх

 

Спасибо

это похоже на pptp на первый взгляд, я думал так уже не модно делать


Вроде и клиента уже местами из ос выпиливают

Posted
10 часов назад, sirmax сказал:

похоже на pptp

В примере l2tp, т.к. pptp в последних прошивках для ASR-100x заявлен и команды даже работают, но по факту pptp не работает, проверено

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.