Jak zniechęcić do ataków brute-force?
Jak zniechęcić do ataków brute-force?
Witam wszystkich,
W pewnej lokalizacji mam 1841 z dostępem przez ssh (ver 2). Od kilku dni ktoś uparcie próbuje sie do niego dobić. Co 2-3 sekundy mam próbę logowania - oczywiście nieudaną. Taka zabawa trwa przez godzinę lub dwie, potem zmiana ip dowcipnisia i wszystko od nowa. To jakiś automat korzystający z dość dużej listy potencjalnych użytkowników - nazwy są polskie ale adresy z jakich następują próby włamania są np. z Holandii (Chello). W związku z tym mam takie pytanie:
Czy można zdefiniować coś w rodzaju dynamicznej ACL-ki, do której będą trafiały adresy IP po np. 10 nieudanych próbach logowania w ciągu minuty. Dobrze by było, gdyby te wpisy były po jakimś czasie usuwane z ACL-ki, w przeciwnym razie zrobi się z tego monstrum.
Pozdrawiam
W pewnej lokalizacji mam 1841 z dostępem przez ssh (ver 2). Od kilku dni ktoś uparcie próbuje sie do niego dobić. Co 2-3 sekundy mam próbę logowania - oczywiście nieudaną. Taka zabawa trwa przez godzinę lub dwie, potem zmiana ip dowcipnisia i wszystko od nowa. To jakiś automat korzystający z dość dużej listy potencjalnych użytkowników - nazwy są polskie ale adresy z jakich następują próby włamania są np. z Holandii (Chello). W związku z tym mam takie pytanie:
Czy można zdefiniować coś w rodzaju dynamicznej ACL-ki, do której będą trafiały adresy IP po np. 10 nieudanych próbach logowania w ciągu minuty. Dobrze by było, gdyby te wpisy były po jakimś czasie usuwane z ACL-ki, w przeciwnym razie zrobi się z tego monstrum.
Pozdrawiam
- gaph
- CCIE / Instruktor CNAP
- Posty: 419
- Rejestracja: 23 lip 2004, 21:16
- Lokalizacja: Wrocław, Polska
- Kontakt:
Re: Jak zniechęcić do ataków brute-force?
| Few people know what actually goes on in the CCIE Lab, it's shrouded in mystery |
| and of course there's the NDA. | Sometimes our friends go to the lab |
| and return CCIEs. | Sometimes they don't return at all. |
| and of course there's the NDA. | Sometimes our friends go to the lab |
| and return CCIEs. | Sometimes they don't return at all. |
Hmm.... przeczytałem, zastosowałem i nie do końca mam to co planowałem. Założyłem, że przy ataku na SSH połączę się do routera przez tunel VPN lub z hosta z sieci wewnętrznej - stąd LOGIN_ACL. Wszystkie inne połączenia do SSH zostaną zablokowane. Niestety, po przejściu w Quiet-Mode, router nie przyjmuje żadnych połączeń. Co gorsza, nic nie trafia w LOGIN_ACL. Próbuję łączyć się na 192.168.28.1. Zgodnie z poniższym cytatem to powinno działać.
ACL-ka chyba powinna działać:
Poniżej konfiguracja - proszę nie zwracać uwagi na ustawienia czasów przy login, to do testów.If the configured number of connection attempts fail within a specified time period, the Cisco IOS device does not accept any additional connections for a "quiet period." (Hosts that are permitted by a predefined access-control list [ACL] are excluded from the quiet period.)
The number of failed connection attempts that trigger the quiet period can be specified through the new global configuration mode command login block-for. The predefined ACL that is excluded from the quiet period can be specified through the new global configuration mode command login quiet-mode access-class.
Kod: Zaznacz cały
AN-R1#sh run brie
Building configuration...
Current configuration : 5761 bytes
!
! Last configuration change at 23:53:46 CET Mon Jun 21 2010 by .....
! NVRAM config last updated at 22:35:43 CET Mon Jun 21 2010 by .....
!
version 12.4
no service pad
service timestamps debug datetime msec localtime show-timezone year
service timestamps log datetime msec localtime show-timezone year
service password-encryption
!
hostname AN-R1
!
boot-start-marker
boot-end-marker
!
logging message-counter syslog
logging buffered 32000 informational
enable secret 5 ...............
!
aaa new-model
!
!
aaa authentication login default local
aaa authorization network xxx_RVPN local
!
!
aaa session-id common
clock timezone CET 1
clock summer-time CET recurring last Sun Mar 2:00 last Sun Oct 3:00
!
crypto pki trustpoint TP-self-signed-413652389
enrollment selfsigned
subject-name cn=IOS-Self-Signed-Certificate-413652389
revocation-check none
rsakeypair TP-self-signed-413652389
!
!
crypto pki certificate chain TP-self-signed-413652389
certificate self-signed 01
dot11 syslog
ip source-route
!
!
no ip dhcp use vrf connected
ip dhcp excluded-address 192.168.28.1 192.168.28.100
!
ip dhcp pool 192.168.28.0/24
network 192.168.28.0 255.255.255.0
dns-server 194.204.159.1 194.204.152.34
default-router 192.168.28.1
!
!
ip cef
no ip domain lookup
ip domain name zzzzzzzzz.pl
login block-for 230 attempts 2 within 60
login delay 10
login quiet-mode access-class LOGIN_ACL
login on-failure log
login on-success log
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
crypto isakmp policy 1
encr 3des
authentication pre-share
group 2
crypto isakmp keepalive 10 3
!
crypto isakmp client configuration group RVPN_GROUP
key .........
pool RVPN_POOL
acl RVPN_ACL
max-users 30
max-logins 1
netmask 255.255.255.0
!
!
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
!
crypto dynamic-map RVPN_MAP 10
set transform-set ESP-3DES-SHA
reverse-route
!
!
crypto map ClientMap client authentication list default
crypto map ClientMap isakmp authorization list xxx_RVPN
crypto map ClientMap client configuration address respond
crypto map ClientMap 10 ipsec-isakmp dynamic RVPN_MAP
!
!
archive
log config
hidekeys
!
!
ip ssh logging events
!
!
!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface FastEthernet4
description WAN
ip address 95.xx.xx.xx 255.255.255.248
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
no cdp enable
crypto map ClientMap
!
interface Vlan1
description LAN
ip address 192.168.28.1 255.255.255.0
ip nat inside
ip virtual-reassembly
!
ip local pool RVPN_POOL 192.168.128.2 192.168.128.30
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 95.xx.xx.xx
no ip http server
ip http secure-server
!
!
ip nat inside source list NAT_ACL interface FastEthernet4 overload
!
ip access-list extended LOGIN_ACL
remark Lista do Quiet-Mode
permit ip 192.168.28.0 0.0.0.255 host 192.168.28.1
permit ip 192.168.128.0 0.0.0.255 host 192.168.28.1
ip access-list extended NAT_ACL
remark Lista do NAT
deny ip 192.168.28.0 0.0.0.255 192.168.128.0 0.0.0.255
permit ip 192.168.28.0 0.0.0.255 any
ip access-list extended RVPN_ACL
remark Lista do Remote VPN
permit ip 192.168.28.0 0.0.0.255 192.168.128.0 0.0.0.255
!
!
!
!
!
!
control-plane
!
line con 0
exec-timeout 5 0
password 7 ..............
no modem enable
line aux 0
exec-timeout 0 1
no exec
line vty 0 4
transport input ssh
!
scheduler max-task-time 5000
ntp server 212.244.36.227
ntp server 131.107.13.100
ntp server 212.244.36.228
end
Kod: Zaznacz cały
AN-R1#sh login
A login delay of 10 seconds is applied.
Quiet-Mode access list LOGIN_ACL is applied.
All successful login is logged.
All failed login is logged.
Router enabled to watch for login Attacks.
If more than 2 login failures occur in 60 seconds or less,
logins will be disabled for 230 seconds.
Router presently in Normal-Mode.
Current Watch Window
Time remaining: 51 seconds.
Login failures for current window: 0.
Total login failures: 4.
Powinno. Masz 4 próby logowania ale w aktualnym oknie 51 sekund żadnej nieudanej nie ma. Pytanie czy zdarzyły się 2 nieudane w ciągu 60 sekund?pkurzak pisze:Hmm.... przeczytałem, zastosowałem i nie do końca mam to co planowałem. Założyłem, że przy ataku na SSH połączę się do routera przez tunel VPN lub z hosta z sieci wewnętrznej - stąd LOGIN_ACL. Wszystkie inne połączenia do SSH zostaną zablokowane. Niestety, po przejściu w Quiet-Mode, router nie przyjmuje żadnych połączeń. Co gorsza, nic nie trafia w LOGIN_ACL. Próbuję łączyć się na 192.168.28.1. Zgodnie z poniższym cytatem to powinno działać.
Pokaż 'sh login failures' po tym, jak przynajmniej dwa razy w ciągu 60 sekund nie zalogujesz się poprawnie do routera (oraz 'sh login' dla pełnego obrazu z tego momentu).
To działa 'w polu' i to działa dobrze, do mnie np. w kółko loguje się pół świata:
Kod: Zaznacz cały
edge#sh login failures
Total failed logins: 10
Detailed information about last 50 failures
Username SourceIPAddr lPort Count TimeStamp
upload 95.211.132.226 22 1 21:00:28 CET Sun Jun 21 2010
download 95.211.132.226 22 1 21:00:29 CET Sun Jun 21 2010
root 194.7.139.108 22 2 22:40:06 CET Sun Jun 21 2010
oracle 121.101.223.176 22 1 22:43:42 CET Mon Jun 21 2010
www-data 121.101.223.176 22 1 22:43:46 CET Mon Jun 21 2010
raimundo 200.23.209.216 22 1 22:51:03 CET Mon Jun 21 2010
joan 200.23.209.216 22 1 22:55:06 CET Mon Jun 21 2010
Już wrzucam. Na początku Normal-Mode, potem Quiet-Mode. I znów nic nie trafia w ACL-kę.
Kod: Zaznacz cały
AN-R1#sh login
A login delay of 10 seconds is applied.
Quiet-Mode access list LOGIN_ACL is applied.
All successful login is logged.
All failed login is logged.
Router enabled to watch for login Attacks.
If more than 2 login failures occur in 60 seconds or less,
logins will be disabled for 230 seconds.
Router presently in Normal-Mode.
Current Watch Window
Time remaining: 0 seconds.
Login failures for current window: 0.
Total login failures: 4.
AN-R1#sh login f
Total failed logins: 4
Detailed information about last 50 failures
Username SourceIPAddr lPort Count TimeStamp
fvgadga 83.27.201.100 22 2 23:55:02 CET Mon Jun 21 2010
fgds 192.168.128.8 22 2 23:59:35 CET Mon Jun 21 2010
AN-R1#sh login
A login delay of 10 seconds is applied.
Quiet-Mode access list LOGIN_ACL is applied.
All successful login is logged.
All failed login is logged.
Router enabled to watch for login Attacks.
If more than 2 login failures occur in 60 seconds or less,
logins will be disabled for 230 seconds.
Router presently in Quiet-Mode.
Will remain in Quiet-Mode for 224 seconds.
Restricted logins filtered by applied ACL LOGIN_ACL.
AN-R1#sh login f
Total failed logins: 6
Detailed information about last 50 failures
Username SourceIPAddr lPort Count TimeStamp
fvgadga 83.27.201.100 22 2 23:55:02 CET Mon Jun 21 2010
fgds 192.168.128.8 22 2 23:59:35 CET Mon Jun 21 2010
nfdnd 83.27.201.100 22 2 00:41:05 CET Tue Jun 22 2010
AN-R1#sh access-l
Extended IP access list LOGIN_ACL
10 permit ip 192.168.28.0 0.0.0.255 host 192.168.28.1
20 permit ip 192.168.128.0 0.0.0.255 host 192.168.28.1
Extended IP access list NAT_ACL
10 deny ip 192.168.28.0 0.0.0.255 192.168.128.0 0.0.0.255 (1368 matches)
20 permit ip 192.168.28.0 0.0.0.255 any (45 matches)
Extended IP access list RVPN_ACL
10 permit ip 192.168.28.0 0.0.0.255 192.168.128.0 0.0.0.255
Extended IP access list sl_def_acl
10 deny tcp any any eq telnet log
20 deny tcp any any eq www log
30 deny tcp any any eq 22 log (3 matches)
40 permit tcp any any eq 22 log
AN-R1#sh access-l
Extended IP access list LOGIN_ACL
10 permit ip 192.168.28.0 0.0.0.255 host 192.168.28.1
20 permit ip 192.168.128.0 0.0.0.255 host 192.168.28.1
Extended IP access list NAT_ACL
10 deny ip 192.168.28.0 0.0.0.255 192.168.128.0 0.0.0.255 (1368 matches)
20 permit ip 192.168.28.0 0.0.0.255 any (45 matches)
Extended IP access list RVPN_ACL
10 permit ip 192.168.28.0 0.0.0.255 192.168.128.0 0.0.0.255
Extended IP access list sl_def_acl
10 deny tcp any any eq telnet log
20 deny tcp any any eq www log
30 deny tcp any any eq 22 log (3 matches)
40 permit tcp any any eq 22 log
AN-R1#
Dobra, zmień 'host 192.168.28.1' na 'any'. To tak jak z typowymi VTY, nie ma matchowania adresu docelowego. Powinno działać.pkurzak pisze:Już wrzucam. Na początku Normal-Mode, potem Quiet-Mode. I znów nic nie trafia w ACL-kę.
Kod: Zaznacz cały
AN-R1#sh access-l Extended IP access list LOGIN_ACL 10 permit ip 192.168.28.0 0.0.0.255 host 192.168.28.1 20 permit ip 192.168.128.0 0.0.0.255 host 192.168.28.1