사이트 접근 제한, One More Step Please complete the security check to access

 어느날 갑자기, 아래의 문구가 나오면서 인터넷 사이트에 접속이 바로 되지 않는다.
One more step
Please complete the security check to access 
 나는 로봇이 아닙니다 라는 체크를 하거나 그림 맞추기를 성공해야지만 내가 원하는 사이트에 접속할 수 있다.
 며칠 동안 인터넷을 이용할 때마다, "나는 로봇이 아닙니다"라고 체크를 했지만, 위 경고는 사라지지 않았다. 인터넷을 통해 검색을 해보았지만, 특별히 도움될 만한 것을 찾지 못했다. 해당 사이트에 나오는 도움말도 도움이 되진 못했다.
도움말
https://support.cloudflare.com/hc/en-us/articles/200171816-Why-do-I-see-an-Access-Restricted-CloudFlare-Challenge-Page-from-anti-virus-cloudflare-com-
 원인으로 추정하는 것은 라즈베리파이에 설치된 프록시 서버이다. PC와 같은 네트워크를 사용하는 라즈베리파이의 프록시 서버를 이용해 몇몇 사이트를 접속한 적이 있었다. 크롬은 일반 IP로 접속을 하고 파이어폭스는 프록시 서버를 이용해서 사이트를 접속 했는데, 이때, 집에서 사용하는 IP(프록시 서버 IP)가 블랙리스트에 등록이 된게 아닌가하는 생각이 든다.

 좀더 인터넷을 통해서 해결 방법을 찾아봐야겠다. IP를 강제로 바꾸면 해결이 될것 같기도 한데 될지는 모르겠다.

 혹시, 해결방법을 아시는 분은 댓글 부탁드립니다.

Proxy Server, Squid3 인증 구현하기

 라즈베리파이를 홈서버 용도로 구축하여 사용중이다. 라즈베리파이에서 구동중인 프로그램중 하나가 프록시 서버를 만들어주는 Squid3 이다.
Ubuntu Proxy Server, Squid3 간단 설치 : http://www.withover.com/2012/02/ubuntu-proxy-server-squid3.html
 라즈베리파이를 개인적으로 사용하기 때문에 트래픽과 서버부하를 크게 걱정않았다. 그런데 조금씩 라즈베리파이가 느려지는것이 보여 원인을 찾아보았다. "top" 명령을 통해 찾아보니, 상당한 자원을 Squid3 가 차지 하고 있었다. Squid3의 로그파일도 엄청 쌓이고 있었다. 로그파일에 찍힌 주소를 보니 중국쪽에서의 접근이 많았다.
/var/log/squid3 $ sudo tail -f access.log
 그래서 Squid3에 ID와 패스워드 인증을 도입하기로 했다.

 라즈베리파이의 기본 계정을 이용하는것이 아니라, 별도의 ID와 패스워드를 입력해야 프록시 서버에 접근 할 수 있게끔 설정을 바꾸어보자. 별도의 계정을 이용하기 위해 digest 방식을 사용하기로 했다. digest를 이용하기 위해서는 apache2-utils를 설치해야한다. apache2-utils는 apache 라는 웹서버와는 무관한 프로그램으로 알고 있다.
$ sudo apt-get install apache2-utils
 Squid3 설정 파일을 수정한다.
$ sudo vi /etc/squid3/squid.conf
 설정 파일의 550 라인 정도 쯤에 아래와 같은 코드를 추가하자.
auth_param digest program /usr/lib/squid3/digest_file_auth -c /etc/squid3/passwords
auth_param digest realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
 digest의 ID와 패스워드를 생성한다.
$ sudo htdigest -c /etc/squid3/passwords proxy user_id
 Squid3를 다시 시작한다.
$ sudo service squid3 restart
 이제 브라우져에 프록시 접근을 설정해 보자. 파이어폭스 기준으로 "설정 > 고급 > 네트워크 탭 > 설정" 을 눌러 다음과 같이 설정한다.
 그런 다음, 주소창에 주소를 입력하면 ID와 패스워드를 묻는 창이 뜬다. 이때, htdigest 를통해 만들었던 ID와 패스워드를 입력한다.
 ID와 패스워드를 아는 사람만이 해당 프록시 서버를 이용할 수 있다.

 정말로 그러한지 squid3 로그를 보자.
