본문 바로가기
IT활용팁

티스토리 블로그 공격, 스팸 태그 페이지 생성 응급 조치 방법

by Thales 2023. 1. 22.

티스토리 블로그를 운영하다 보면 이런저런 이유로 스팸, 어뷰징 등 다양한 공격을 당하는 일들이 많습니다. 티스토리 블로그에서 가장 흔하게 볼 수 있는 공격은 스팸 댓글입니다.

 

스팸 댓글은 블로그 공격 방식입니다. 아주 고전적인 동시에 아주 쉽게 포착 가능합니다. 쉽게 포착하니 쉽게 삭제 및 관리가 가능합니다. 

 

살다 보니, 누군지도 모를 사람에게 당한 무지막지한 티스토리 블로그 공격의 테러를 받았습니다. 이게 너무 신박한 방법(적어도 제게는)을 사용한 공격이라 첨엔 무척 당황했습니다.

 

당황한 이유는 300만이라는 엄청난 양의 악성 스탬 태그 페이지(Tags Page)를 무제한 생성한 것인데요. 맞습니다. 블로그 포스팅 말미에 주제 분류를 위해 입력하는 그 태그를 말하는 것입니다.

 

참고로 스탬 태그 페이지 무한 생성을 해결 방법은 아닙니다. 응급 조치로 그나마 손실 규모를 줄여주는 정도라 보심 됩니다. 그리고 왜 이런 원인, 상황이 벌어진지에 대해 읽는 다면 현재 티스토리 블로그 운영자들은 사전 예방 효과도 있으리라 봅니다.  

 

티스토리 블로그 스팸 공격 사례
티스토리 블로그 스팸 공격 사례

 

스샷에서 보는 것처럼 질 낮은 악성 키워드를 조합해 태그 페이지를 생성하는 공격입니다. 저게 어떻게 가능한지 아직도 잘 모르겠습니다.

 

한글로 만들어진 야물찬 키워드는 삐 처리할 게 너무 많아 스샷을 하지 않았습니다. 이게 가장 큰 문제는 포스팅을 하는 것처럼 정상적으로 하나의 페이지가 단독으로 만들어지면서 티스토리에 저장이 되지 않는다는 건데요. 

 

이 말은 카카오측 서버에 접근해 캐시로 만들어졌던 뭐가 되었건 임시로 생성된 데이터를 삭제하는 것 말고는, 실제 티스토리 운영자는 할 수 있는 게 없습니다. 

 

스팸 댓글이 달렸으면 그 댓글을 지우면 해결이 됩니다. 근데 이건 제 티스토리 관리자 목록에도 안 나타나니 지울 수도, 볼 수도 없는데, 구글 검색엔진에는 색인으로 등록이 된 겁니다. 그것도 자그마치 300만 페이지가 말이죠. 

 

 

 

 

블로그 스팸 공격의 뚜렷한 목적

전세계 주요 국가 언어로 작성된 스팸 태그 공격으로 사이트 접속환경 및 경험을 나쁘게 만듦
전세계 주요 국가 언어로 작성된 스팸 태그 공격으로 사이트 접속환경 및 경험을 나쁘게 만듦


보다시피 공격을 목적으로 함이 뚜렷함을 알 수 있습니다. 단순 홍보 목적이라면 ㅋㅋ 글로벌 각국 언어를 써 가면서 굳이 저렇게 무한정 페이지를 만드는 것 자체가 의미 없는 행위이기 때문에, 고의성이 명백한 공격으로 볼 수밖에 없습니다. 

 

그래서 어쩔수 없이 현재는 한국 방문자들을 제외한 다른 국가 방문자들은 차단( 주슬금 접속과 동시에 구글 검색 사이트로 바로 접속하도록 리다이렉션을 걸어 놓았습니다.) 

 

카카오와 구글에서 이 문제를 해결해 주지 않는 다면, 필자가 현재 운영중인 블로그는 갈수록 검색 순위에서 밀려나서 검색을 해도 찾을 수 없게 될 상황에 까지 이르게 됩니다. 

 

이들이 공격을 통해 노리는 것이 바로 이것입니다. 최종 목표이자 목적이라 할 수 있습니다. 아 그렇다고 제 블로그가 무슨 아주 대단한 그런 건 아닙니다. 

 

 

 

 

 

주요 검색엔진 검색 순위 하락  노림

검색 순위 끌어 내리기 공격의 일환
검색 순위 끌어 내리기 공격의 일환

