급증한 스팸

태터툴즈 클래식에서 1.x로 갈아탄 후 다시 클래식으로 되돌아갈 생각을 했었습니다. 그 이유는 태터툴즈 클래식에서는 전혀 볼 수 없었던 많은 스팸때문이었습니다. 클래식의 경우 시달린 스팸은 참조 URL 스팸(레퍼러 스팸)이었는데 이 경우 .htaccess.info 도메인까지 추가한 후에는 거의 없습니다.

급증한 스팸

태터툴즈 클래식에서 1.x로 갈아탄 후 다시 클래식으로 되돌아갈 생각을 했었습니다. 그 이유는 태터툴즈 클래식에서는 전혀 볼 수 없었던 많은 스팸때문이었습니다. 클래식의 경우 시달린 스팸은 참조 URL 스팸(레퍼러 스팸)이었는데 이 경우 .htaccess.info 도메인까지 추가한 후에는 거의 없습니다.

태터툴즈가 유명해져서 발생한 현상이겠지만 1.x로 갈아타자 먼저 하루에 십여 개의 스팸 댓글이 등록되더군요. 스팸 댓글은 IP, 본문, 이름 필터링으로 간신히 막고 있습니다. 그런데 이번에는 며칠 전부터 트랙백 스팸이 계속 날라오고 있습니다. 트랙백 스팸은 고민을 해봐도 막을 수 있는 효과적인 방법이 별로 없더군요. '글관리/트랙백'에서 해당 IP를 차단하고 있지만 스팸 트랙백 자체는 줄지 않고 있습니다.

따라서 저처럼 태터툴즈의 스팸 때문에 고민인 분들을 위해 을 줄이는 방법을 설명하겠습니다.

참조 URL 스팸

참조 URL현재 방문한 사이트를 링크하고 있는 사이트의 URL를 말합니다. 예를 들어 태터센터올블로그를 통해 제 사이트를 방문했다면 '태터센터'나 '올블로그'가 참조 URL이 됩니다. 대부분의 블로거가 어떤 사이트를 통해 자신의 사이트를 방문했는지 궁금해하는 점을 악용한 것이 참조 URL 스팸입니다. 로봇을 이용해서 사이트에 쿼리를 보내고 Referer: 스팸 URL를 이용해서 스팸 사이트의 주소를 보내면 참조 URL로 스팸 사이트가 등록됩니다.

이러한 참조 URL이 얼마나 많았는지는 TraceWatch 통계에 접속한 후 참조 URL의 종합 통계를 보면 알 수 있습니다. 작년 11월에 접근을 막았음에도 foto-porno-amatoriale.com이 종합 5위에 랭크되어 있습니다.

참조 URL 스팸은 태터에서 제공되는 필터링 기능을 사용하는 것보다는 .htaccess를 이용하는 것이 훨씬 효과적입니다. 그 이유는 .htaccess 파일을 이용하는 경우 정규식을 사용할 수 있어 훨씬 강력한 필터링이 가능하기 때문입니다. .htaccess를 이용해서 참조 URL을 필터링하려면 일단 다음과 같은 두 개의 코드를 .htaccess 파일의 마지막에 추가하면 됩니다. 아울러 이후에 추가되는 코드는 모두 이 두 행의 사이에 추가하는 것으로 하겠습니다.

SetEnvIfNoCase Referer "decentness.info" hacker
Deny from env=hacker

위 코드의 의미는 참조 URL이 decentness.info이면 환경변수를 hacker로 정의(SetEnvIfNoCase Referer "decentness.info" hacker)하고 hacker로 정의된 것들은 모두 거절(Deny from env=hacker)하라는 의미입니다.

이렇게 하면 Deny from env=hacker 위에 참조 URL 스팸의 도메인 주소만 계속 등록함으로써 불필요한 참조 URL 스팸을 막을 수 있습니다. 그러나 문제는 이런 참조 URL 스팸이 워낙 많아서 매번 등록하는 것이 귀찮다는 점입니다. 따라서 이 경우 좋은 방법은 참조 URL 스팸으로 자주 사용되는 주소에 주로 어떤 단어가 포함되는 지를 확인하는 것입니다. 참조 URL 스팸의 상당수는 포르노 사이트인 경우가 많으므로 이 경우 다음과 같은 코드를 이용해서 주소에 특정 단어가 포함된 경우 필터링할 수 있습니다.

