IT이야기2007. 6. 24. 02:39
1. WebappsCon 간단히 정리하면

WebappsCon(웹 어플리케이션 컨퍼런스) 의 프로그램 내용을 딱 한단어로 정의하면 'open'이다. open mind, OpenID, Open Source, Open API, OpenLaszlo, ...

한줄로 적어보자. '공개하면 강해진다. 심플하지만 강하다. 함께하자.'
우리가 삶에서 느꼈던 나눔의 정신(Open Source, OpenID, Open API), 상대를 위한 배려하는 마음(Open API도 쉽도록 만들어주는 배려다라고 본다)이 웹으로 점점 퍼져가고 있다고 느끼지 않는가? 인터넷, 그 것도 사람이 이용하는 것이다. 인터넷의 기술변화는 사람의 삶을 하나씩 인터넷으로 옮겨가는 방향이다. '삶=인터넷'이라는 공식처럼.

발표 내용 중 떠오르는 것은 이런 것들

- 다음, 네이버, Flickr, 아마존의 Open API 사용
- Adobe를 견제(?)하기 위한 MS의 Silverlight
  (아직 1.0beta 상태. javascript로 개발. 1.1은 C#, python, ruby로도 개발 가능)
- 데스크탑 환경을 위한 Adobe의 AIR(우연찮게도 RIA의 반대로 쓰면 AIR다.)
- AJAX로 강화된 한메일 Express을 준비중 (탭기능(탭브라우저 처럼), 단축키, ...)

WebappsCon 발표 자료는 http://webappscon.com/Speaker/Presentation 에서 받을 수 있다.

2. Keynote

국내에 인터넷 개통은 82년. 국내 첫 상용서비스는 94년. 내가 인터넷과 리눅스를 사용한 것은 94년. 인터넷을 알고 있던 것은 93년.

82년 인터넷을 도입하고, 90년대에 리눅스를 국내에 전파한 전길남 박사님과 94년 첫 상용서비스를 시작한 허진호 박사님의 '한국인터넷 25년' keynote발표는 이날의 하일라이트다. 이 분들을 한자리에 모시고, 인터넷의 역사와 미래를 들을 수 있다는 건 꿈같은 일 아닌가.

가장 기억에 남는 말씀은...

- 90년대 까지 아시아는 인터넷 개발의 5%만 차지했으나,
  앞으로는 30%는 차지해야 한다. 우리 나라는 5%는 차지해야 한다.
- 이제 시작일 뿐이다.
- '5년만 살 것 아니라면 운동해라'는 말씀, 명심하겠습니다.

keynote 끝난 후 남아있는 100여명(100~200명쯤 되지 않았을까)의 참석자는 기립박수를 했다. 감동적이지 않는가?

3. 경쟁하지만 함께하는 재밌는 사례

- 다음 커뮤티케이션의 likejazz(박상길) 님은 다음 Open API로 개발한 검색페이지에 '네이버'를 검색어로 입력한다.
- 스폰서 카페에서는 야후 코리아의 정진호 님이 구글부스에 줄 서 있는 참석자들에게 야후의 선물을 나눠준다.
  별다른 이유 없다(?). 나눠주자는 것. 구글은 야후 코리아 부스에 귤을 나눠준다.
- 네이버의 양주일 님은 open API 발표시에 네이버 API보다 더 정성들여 아마존 API에 대해 설명한다.

마음을 열면 즐겁지 않는가. 마음을 열고, 알고 있는 지식은 과감히 공개하라. 지식은 점점 커진다.

4. 몇장의 사진들 (세미나 사진 아님)

사용자 삽입 이미지
[ flickr API (발표자료 공개한다고 해서, 찍다가 말았음) ]

사용자 삽입 이미지
[ Ahnlab 고슴도치 프로젝트팀 부스 ]

세미나 사진은 거의 안찍어서 flickr에서 webappscon 태그 로 살펴보는게 나을 것이다.
Posted by 좋은진호
IT이야기2007. 6. 17. 17:28
어제까지 안되었고, 오늘 언제부터인지는 모르지만, 16:00 현재 접속이 된다.

웹서버 정보를 보니 점검 때 Apache 1.3.31에서 점검 전인 Apache 1.3.33 으로 돌아왔다. 캐싱서버의 문제였는지 real서버의 문제였는지 알 수는 없으나 서버에 문제가 있었는 것 같다. 'X-Cache: MISS from www01.zdnet.co.kr' 정보를 보고 lookup을 해보니 서버는 www00.zdnet.co.kr ~ www03.zdnet.co.kr까지 최소 4대 이상으로 보인다.

$ HEAD www.zdnet.co.kr/
200 OK
Connection: close
Date: Sun, 17 Jun 2007 07:09:37 GMT
Server: Apache/1.3.33 (Unix)
Content-Type: text/html
Client-Date: Sun, 17 Jun 2007 07:08:37 GMT
Client-Response-Num: 1
Set-Cookie: UID=deleted; expires=Sat, 17 Jun 2006 07:09:36 GMT; path=/; domain=zdnet.co.kr
Set-Cookie: SESSION_ID=deleted; expires=Sat, 17 Jun 2006 07:09:36 GMT; path=/; domain=zdnet.co.kr
X-Cache: MISS from www01.zdnet.co.kr

장애에 대한 공지사항은 없다. 장애시 점검 페이지 딸랑 하나 뜬 것도 ZDNet 사이트의 인지도에 비해서는 너무 초라하지 않는가. 무사 귀환한 것을 다행으로 생각하지만 네티즌들에 대한 세심한 배려가 필요하다.
Posted by 좋은진호
IT이야기2007. 6. 16. 02:46
* 분석 기간 : 2007.5.18(금) 04:00 ~ 5.28(월) 04:00 (10일간)
* 분석 방법 : - 메일로그를 활용
              - ClamAV 안티바이러스툴을 이용하여 메일이 필터링된 기준
               (따라서 필터링안된 웜메일은 분석자료에 포함하지 않음)
* 웜메일 건수 : 32,395건 (1일 평균 3,239건)

이번달은 로그를 따로 보관하지 않아 메일로그 기간이 지난달보다 며칠 늦었다. 앞으로는 해당월의 2주간 또는 4주간을 분석하고, 더 나아가 해당월 전체 메일을 통해 분석 결과를 담워볼 생각이다.
5월의 웜·바이러스 메일 건수는 지난달의 15,477건에 비해 무려 109%가 증가했다. 이런 증가의 원인은 24,987건으로 77.13% 차지한 Bagz웜이다. 그 뒤에 14.21%의 Bagle웜이고, 이 둘이 90%이상 독식하고 있다. 이 숫자는 한국의 검색시장의 비율을 보는 것 같다. (참고 : http://pds4.egloos.com/pds/200706/11/30/a0000030_02065174.jpg ). 그 뒤로 SomeFool, Mytob 등으로 순위는 지난달과 같다.

자세한 것은 웜메일 건수와 주요 웜별 건수 분석 (2007년 5월) 을 살펴보기 바란다.

사용자 삽입 이미지

사용자 삽입 이미지

Posted by 좋은진호
IT이야기2007. 6. 14. 16:35
사용자 삽입 이미지
어제도 점검 페이지가 떴는데 현재까지도 점검중이라고 나온다. 시스템적으로 문제가 생겼을 가능성도 있어 웹서버 종류와 DNS정보를 메모해둔다.

[ 웹서버 종류 ]

$ HEAD www.zdnet.co.kr/
200 OK
Connection: close
Date: Thu, 14 Jun 2007 06:11:30 GMT
Server: Apache/1.3.31 (Unix) mod_gzip/1.3.26.1a
Content-Type: text/html
Client-Date: Thu, 14 Jun 2007 06:10:45 GMT
Client-Response-Num: 1

[ DNS 정보 ]

;; ANSWER SECTION:
www.zdnet.co.kr.        36388   IN      CNAME   zdnet.co.kr.
zdnet.co.kr.            36288   IN      A       211.111.220.200

;; AUTHORITY SECTION:
zdnet.co.kr.            29252   IN      NS      ns1.intellicenter.co.kr.
zdnet.co.kr.            29252   IN      NS      ns2.intellicenter.co.kr.

netcraft에서 www.zdnet.co.kr 을 조회해보니 최근 업데이트된 서버 정보에 Apache 1.3.31로 바뀌어 있다. 그 이전에 1.3.33이었는데, apache 버전을 굳이 낮출 이유가 없다. 임시로 서버를 투입(?)했을 수도 있다.

사용자 삽입 이미지

어떤 이유던간에 빨리 복구되어 질좋은 정보를 다시 접할 수 있기를 바란다.

Posted by 좋은진호
시스템이야기2007. 6. 11. 22:18
ModSecurity 는 아파치(apache)에서 사용하는 대표적인 웹방화벽 모듈이다. 아파치에 모듈을 설치하고, 룰(Rule) 설정을 통해 설정한 조건에 맞는 경우 차단을 할 수 있다. modsecurity 2.x 을 기준으로한 간단한 예이다.

- 웹서버명을 숨기거나 속인다.

SecServerSignature "lighttpd"

- 특정 메소드의 사용만 허용한다. (POST, GET, OPTIONS, HEAD 메소드만 허용)

SecRule REQUEST_METHOD "!^((?:(?:POS|GE)T|OPTIONS|HEAD))$" \
    "phase:1,log,auditlog,status:501,msg:'Method is not allowed by policy', severity:'2',,id:'960032',"

- 요청한 HTTP 프로토콜 버전이 1.0, 1.1이 아닐 경우 차단한다.

SecRule REQUEST_PROTOCOL "!^HTTP/(1\.[01])$" \
    "t:none, deny,log,auditlog,status:505,msg:'HTTP protocol version is not allowed by policy', severity:'2',,id:'960034',"

- GET, HEAD 메소드는 Content-Length가 0이 아닌 경우는 차단하고, POST는 Content-Length header가 없으면 차단한다.

SecRule REQUEST_METHOD "^(GET|HEAD)$" "chain,deny,log,auditlog,status:400,msg:'GET or HEAD requests with bodies', severity:'2',,id:'960011',"
SecRule REQUEST_HEADERS:Content-Length "!^0?$"

SecRule REQUEST_METHOD "^POST$" "chain,deny,log,auditlog,status:400,msg:'POST request must have a Content-Length header',,id:'960012',severity:'4'"
SecRule &REQUEST_HEADERS:Content-Length "@eq 0"

오픈소스 IDS인 snort에 기본 룰을 제공하는 것처럼 ModSecurity 에서도 modsecurity-core-rules 이름으로 룰 파일을 제공하고 있으니 참고하기 바란다. 룰에 대해서는 이만하고 원래 꺼내려한 얘기거리로 들어가자.

이런 룰 설정을 웹페이지를 통해서 할 수 있는 REMO(Rule Editor for ModSecurity) beta버전을 6월에 발표했고, Howtoforge에 Introducing Remo - An Easy Way to Secure an Insecure Online Application with ModSecurity 제목으로 REMO 다루는 방법에 대한 글이 올라왔다. 자세한 글은 Howtoforge에 글을 보시고, 간단하게 설명하면 이렇다.

REMO를 사용하기 위해서는 ruby 1.8.2이상, irb, sqlite3-ruby 환경이 필요하다. 또한 ModSecurity 모듈이 설치되지 않은 테스트나 개발 서버, 개인 PC 등에 설치해도 무관하다. 다음과 같이 실행한 후 http://서버:3000/main/index 로 접속하면 설정화면을 볼 수 있다.

wget http://remo.netnea.com/files/remo-0.2.0.tar.gz
tar xvzf remo-0.2.0.tar.gz
cd remo-0.2.0
ruby script/server

사용자 삽입 이미지
[ 이미지 출처 : 위 howtoforge URL ]

REMO화면에서 메소드와 URI등을 새로 입력한 다음, 원하는 조건을 정의한다. 그 후 'generate' 버튼을 누르면 파일로 룰셋 파일을 다운로드 받을 수 있다. 받은 룰셋을 다음과 같이 apache 설정에서 include해주면 된다.

<IfModule mod_security2.c>
    Include /파일경로/rulefile.conf
</IfModule>

REMO툴은 ModSecurity 룰 생성의 모든 것을 제공해주지는 않는다. modsecurity-core-rules 룰 파일을 보면 룰 설정이 쉽지않다는 것을 알 수 있다. 이 툴은 이런 복잡한 룰을 보고 고개를 설레설레 젓지 않도록 보조적인 역할을 하는 툴로 여기면 된다.
Posted by 좋은진호