웹마스터 팁

#1 기초적인 프록시 차단

프록시 서버를 100% 막아낼 수 있는 방법은 없다. 프록시 서버를 구현하는 방법이 너무 많고, 새로운 기법이 하루가 다르게 생겨나고 있기 때문이다. 예를 일본 츠쿠바 대학 모 연구팀에서는 "프록시가 아니면서 프록시 기능을 하는 새로운 개념"을 얼마전에 만들어서 테스트하고 있다. 나도 이 프록시에 대해 테스트를 해보았지만 이를 프록시로 탐지하는 것은 아직 불가능한 것 같다. 이 정도로 프록시 기술을 빠르게 변화하고 있는데 htaccess로 프록시를 완전 차단한다는 것은 말이 되지 않는다. 하지만, 아주 전형적이고 좀 철지난 프록시 방식을 통해 들어오는 접근이라도 htaccess를 통해 차단해 줄 필요는 있다. 다음의 코드가 프록시를 통한 접근을 막는데 약간의 도움은 줄 것이다.

 

 

RewriteEngine on RewriteCond %{HTTP:VIA} !^$ [OR] 
RewriteCond %{HTTP:FORWARDED} !^$ [OR] 
RewriteCond %{HTTP:USERAGENT_VIA} !^$ [OR] 
RewriteCond %{HTTP:X_FORWARDED_FOR} !^$ [OR] 
RewriteCond %{HTTP:PROXY_CONNECTION} !^$ [OR] 
RewriteCond %{HTTP:XPROXY_CONNECTION} !^$ [OR] 
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR] 
RewriteCond %{HTTP:HTTP_CLIENT_IP} !^$ RewriteRule ^(.*)$ - [F] 

 

 

 

#2 접속하는 브라우저 정보에 따른 차단

사이트의 로그파일을 분석해보고, 특정 user-agent(브라우저 정보)에서 의심스러운 정황이 보인다면 아예 그 브라우저 정보를 가진 접근을 막아야 할 필요가 있다. 아래코드는 그 샘플이다. user-agent에 특정 스트링이 포함되면 차단하고 싶을 경우에는 RewriteCond %{HTTP_USER_AGENT} ^.*특정스트링.* [NC,OR] 을 사용하면 된다. 

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*Transmission.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Ezooms.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^ HuaweiSymantecSpider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Localbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Sosospider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Talk Talk.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Trend Micro [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Vagabondo.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*YandexBot.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*YandexMedia.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*torrent.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*uTorrent.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*iLOVECZ.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BTwebclient.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bittorrent.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BitComet.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
RewriteCond %{HTTP_USER_AGENT} ^HTTrack [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus 
RewriteRule .* - [F,L]

 

일부 간악한 자들이, 보안에 취약한 사이트를 찾아서 토렌트 트래커 서버로 악용하려는 피도 눈물도 없는 공격이 있을 수 있다. 집에서 토렌트로 뭐 하나 받아도 컴퓨터가 엄청 느려지는데 내 사이트가 들어있는 서버를 트래커서버로 돌려버린다면... 상상만 해도 아찔하다. 그래서 토렌트 프로그램의 user-agent 스트링을 포함하면 차단하게 하였다. 위의 코드 윗쪽에 torrent, utorrent, bitcomet 등이 들어있는 줄을 참고.

RewriteEngine on 이것은 계속 중복할 필요가 없다. 그리고 조건문의 마지막줄에는 [OR]을 빼야하는 것이 중요. 위의 코드예의 경우 마지막 조건문을 RewriteCond %{HTTP_USER_AGENT} ^Zeus [OR]로 해버린다면, 모든 접근이 다 차단되어버리니 조심해야 한다.

 

 

사이트 수정하다 생기는 00000.php.bak

액세스를 차단​​

 

<FilesMatch "\.bak">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

<FilesMatch "\.config">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

<FilesMatch "\.sql">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch> 

제목 글쓴이 날짜
관리자 로그인시 원하는걸 보여주자 [5] 빽짱구 2008.04.15
수정,삭제 버튼을 "이 게시물을.."에 넣기 [1] hangoon 2008.04.16
엑소버드 음악 제로보드XE에 구겨넣기... [8] artlab 2008.04.17
ARTLAB님 팁을 참고하여 약간 변형 & 쫄쫄이 스토커 해상도에 상관없이 달기 [3] 탑심 2008.04.18
글 순서 바꾸기 임시방편 [6] 장운주 2008.04.18
댓글창에서 프로필이미지가 없는 경우 기본이미지 출력하기 [8] file 카카달려 2008.04.19
zbxe 기본글꼴(폰트) 바꾸는 방법 [9] file 핸디지 2008.04.22
디버그모드 변경하는 간단한 파이썬 스크립트 [4] mmx900 2008.04.23
제로보드XE에 배경음악 달기 [4] Dr.Mabin 2008.04.26
졸졸이 스토커 가두어보기 2탄(보드우측에 포함된 것처럼) [1] file 갯가 2008.04.26
제로보드에 BGM 달기 (대폭 수정;;) [5] Dr.Mabin 2008.04.27
각 페이지에 쓸 수 있는 변수명들 찾기 [6] lainfox 2008.04.29
링크가 걸린 글의 색을 무지개색으로 나타내기 재미니님 2008.04.29
홈페이지에 이미지블릿 대신 특수문자로 표현해 보기 file 팔공산 2008.04.29
windows Live writer로 게시글 쓰기 [3] file tindrum 2008.04.29
최근글 - 본문 내용 뽑아내기 [9] 夜飛 2008.05.01
상단에 PHP 오류구문이 출력될시 [6] sbshs77 2008.05.01
제한된 시간 안에 글을 또 등록할 때 IP 금지 기능(스팸필터) 해제하기 [3] 비나무 2008.05.03
메인메뉴에서 2차메뉴가 1차메뉴를 따라다니는 롤오버 메뉴로 만들기 [13] 우야노 2008.05.03
주문형게시판 만들기 [22] file 팔공산 2008.05.04