SetEnvIfNoCase Referer "sex|porno|adult|mature|xxx|fuck|lesbian|nude" hacker

이 코드를 Deny from env=hacker 이전에 추가하면 참조 URL에 sex, porno, adult 등의 단어가 포함되면 자동으로 접속을 거절하게 됩니다.

이 두 가지 방법으로 상당히 많은 참조 URL 스팸을 막을 수 있습니다. 이런 식으로 참조 URL을 막자 이번에는 .info 도메인으로부터의 참조 URL 스팸이 늘어가더군요. 결국, 참조 URL을 날리지 않는 사이트에는 미안하지만 참조 URL 스팸이 보기 싫어 다음과 같은 코드도 추가했습니다.

SetEnvIfNoCase Referer \.info$ hacker

즉, 참조 URL.info로 끝나는 경우 모두 접속을 거절하게 됩니다. 이외에 로봇이나 오프라인 브라우저의 접근을 막고 싶다면 다음과 같은 코드를 사용하면 됩니다.

SetEnvIfNoCase User-Agent "WebCopier" hacker

이 코드는 User-Agent(오프라인 브라우저)가 WebCopier인 경우 접근을 거절하게 됩니다.

댓글 스팸

댓글 스팸은 태터툴즈를 많은 사람이 사용하기 때문에 발생한 현상입니다. 만약 조그처럼 사용하는 사람이 많지 않다면 크게 고민할 필요는 없는 부분입니다. 댓글 스팸을 막는 가장 효과적인 방법은 태터툴즈 자체에서 제공하는 필터링 기능입니다. 따라서 태터툴즈의 필터링 기능을 이용해서 댓글 스팸을 막는 방법을 설명하겠습니다.

  1. 태터툴즈의 관리 메뉴에서 '글관리/댓글을 봅니다'를 클릭합니다.
  2. '이름'과 'IP'의 '연결 아이콘'을 클릭합니다.
  3. 이 단계에서 중요한 것은 댓글에 어떤 단어가 공통으로 포함되는지를 확인해야 합니다. 보통 이런 글을 올리는 사람들은 고양이가 쥐 생각하듯 삭제 비밀번호도 함께 남겨둡니다. 이 비밀번호라는 단어는 쉽게 필터링에 걸리기 때문에 필터링에 걸리지 않도록 비/밀/번/호처럼 다양하게 변경해서 사용합니다. 따라서 뭐가 되던 이러한 공통적인 단어(예: 비/밀 번/호)와 암호(예: 1234)는 반드시 클립보드로 복사해 두고, 휴지통 버튼을 클릭해서 스팸 댓글을 삭제합니다.
  4. '환경설정/필터 관리'를 클릭합니다. IP와 이름은 이미 필터에 등록되어 있으므로 '본문 필터링'에 전단계에서 복사한 단어(예: '비/밀 번/호')를 붙여 넣고 '추가하기' 버튼을 클릭합니다.

트랙백 스팸

트랙백이 오면 반가운 마음에 아무 생각 없이 클릭하는 사람들의 속성을 악용한 스팸입니다. 그러나 이전의 참조 URL 스팸과 댓글 스팸과는 달리 막을 수 있는 효과적인 방법이 없습니다. .htaccess를 이용해서 트랙백을 보낸 서버를 막을 수도 있지만 트랙백을 보낸 서버가 항상 스팸만 보낸다는 보장이 없기 때문에 이 방법을 사용하기도 힘듭니다.

현재까지 쓸 수 있는 유일한 수단은 태터툴즈의 트랙백 관리 기능에서 사이트를 차단하는 것 외에 다른 방법은 없는 것 같습니다. 트백백 관리 기능에서 홈페이지를 차단하는 방법은 다음과 같습니다.

  1. 태터툴즈의 '관리 메뉴'에서 '글관리/트랙백을 봅니다'를 클릭합니다.
  2. '사이트명' 앞의 '연결 아이콘'을 클릭한다. 그림을 모자이크 처리한 것은 실제 스팸과는 관련이 없는 트랙백이기 때문입니다.
  3. '휴지통' 아이콘을 클릭해서 스팸 트랙백을 삭제합니다.

태터툴즈 1.x로 갈아탄 후 스팸이 많아져서 간단히 적어보았습니다. 스팸으로 고민하시는 분이나 더 좋은 의견은 댓글이나 트랙백으로 알려주시기 바랍니다.

관련 글타래