SSH 포트22번 불량 접속 시도 IP 자동 막기
SSH를 돌리면 /var/log/secure 에 22번포트로 접속시도가 많이 보인다. 부적절하게 접속시도하는 IP 들을 자동으로 차단하는 스크립트를 만들어 보겠다.
과정은 /var/log/secure 에서 불량 ssh 접속 ip를 추려내서 /etc/hosts.deny 에 등록된다.
# grep "Failed password for" /var/log/secure | egrep -v "invalid user" | egrep -v "{USERID}|{LOGINIP}" | awk '{ print $11}' | uniq | sed "s/^/all:/" > /root/ssh-login-ip
# grep "Failed password for invalid user" /var/log/secure.1 | awk '{ print $13}' | uniq | sed "s/^/all:/" >> /root/ssh-login-ip
[위의 명령어 설명] USERID=관리자 ssh 접속계정 LOGINIP=관리자 ssh접속계정의 공인 ip : 직접 입력해야함.
-------------------------------------------------------------------------------------------------------------
grep "Failed password for" /var/log/secure : /var/log/secure 파일 내에서 "Failed password for" 문장이 들어간 행만 뽑아냄
egrep -v "invalid user" : 위 결과에서 "invalid user" , "USERID" , "LOGINIP" 가 들어간 부분은 제외
egrep -v "{USERID}|{LOGINIP}" : 위 결과에서 관리상 필요에 의해 접속했던 계정, IP는 제외
awk '{print $11}' : 위 결과에서 각 행마다 11번째 문장을 뽑아냄 -> 비정상 IP
uniq : 중복된 문장을 하나씩만 출력
sed "s/^/all:/" > /root/ssh-login-ip : 각 행의 맨 앞에 "all:" 을 입력 후 /root/ssh-login-ip 파일에 저장
grep "Failed password for invalid user" /var/log/secure.1 : var/log/secure.1 파일에서 "Failed .... user" 문장이 들어간 행만 추출
awk '{print $13}' : 각 행마다 11번째 문장만 뽑아냄 -> 비정상 IP
>> /root/ssh-login-ip : 위의 /root/ssh-login-ip 파일에 뒤이어 내용을 첨가함
-------------------------------------------------------------------------------------------------------------
# cat /root/ssh-login-ip /etc/hosts.deny | sort | uniq >> /root/hosts.deny : hosts.deny에 블럭킹할 ip 등록
▶crontab 등록
# crontab -e
------------------------------------------------------------------------------------------------------------------
05,15,25,35,45,55 * * * * grep "Failed password for" /var/log/secure | egrep -v "invalid user" | egrep -v "{USERID} | {LOGINIP}" | awk '{ print $11}' | uniq | sed "s/^/all:/" > /root/ssh-login-ip
06,16,26,36,46,56 * * * * cat /root/ssh-login-ip /etc/hosts.deny | sort | uniq > /root/hosts.deny
07,17,27,37,47,57 * * * * cp /root/hosts.deny /etc/hosts.deny
-------------------------------------------------------------------------------------------------------------------
[출처] SSH 포트22번 불량 접속 시도 IP 자동 막기|작성자 삽질맨)
'리눅스 > Security' 카테고리의 다른 글
리눅스용 백신 - f-prot 설치 및 사용법 (0) | 2015.01.26 |
---|---|
arp 스푸핑 방지 (0) | 2015.01.26 |
SSH 스캔(접속시도) 공격 차단 룰 - recent 모듈 이용 (0) | 2015.01.26 |
리눅스 보안 및 관리 (0) | 2015.01.26 |
/var/log/secure 로그로 /etc/hosts.deny 에 자동 등록시키는 스크립트 (0) | 2015.01.26 |