• Googlebot을 사칭하는 악성 봇 탐지하고 차단하기

    소문으로만 들었다. 구글의 검색 봇으로 위장해서 블로그의 글을 몰래 수집해가는 봇이 있다는 이야기다. 그런데 필자의 블로그에도 그런 봇들이 드나들고 있었다. Apache Web Server의 Access Log를 보던 중 발견했다. 정상적인 Google Bot의 접근 구글의 검색 봇은 다음과 같이 Access Log 파일에 기록된다. Google Bot의 User Agent 구글 검색엔진의 Bot은 User Agent 항목에 Google의 검색엔진 봇이라는 것을 알리기 위해 Google 이라는 키워드가 들어간다. 물론 구글 검색엔 …

  • 티빙 해킹으로 인한 CI 유출의 위험성

    티빙의 해킹으로 인한 개인정보 유출사고는 그간 수면 아래에 숨어있던 중요한 개인정보의 존재를 수면 위로 극적으로 끌어올렸다. 그래선지 여타 개인정보 유출사고에 비해 언론들이 다루는 언조가 조금 무겁다. 어떤 언론들은 마치 호떡집에 불난 듯 이러쿵 저러쿵 신나게 떠들어 댄다. CI라는, 일명 온라인 주민등록번호가 유출되었기 때문에 당장이라도 불법적인 휴대폰 개통, 은행의 계좌개설이 벌어질 것 처럼 보도하고 있다. 필자도 얼마 전 티빙으로부터 개인정보가 유출되었다는 문자메시지를 받았다. TVING의 개인정보 유출사고 안내 문자메시지 …

  • 방문자가 봇(Bot)인지 확인하는 JS Challenge 구현

    필자가 운영하고 있는 이 블로그의 출발은 cybercafe.tistory.com 이라는 도메인 주소를 가진 티스토리였다. 그 후 2013년에 현재의 도메인(blogger.pe.kr)을 구입하여 티스토리에 2차 도메인으로 연결했다. 그리고 3년 전 티스토리에서 독립한 후 티스토리 도메인은 삭제하였다. 너무도 많은 유해 트래픽 독립 서버에서 블로그를 운영하다 보니 대기업의 블로그 서비스를 이용할 때는 알 수 없던 유해트래픽을 온몸으로 느끼고 있다. 실제 검색엔진을 통해 들어오는 "사람"의 방문 트래픽보다 Bot이나 해킹 시도 트래픽은 …

  • Fail2Ban과 ipset으로 구축한 워드프레스 웹 방화벽 적용 후기

    fail2ban과 ipset 그리고 iptable의 조합으로 워드프레스 블로그의 웹 방화벽을 구축한지 만으로 3일 정도가 지났다. 그런데 예상보다 그 효과는 더욱 극적이었다. 필자의 블로그에는 하루에도 수천번의 sshd 무작위 로그인 시도와 워드프레스 웹 로그인 시도 그리고 수시로 몰려오는 파일 스캔으로 로그 파일의 사이즈는 커져만 갔었다. 그래서 앞의 포스트에서 많은 고민 끝에 fail2ban과 ipset 그리고 iptable의 조합으로 웹 방화벽을 구축하고 가장 공격이 많은 세가지의 filter와 jail을 만들고 iptabl …

  • Fail2Ban과 ipset으로 워드프레스 웹 방화벽 구축하기

    클라우드의 VM 또는 홈서버에 직접 서버를 구축하고 워드프레스와 같은 블로그 또는 웹사이트를 운영하는 사람들은 모든 문제를 직접 해결해야 한다. 검색엔진의 봇이 아닌 불법적인 웹 크롤러와 봇이 무단으로 저작물을 가져가는 것을 막아야 하고 광고 댓글이 달리는 것도 차단해야 한다. 게다가 로그인 페이지를 찾아내 무단으로 접속을 시도하는 것도 막아야 하고 웹서버의 해킹 시도도 차단해야 하며 심지어 운영체제에 직접 로그인하려는 원격접속(SSH) 시도도 방어해야 한다. 필자 또한 많은 고민을 하며 이런 저런 방법으로 공격을 막아내고 있다. …

  • iptable과 ipset을 연동하여 대량 IP 효과적으로 차단하기

    Referer 주소가 없는 방문자의 정체 언제부터 인지는 알 수 없지만 필자가 운영하고 있는 워드프레스 블로그의 방문자 로그에 이상한 로그가 잡히기 시작했었다. 바로 다음과 같은 로그다. 방문자 카운터 로그에 기록된 비정상 방문 이력 구글이나 네이버와 같은 검색엔진을 통해 유입이 되는 경우 95% 이상의 비율로 Referer에 Google이나 Naver, Bing 등 검색엔진의 URL 주소가 기록된다. 하지만 앞 화면에 보이는 것과 같은 접속 이력은 Referer 주소가 없다. 이 방문자 접속 이력은 필자의 워드프레스 블로그에 직 …

  • 중국의 유해 트래픽을 차단하다

    인터넷에는 유해한 트래픽이 넘쳐난다. 그 중에서도 중국에서 다른 나라로 유입되는 트래픽은 유별나게도 유해한 트래픽이 많다. 우리나라로 유입되는 다양한 트래픽도 대부분 유해한 트래픽이라 해도 과언이 아니다. 그리고 그런 중국발 유해 트래픽은 필자의 블로그로도 유입된다. 그런데 최근에 갑자기 그 트래픽이 많아지기 시작했다. 워드프레스 블로그의 방문자 로그 분석 필자는 다음화면과 같이 방문자의 로그를 로그 수집서버에 수집하여 종종 분석하고 있다. 로그는 다음 화면과 같이 시간, 글제목, 글URL, IP, Referer 주소, 플랫폼의 …

  • 쇼핑몰 북마크 추가하는 애드웨어 삭제 방법

    PC에 이런 저런 프로그램을 설치하거나 여기 저기 웹사이트를 돌아다니다 보면 웹 브라우저의 북마크에 테무, 알리, 지마켓 등등 쇼핑몰 즐겨찾기가 추가되어 있다. 보기 싫어 삭제하고 나면 얼마 지나 다시 추가되어 있다. 게다가 원치 않는 웹사이트를 브라우저의 탭으로 띄워 접속하기도 하고 뜬금없이 광고 팝업창을 띄워 짜증을 유발하기도 한다. 이런 프로그램은 애드웨어(adware)의 일종으로 악성 프로그램으로 분류된다. 이런 악성 북마크를 반복적으로 추가하는 프로그램들은 대부분 알집, 곰플레이어 등과 같이 무료 프로그램과 함께 배포되어 …

  • [개보법] 인터넷망의 차단 조치 (2025.10.31 개정)

    인터넷망의 차단 조치(망분리) 관련 법령 대한민국의 개인정보 보호법은 공공기관과 사업자 및 단체의 무분별한 개인정보 수집과 처리로 인한 개인정보의 유출, 오용, 남용을 막기 위해 제정되었으며 정보 주체의 개인정보 자기 결정권을 보장하면서도 안전한 개인정보의 처리 기준을 수립하여 개인정보처리자와 정보주체 간 사회적 신뢰를 구축하는 것을 목적으로 한다. 개인정보 보호법에는 많은 조항들이 있지만 개인정보처리자가 가장 어려움을 토로하는 내용 중 하나가 바로 "인터넷망 접속 차단"이다. 흔히 망분리로 불리기도 한다. IT기술이 고도로 발전 …

  • Caddy에서 국가별 IP 접근통제 구현 (리버스 프록시)

    Caddy는 리버스 프록시다. Nginx의 대안으로 Go 언어로 개발되었으며 별도 설정없이 Caddy의 백엔드에 연결된 웹사이트의 SSL 인증서를 자동으로 관리해주기도 한다. 또한 설정 파일인 Caddyfile을 통해 다양한 보안적인 요소를 제공하기도 한다. 그래서 필자가 구축해 사용하고 있는 블로그 방문자 로그 분석 웹사이트, 비밀번호 관리를 위한 Vaultwarden, 여러 커뮤니티 게시판의 글을 모아보는 웹사이트, 메모 사이트 등 10여개의 웹사이트가 Caddy의 백엔드에 연결되어 있다. 문제는 보안이다. 이 모든 사이트들이 …