## , 를 개행문자로 변환
perl -p -e 's/,/\n/g' bannedips.csv > blacklist-ip
## IP 앞에 DENY From 추가
perl -p -e 's/^/Deny from /g' blacklist-ip > /etc/httpd/conf/blacklist
/etc/httpd/conf/httpd.conf 에 Location 및 Order Directive 설정 및 위에서 만든 DB 파일 설정
<Location />
Order allow,deny
Allow from all
# BlackList 는 Deny
Include conf/blacklist
# 계속 login 을 시도하는 IP 가 있다면 차단
#Include conf/login-attacker
</Location>
logon 을 시도하는 IP 가 있다면 Confluence access log 남기기 를 참고하여 log를 남기게 설정후 log에서 login.action 을 시도하는 IP 를 추출하여 conf/login-attacker 파일에 다음과 같이 남기면 된다.
Deny from 1.2.3.4
Deny from 2.1.4.7
httpd 재구동
service httpd restart
아래 방법은 효과가 없으나 기록을 위해 남겨둠 - Click here to expand...
사전 정보
confluence 의 코멘트를 다는 URL 은 doaddcomment.action 이다. httpd 의 log 파일에서 저 URL 만 추출해서 IP 를 추출하면 된다.
댓글 단 IP 가 모두 차단될 수 있으니 정상적인 IP 는 따로 걸러내야 한다.
설정
conf/httpd.conf 에 Location 및 Order Directive 설정 ( 향후 스패머 IP 만 추가할 경우 이 작업은 더는 필요없다)
<Location />
Order allow,deny
Allow from all
# BlackList 는 Deny
Include conf/blacklist
</Location>
httpd log 에서 blacklist IP 추출 (중복된 IP 를 단일화하기 위해 sort 후 uniq 명령어 사용)
access-log 파일명은 apache httpd 설정에 따라 다를수 있다.
## log 파일이 rolling 되었어도 기존 스패머 정보 보존을 위해 기존 blacklist 뒤에 append
grep doaddcomment.action /etc/httpd/logs/kwiki-access_log|awk '{print "Deny from "$1}' | uniq >> /etc/httpd/conf/blacklist
cp -f /etc/httpd/conf/blacklist /etc/httpd/conf/blacklist.org
## 추가된 IP 의 중복 제거
cat /etc/httpd/conf/blacklist.org | sort | uniq > /etc/httpd/conf/blacklist