Общие вопросы безопасности
	
		
		
		
			- 
				
								Raven							
- Бородатый сис
  
- Сообщения: 2797
- Зарегистрирован: 03 мар 2010, 15:12
- ОС: RHEL 8
- Откуда: Из серверной
						
						
													
							
						
									
						Сообщение
					
								 Raven » 14 май 2010, 11:52
			
			
			
			
			Сегодня в интернете, меня заинтересовал опрос надо ли перевешивать SSH на нестандартный порт. Сам опрос не так интересен как способ автора zivot_je_cudo защищать SSH от подбора пароля: после неверной попытки подключения блокировать новые попытки в течение 20 секунд. Задержка, видимо, выбрана эмпирически, исходя их двух противположных пожеланий: чтобы не заблокировать в случае опечатки себя надолго, и в тоже время усложнить жизнь подбиральщика. Я хочу поделиться одним способом противодействия брут-форсу. Он имеет два преимущества:
- — дает больше попыток для набора правильного пароля 
 — но при этом блокирует брутфорсеров «навечно».
Как можно достичь этих двух противоположных целей?
Здесь используется модуль iptables под названием hashlimit, который умеет подсчитывать кол-во пакетов в определенный промежуток времени и через некоторое время сбрасывать счетчик. 
Все делается тремя правилами:
Код: Выделить всё
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m hashlimit --hashlimit 1/hour --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name SSH --hashlimit-htable-expire 60000 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -j DROP 
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
Добропорядочный же пользователь наборот имеет несколько попыток подключения без ожидания между ними прежде чем попадет в «баню».
Модуль hashlimit сохраняет свое состояние в /proc — поначалу там пусто:
после первой попытки подключения туда попадает инфа:
Код: Выделить всё
# cat /proc/net/ipt_hashlimit/SSH 
55 ХХ.ХХ.ХХ.ХХ:0->0.0.0.0:0 11533000 230400000 115000000
Код: Выделить всё
# cat /proc/net/ipt_hashlimit/SSH 
20 ХХ.ХХ.ХХ.ХХ:0->0.0.0.0:0 117429000 230400000 115000000
Таким образом решены две проблемы: 
- — если пользователь вдруг опечатался, ему не нужно долго ждать новых попыток
 — брутфорсеры сами себя загоняют в «вечный» бан.
Что делать, если вы вдруг с нескольких попыток не смогли ввести пароль? Не суетиться — подождать спокойно минуту и попробовать еще несколько раз.
А если уж снова не смогли — то лучше пойти проспаться, в таком состоянии в консоль лучше не лазить  )
)
Успехов.
P.S. И да, чуть не забыл — у меня SSH на нестандартном порту 
 
			
			
									
									Я не злопамятный, я просто часто ковыряю логи
						 
		 
		 
				
			 
	
	Raven
 
			
	
		
		
		
			- 
				
								Infernal Flame							
- Злой Модер
- Сообщения: 1796
- Зарегистрирован: 03 мар 2010, 11:25
- ОС: Centos 7
- 
				Контактная информация:
				
			
						
						
													
							
						
									
						Сообщение
					
								 Infernal Flame » 14 май 2010, 11:55
			
			
			
			
			Raven
отлично! сейчас забадяжу такую же бяку на сервах...
з.ы. давно использую нестандартный порт для ССХ...
			
			
									
									 

Work: Centos 7 х 'all Servers'
 
		 
		 
				
			 
	
	Infernal Flame