좀 더 구체적으로 살펴보면, 네이버에서 주식 투자 관련 글을 검색할 때 추세추종과 관련된 글은 많은 경우 첫 페이지, 상단 스니펫으로 등록이 되어 있습니다. 

 

한 가지 아셔야 할 점은 전 글 포스팅 할 때 구글이나 네이버 검색 상위는 크게 고려하지 않고 글을 작성했다는 점입니다.

(저는 그러한 삶을 살아 오지 않았습니다. 여러분!~ 누가 나에게 돌을 던질 수 있습니까? 새빨간 거짓말입니다.)

 

우리나라 주식 투자하는 분들이 주로 많이 검색하는 검색어는 아무래도 테마주 관련 내용이 많습니다. 단타로 급등하는 종목 대부분이 테마로 얽혀 상승하기 때문인데요.

 

 

테마주 찾는 방법에 관한 포스팅이 2개 정도 있고 나머지는 대부분 주식 투자에서의 개념과 원리를 설명하는 주식학습, 공부용 콘텐츠가 주류입니다. 

 

실제 주요 키워드가 상단에서 점점더 하락하는 상황을 볼 수 있는데요. 접속 환경 자체가 나빠지니 주요 검색 사이트에서 방문자에게 우수한 경험을 제공하지 않는 사이트라 판단해 품질 지수가 낮아지게 되는 것입니다. 

 

 

 

 

블로그 스팸 공격으로 나쁜 접속 경험  노림

구글도 마찬가지로, 지금까지 작성했던 250개 정도의 포스팅 글은 대부분 방문자에게 우수한 페이지 경험을 제공했습니다.

 

그러던 것이 스팸 공격이 시작되면서, 사이트 접속 환경, 사용자 경험은 순식간에 최악으로 만들어 버립니다. 이게 빨리 해결되지 않으면 검색을 해도 사이트를 찾을 수 없을 수준까지 안드로메다로 보내 버릴 가능성이 커지게 됩니다. 

 

저도 나름 IT업계에서도 꽤 오랫동안 기획자와 마케터로 일을 했었지만, 이런 극단의 상황은 처음 맞닥트려 보는 것이라, 좀 안다고 착각했던 방심이 오히려 화를 크게 키운 꼴이 되고 말았습니다. 

 

문제가 될만한 사소한 시그널을 방치하거나 무시한 결과로 이런 참극이 벌어진 것이니 제대로 관리감독을 초기에 못한 것은 제 잘못이기도 합니다. 

 

 

 

 

불량 사이트에 언급되는 백링크 양이 많을 수록 위험

 

백링크(Backlink)는 <주슬금> 블로그 사이트 주소가 남아있는 다른 사이트의 개수(도메인)를 말합니다.

 

좀 단순화 해서 말한 것이긴 합니다만, 구글 검색엔진의 기초 원리가 바로 여기서 탄생했는데요. 말하자면, 유명한 논문일수록 더 많은 논문 저자들로 부터 인용이 됩니다.

 

고로 인용이 많이 될 수록 더 유명한 논문이고 또 높은 가치를 지닐 가능성이 크다는 개념을 검색 사이트에 적용해 탄생한 것이 구글입니다. 

 

백링크는 필자가 현재 운영하고 있는 <주슬공> 사이트를 언급하는 다른 사이트가 어디이고 몇 곳인지 알려주는 것입니다.

 

백링크 숫자가 많을 수록 좋은 것은 당연히 아닙니다. 나를 공식적으로 언급해 주는 상대측 사이트 인지도 또한 매우 중요한 평가 요소가 됩니다.

 

만약 단순히 백링크 숫자로만 계산해 해당 사이트의 품질이 높고 낮음으로 평가한다면, 소위 사이트를 운영하는 개나 소나 다 자기가 운영하는 사이트 주소를 어떻게든 남기려 들 겁니다. 전쟁터가 되겠죠. 


쉽게 말해 삼성, 엘지, 서울대학교, 국민은행 홈페이지 같은 곳은 그 자체로 사이트 인지도가 높습니다. 예를들어 <주슬금>을 이런 유명한 사이트에서 공식적으로 추천 또는 언급을 해 준다면 제 블로그 지수는 한 참 더 높아질 겁니다. 물론 같은 업종일수록 더 가산점수가 크겠지요. 

 

그 반대로, 불량 사이트에서 저를 언급하는 횟수가 많아지면 백링크는 이제 독(Toxic)으로 작용하게 됩니다. 

 

그러니까 Toxic Domain 사이트에 제 사이트 주소가 언급된 것 자체가 벌써 하나의 나쁜 징조이자 시그널로 작용하는 것입니다.

 