$ cd /var/log/squid3
$ sudo tail -f access.log 
1460360248.725      3 185.70.185.61 TCP_DENIED/407 3682 GET http://havadar.mobi/ - HIER_NONE/- text/html
1460360248.744      2 61.160.223.66 TCP_DENIED/407 3594 CONNECT login.sina.com.cn:443 - HIER_NONE/- text/html
1460360248.765      3 114.238.163.134 TCP_DENIED/407 3580 CONNECT www.baidu.com:443 - HIER_NONE/- text/html
1460360248.888      3 140.205.144.227 TCP_DENIED/407 3822 POST http://loc.map.baidu.com/sdk.php? - HIER_NONE/- text/html
 위 주로로 접근한 기록들이 모두 TCP_DENIED 된 것을 확인 할 수 있다. 내가 접근했을 때의 로그를 보고 싶으면, 거부난 로그를 제외하면 자신의 로그를 볼 수 있다. grep -Ev '제외단어1|제외단어2' 명령을 이용하면 가능하다.
$ sudo tail -f access.log | grep -Ev 'TCP_DENIED|TCP_MISS'
 Squid3 의 로그 파일에 대한 정보는 다음 페이지에서 확인가능하다.
Squid3 로그파일 정보: http://wiki.squid-cache.org/SquidFaq/SquidLogs
 이상으로 인증을 통해 프록시 서버를 이용하는 방법을 알아보았다.

블로거 댓글창이 안보일 때 & 구글+ 댓글 연동하기

 블로거 플랫폼을 이용해서 블로그를 운영중이다. 얼마전 블로그의 템블릿 레이아웃을 교체 하였다. 그 동안 기본 템플릿을 조금 변형해 사용하다 처음으로 사용자 정의 템플릿을 이용하게 되었다. 다양한 형태의 레이아웃 중에서 깔끔한 형태의 Blue Blogger Template 을 적용하기로 했다.
Blue Blogger Template : 데모사이트, 다운로드

 템플릿은 관리자 페이지에서 적용가능하다.
템플릿 -> 백업 및 복원 -> xml 파일 업로드
 해당 템플릿을 적용하던 중 댓글이 표시되지 않는 문제가 발생했다. 원인을 찾아보니, 구글+ 댓글 연동기능을 사용할 경우, 문제가 생길수 있다고 한다.
Google+ -> 이 블로그에서 Google+ 댓글 사용 체크 해지
  구글+ 댓글 기능을 사용하려면 어떻게 해야할까? 아래의 링크를 타고 들어가서 해결 할 수 있다.
Blogger용 Google+ 관리 https://support.google.com/blogger/answer/1752748?hl=ko
 먼저, 템플릿을 백업한다. 템플릿 -> HTML편집에서 다음의 코드를 찾는다. Ctrl + f 기능을 이용해서 찾을 수 있다.
<b:if cond='data:post.includeAd'>
 위 코드가 발견된 곳의 바로 위에 다음의 코드가 있을 것이다.
<b:if cond='data:blog.pageType == &quot;item&quot;'>
 위 코드가 있는 부분을 다음과 같이 수정한다. 파란색 코드는 구글+ 댓글을 표시해주는 코드로써 추가할 코드이다. 붉은색 코드는 블로거 댓글을 표시해주는 코드로써 삭제할 코드이다.
<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
  <div class='cmt_iframe_holder' expr:data-href='data:post.canonicalUrl' expr:data-viewtype='data:post.viewType'/>
  <b:if cond='data:post.showThreadedComments'>
    <b:include data='post' name='comments'/>
  <b:else/>
    <b:include data='post' name='comments'/>
  </b:if>
</b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
  <div class='cmt_iframe_holder' expr:data-href='data:post.canonicalUrl' expr:data-viewtype='data:post.viewType'/>
  <b:if cond='data:post.showThreadedComments'>
    <b:include data='post' name='comments'/>
  <b:else/>
    <b:include data='post' name='comments'/>
  </b:if>
</b:if>
 블로거 관리 페이지에서 Google+ -> '이 블로그에서 Google+ 댓글 사용'을 체크 한다. 붉은색과 파란색 코드가 모두 존재할 경우 문제가 발생 할 수 있다. 블로거 댓글 기능을 다시 사용하기 위해선 붉은 색 코드를 원복하면 된다.