방화벽을 통해 넘어오는 html 페이지의 내용을 수정할 수 없을까요?

alfalf의 이미지

안녕하세요.
KLDP가 새로운 모습으로 바뀌고는 처음으로 글을 쓰게 되네요.
궁금게 생겼는데 역시 물어볼 만한 곳은 여기뿐이 없어서... ^^;
얼마전부터 웹페이지 접속때마다 Inciter agent라는 ActiveX 프로그램을
설치하라고 나와서 알아보니 학교 차원에서 보안을 위해 새로 도입한 프로그램이라고
하더군요. 게다가 사람들이 저 프로그램을 귀찮아서라도 설치하도록 하기 위해
인터넷을 통해 들어오는 매 웹 페이지마다 학교에서 아래처럼 frame을 만들어
ActiveX 설치 안내가 뜨도록 해 놓았습니다.

<HTML>
<frameset rows='*,0' border=0>
<frame src='http://www.google.co.kr?'>
<frame src='http://xx.xx.xx.xx:80/top_noticeX.asp'>
</fameset>
<HTML>

그런데, 위처럼 모든 페이지마다 무조건 프레임에 넣어 나타내다 보니
몇몇 웹 페이지가 제대로 보이지 않거나 페이지내의 스크립트가 작동하지않아 작업이
불가능한 경우가 생기더군요. 특히, 인터넷 뱅킹 사용중 문제가 생기는 경우가 많았습니다.

궁금한것은 학교측에서 페이지를 수정한것과 반대로 위의 HTML 코드를 제거할 수 없겠는가
하는 것입니다.
다행히도 제가 소속되어 있는 실험실은 별도의 LINUX 방화벽겸 NAT 서버 안쪽에 있어
그 서버 수준에서 작업이 가능하다면 저 외에도 모든 실험실 사람들이 혜택(?)을 볼 수 있을것
같습니다.

사족) 저런 꼼수 너무 싫습니다.

익명사용자의 이미지

그 사이트로 가는 packet을 iptable에서 drop하면 됩니다.

wariua의 이미지

사족을 미리 달아두자면... 저도 그런 꽁수 너무 싫어합니다-

일단 문제의 메시지를 띄우는 Inciter의 장비가 어떤 식으로 최초의 페이지 요청과 (그 요청에 대해서 보낸 가짜 HTML 페이지 내의 첫 번째 프레임 내에서 이뤄지는) 두 번째 페이지 요청을 구별하는지를 알아내야 합니다. 그 둘을 구별하지 못한다면 프레임이 무한히 반복될 테니, 필시 어떤 구별 방법이 있을 겁니다. 올려주신 소스에서 첫 번째 프레임의 src가 "<a href="http://www.google.co.kr" rel="nofollow">http://www.google.co.kr</a>?"이라고 되어있는 것이 눈에 띄는데, 오타가 아니라면 "URL의 마지막에 물음표(?) 문자가 있으면 그냥 통과"라는 식으로 동작하는 것일 수 있습니다. 주소창에서 그렇게 입력하고서 소스 확인을 해보면 확인하실 수 있겠구요... (하지만 오타일 것 같군요 :) )

그게 아니라면, 첫 번째 페이지 요청에는 공지를 하는 가짜 HTML 페이지로 응답을 해준 후 일정 시간 내에 같은 페이지에 대한 요청이 날아오면 그 페이지는 그냥 통과시키는 방법을 사용하는 것일 수 있습니다. Inciter인지 Outciter인지가 어떻게 구현되어 있는가에 달라지기는 하지만, 브라우저를 두 개 열고서 똑같은 주소를 연속으로 열게 했을 때 한 쪽에서는 공지용 페이지가 나오지 않고 바로 원래의 페이지가 나온다면 이 경우라고 할 수 있습니다. 이런 경우라면... 글쎄요, 별로 답이 안 나오네요. 모든 페이지마다 새로고침을 해줄 수도 없고... :)

어쩌면 문제를 학교의 전산 담당 부서에 알리고 수정을 요청하는 방법이 정석일 수도 있겠습니다.
----
$PWD `date`

$PWD `date`

alfalf의 이미지

깔끔하진 않지만 일단 문제는 해결했습니다.
wariua님께서 지적해주신 바와 같이 주소뒤에 ?를 가지고 통과시킬 페이지 여부를 확인하더군요.
일단은 주소창에 주소 입력시 ?를 함께 넣는것으로 무사 통과되는것을 확인했는데 내일 담당자가 오면
다른 페이지에서 물려 올라오는 형태의 인터넷 뱅킹에서도 작동하는지 확인해 봐야 겠습니다.
문제해결에 도움을 주신 wariua님과 관심을 보여주신 익명 사용자분께 감사드립니다.

익명 사용자의 이미지

저도 이 문제로 골치아픈데요.
혹시, 학교측에서 개인들의 피시를 검열하거나, 정보를 빼가거나 하지는 않는지요?
그리고, 이 부분은 학교측 아이피를 사용한다면 피해나갈수는 없을듯 합니다.
이것때문에 여러사이트가 접속이 안되어서 참 골치아픕니다.
다행히도 크롬으로는 접속이 되네요 ㅠ.ㅠ

dgkim의 이미지

아마도, https 접속을 사용하는 사이트는 당연히 무사 통과일 것입니다.

즉, 보안이라는 이름으로 악성코드를 삽입하고자 시도해보지만, https는 어쩔 수 없지요.

저는 두 가지 방식을 사용하여 회피합니다.

1. proxy 서버 구성.
위 악성코드의 경우, 배포를 일반 브라우저(IE겠지요?)의 http:80접속이라는 한정된 환경에서 동작합니다.
브라우저에서 인터넷으로 바로 http:80을 접속하지 않고, proxy 서버로 접속을 하면,
해당 코드에 탐지되지 않고 무사 통과할 수 있습니다.
http를 통한 인터넷 접속을 proxy라는 대리 서버를 통해 요청하는 방법입니다.

2. vpn 구성.
이 방법은 일반적으로 외부 장비가 있을 경우 유효한 방법입니다.
vpn을 사용한다라고하면, 사용자 PC에서 모든 통신을 vpn을 통하여 사용하는 방식입니다.
해당 조직의 네트워크 입장에서는 PC는 vpn서버와의 통신만 탐지가 되며,
PC에서 인터넷을 사용하면, 통신 전체를 vpn에 위임하여 통신한다고 볼 수 있습니다.

----

일반적인 http 통신은 vpn 접속 + 프록시 설정을 통해 인터넷을 사용합니다.
https 통신은 프록시를 사용하지 않습니다. 물론, 악성코드에게는 노출되지 않습니다.
추가로, 내부 통신망을 회피할 필요가 있는 경우, vpn으로 route설정하여 사용합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.