왜냐면, 이런 곳들은 이미 거의 제대로 운영되는 곳이 아니거나 접속 하는 것 자체만으로도 각종 멀웨어, 바이러스 등에 감염될 수 있는 곳이 대부분입니다. 부지불식간에 팝업을 띄우고 프로그램을 설치하게 만드는 웹사이트 대부분 이런 식으로 작동하는 곳입니다. 

 

이런 백링크의 가장 큰 문제점은 사이트 운영자가 어떻게 할 수 있는 부분이 아닙니다. 왜냐면 상대측 사이트에서 내 의사와는 무관하게 자신들의 웹사이트에 제 홈페이지를 주소를 링크해 놓습니다.

 

심지어 제 글을 무단 복사해 포스팅해 두는 곳도 꽤 여러 곳에서 발견했습니다. 이런 사이트는 신고한다고 해서 처벌받는 것도 아니고, 쉽게 요리조리 옮겨 다닐 수 있기 때문에 현실적인 제제를 가하기 어렵습니다. 

 

 

 

 

불량 사이트 백링크 연결 거부하는 방법 

그렇다면 블로그 또는 사이트 운영자가 할 수 있는 현실적인 대안은 뭘까요?

 

내 홈페이지 주소라 링크된 불량 사이트에서 내 홈페이지나 블로그로 접속하는 것을 차단하도록 하는 것입니다. 

 

도메인 자체를 접속 차단하는 것과 함께, 명확한 링크 주소를 기재하면 해당 사이트 도메인과, 특정 페이지에서 내 홈페이지로 유입되는 것 자체를 막을 수 있습니다.

 

불량 사이트 백링크 연결 거부하는 방법 Disavow Link
불량 사이트 백링크 연결 거부하는 방법 Disavow Link

 

다행히 구글에서 무료로 도메인을 차단 할 수 있도록 하는 Disavow Link 메뉴를 별도로 갖춰 놓고 있습니다. 

 

속성에서 운영중인 블로그 또는 사이트를 선택하고 차단 하고자 하는 도메인 및 웹사이트 링크 주소를 목록으로 만들어 업로드 하면, 추후 해당 도메인과 링크 URL을 타고 내 홈페이지에 접속하는 것 자체를 구글에서 막아주는 것입니다.  

 

위에 보다시피 제 블로그  주소를 백링크한 스팸 사이트 도메인이 무려 999개가 차단 등록되어 있는 걸 보실 수 있을 텐데요.

 

미리 했었어야 할 작업을 뒤 늦게 하고야 만 꼴이지만, 스팸 공격 직전에 백링크가 이렇게 갑자기 늘었는 걸 모르고 있다가 문제 해결을 위해 찾다 보니 아주 가관이더군요. 결국 작은 문제를 큰 문제로 키워버린 셈이 되고 말았습니다. 



 

내 블로그 백링크 도메인 현황 파악하기

① 구글 콘솔에서 좌측 맨 하단의 [링크] 메뉴를 클릭

② 상위 링크 사이트에서 등록된 도메인 목록을 [더보기]를 클릭해 확인합니다. 

③ 여기서 목록 확신시 조심해야 할 것은 tistory.com 같은 실제 사이트는 포함시키지 말아야 합니다. 

 

 

도메인 차단 Disavow Link 사용방법

차단 하고자 하는 도메인 목록은 메모장에 리스트 입력한 후 원하는 파일명으로 저장한 다음 업로드 하기만 하면 됩니다. 

 

domain:example.com

domain:sample.com

이런 식으로 차단하고자 하는 도메인 앞에 domain: 를 입력하고 차단하고자 하는 도메인을 입력한 후 저장하면 됩니다.  

 

# 거부할 페이지 2개
http://spam.example.com/stuff/comments.html
http://spam.example.com/stuff/paid-links.html

# 거부할 도메인 1개
domain:shadyseo.com

 내 사이트로 연결되는 링크 거부하는 방법은 구글 메뉴얼을 한번 차분히 먼저 한번 읽어 본 뒤에 결정하는 것이 좋습니다. 괜히 엉뚱한 사이트를 접속차단 할 수 있는 것 만큼 목록은 재확인 한 후 업로드 하길 권장합니다. 

 

도메인 거부 목록 반드는 방법 메뉴얼 보기  도메인 거부 목록 만드는 메뉴얼 보기 

도메인 목록 작성 방법은 쉽습니다. 구글 메뉴얼 

 

  구글 내 사이트에 연결되는 링크 거부 가기  Google Disavow Link 

 

 

