월간 인기 게시물

게시물 111건
   
불법 접근 자동 차단 스크립트
글쓴이 : 최고관리자 날짜 : 2009-11-30 (월) 21:10 조회 : 7046
글주소 :
                             

 
요즘에는 중국 뿐만아니라 다른 나라에서도 불법 접근을 정말 많이 시도 하고 있습니다.
지난 주에는 해킹 까지 당하는 불상사가 있었습니다.-_-; 저같은 초보도 맘이 상하더군요..
아무튼 이런저런 일 때문에 스크립트를 짜집기 해 보았습니다.
시간적 여유가 많다면 문제점을 파악하고 해결하고 싶은데... 그럴 여유가 없군요..



설명 :
1. /var/log/secure 에서 불법 접근을 검색한다.
2. 검색한 내용을 "anonymous_blacklist" 파일에 저장한다.
3. "anonymous_blacklist" 와 "blacklist.txt" 문서를 비교하여 유니크한 IP만을 "blacklist.tmp"파일에 저장한다.
4. "blacklist.tmp" 파일을 "blacklist.txt" 로 복사한다.
5. iptables -F 명령어를 실행하여 모든 룰을 초기화 한다.
6. "blacklist.txt"에 저장되어 있는 IP를 iptables에 등록한다.
7. 기본 서비스 포트를 iptables에 등록 한다.

주의!!
1. crontab에 올려서 주기적으로 실행을 시키기 때문에(저는 5분 단위 ^_^;;) 그전에 뚤리면 대략 난감이죠..
2. 관리자도 패스워드를 한번이라도 틀리게 되면 접속을 할수 없는 상황이 생깁니다. ㅡㅡ;;(diff 를 이용해서 기본 접속 허용 IP를 만들어 놓는것이 ... 어떨까...요?


[root@FC4 ~]#
[root@FC4 ~]# vi /admin/ip-deny.sh

#!/bin/sh
IPTABLES=/sbin/iptables
ALLOWED="22 25 80" #서비스 허용 포트
BLACKLIST=/admin/admin-script/BlackList/blacklist.txt
#불법 침입 IP 리스트
grep "Failed password for" /var/log/secure |\
egrep -v "invalid user|{USERID}|{LOGINIP}" |\
awk '{ print $11}' |\
uniq  > /admin/admin-script/BlackList/tmp/anonymous_blacklist
grep "Failed password for invalid user" /var/log/secure.1 |\
awk '{ print $13}' |\
uniq >> /admin/admin-script/BlackList/tmp/anonymous_blacklist
cat /admin/admin-script/BlackList/tmp/anonymous_blacklist /admin/admin-script/BlackList/blacklist.txt |\
sort | uniq > /admin/admin-script/BlackList/tmp/blacklist.tmp
cp /admin/admin-script/BlackList/tmp/blacklist.tmp /admin/admin-script/BlackList/blacklist.txt
$IPTABLES -F

for x in `grep -v ^# $BLACKLIST | awk '{print $1}'`; do
echo "BlackList ( $x )"
$IPTABLES -A INPUT -t filter -s $x -j DROP
done
for port in $ALLOWED; do
echo "Accepting port ( $port )"
$IPTABLES -A INPUT -t filter -p tcp --dport $port -j ACCEPT
done
$IPTABLES -A INPUT -t filter -s xxx.xxx.xxx.xxx -j ACCEPT
$IPTABLES -A INPUT -t filter -p tcp --syn -j DROP
exit 0

 


이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

 



 
사이트명 : 모지리네 | 대표 : 이경현 | 개인커뮤니티 : 랭키닷컴 운영체제(OS) | 경기도 성남시 분당구 | 전자우편 : mojily골뱅이chonnom.com Copyright ⓒ www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.