위 처럼 불량 백도어 링크나 도메인은 수시로 체크해 차단하는 노력이 중요한 것 같습니다. 불량 도메인이 내 사이트를 많이 가르킬 수록 내 사이트의 품질 또한 덩달아 낮아지게 되기 때문입니다. 

 

이건 내 블로그를 내가 열심히 글을 작성하는 것과는 별개로 외부에서 작성되어 공격들어 오는 것이기 때문에 모니터링이 중요합니다. 수시로 체크 한 후 도메인 차단 목록을 업데이트 하길 권합니다. 

 

 

 

추가 조치 사항 : 해외 접속 IP 차단

저 처럼 다국어 스팸 공격의 경우 사이트 접속은 24시간 전세계 사람들이 검색으로 접속하게 됩니다. 사이트 품질 저하에 최악인 상태를 만드는데, 접속 하자 마자 이탈을 하기 때문에 이탈률이 극도로 높아지게 됨에 따라 치명적이라 할 수 있습니다. 

 

이쯤되면 블로그 운영은 접어야 하거나, 다른 주소로 글을 모두 이전 하거나 새로운 도메인으로 글을 모두 옮기는 이사를 가는 것이 어쩌면 나은 선택지가 될 수 있습니다.

 

따라서 가장 필요한 응급 조치는 국내 IP를 제외한 해외접속 IP는 모조리 차단하는 것이 좋습니다. 

 

<!doctype html>
<html lang="ko">
<head>
<!-- 해외아이피 차단 -->		
<script>  
  function recordData (data) {  
        if(data.country != "KR"){
           window.location.href = "https://www.google.com/";
        }else{           
        }
   }	
</script>		

<script src="https://ipinfo.io/json?callback=recordData"></script>	
<!-- 해외아이피 차단 -->

삽입 위치는 티스토리 관리자 모드에서 스킨의  HTML 편집을 클릭한 후 <head> 태그 바로 아래 위 해외아이피 차단 부분만 복사해 붙여 넣으면 됩니다.

 

헤드 바로 아래 둬야 하는 것은 접속시 맨처음 실행되어야 하기 때문입니다.

 

위 해외IP차단 소스는 실제 VPN 우회 접속을 통해 제가 접속 유무를 테스트를 한 상태에서 올리는 것입니다. 적상 작동하니 걱정하지 않으셔도 됩니다.

 

참고로, 리다이렉션은 원하는 사이트 주소를 적으면 됩니다. 저는 해외에서 접속하는 경우 바로 구글로 보내고 있습니다. 

 

 

 

 

 

검증되지 않은 티스토리 스킨  소스 코드 조심하기

티스토리를 좀 더 야무지고 이쁘게 꾸미려고 하다보면 이런저런 공개된 소스 코드를 사용하는 경우가 많습니다.

 

과거에는 이런 소스 코드에 납치 태그를 숨겨두거나 해 블로그 접속시 강제로 이상한 사이트로 접속을 하거나 시키는 경우가 많았습니다.

 

최근에는 그런 사례가 적은 듯 싶지만, 공개된 소스 코드를 활용해 티스토리를 꾸미는 분들이라면 항상 인지도 있는 블로거가 운영하는 곳에서 공개하는 자료나 소스 코드를 이용하는 것이 좋습니다. 

 

 

 

 

맺음말 

스팸 공격은 블로거의 글쓰기 의지를 꺽어버립니다. 실제로 감당이 되지 않을 정도로 큰 문제다 보니 이사를 하고 기존 블로그는 폐쇄를 해야하나 하는 고민을 하게 되더군요.

 

그동안 많은 애정을 쏟으며 키워온 블로그가 하루 아침에 이런 일을 겪고 보니, 의욕 상실 또한 매우 큰 것 같습니다. 

 

'공포로 인해 타협하지 말 것이며, 남이 나에게 타협하는 것을 두려워 하지도 말라'
- John F. Kennedy -

 

글을 쓰지 않으려 했지만, 또 누군가에겐 또 이런 글 자체가 필요한 정보로 작용, 기능할 것 같아서.... 

 

쓰나미가 몰려와 집이 침수되고 가재도구며 각종 집기들이 사용할 수 없는 엉망인 상태가 되었지만, 그럼에도 불구하고 다시 복구를 해야 합니다. 저들의 의지에 타협하고 굴복하면 저들이 이기는 것이기 때문입니다. 

 

하여, 굳이 현재 제가 겪고 또 경험한 상황 더불어 즉각적으로 취할 응급 조치 방법 등에 대해 자세히 설명했습니다. 

 

반응형

댓글