시스템이야기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 좋은진호
시스템이야기2007. 5. 20. 23:27
1. sshfs와 FUSE 개요

얼마전에 'Redhat Enterprise Linux securely mount remote Linux / UNIX directory or file system using SSHFS' 제목의 글을 봤다.
예전에도 sshfs에 대한 글들은 봤으나 사용은 해보지 않다가 scp로 파일 복사를 자주 해야했던 최근 일을 떠올렸다. 좀 더 편하고 나은 방법이 있는데, 굳이 돌아갈 필요가 뭐가 있겠는가. 일상적인 사용을 위해 하나씩 살펴보았다.

ssh를 통해 원격지 파일시스템을 로컬에 마운트하는 sshfs를 사용하기 위해서는 먼저 FUSE가 필요하다.
FUSE(Filesystem in Userspace)은 커널이 아닌 유저공간에서 구현할 수 있는 파일시스템으로 Linux, FreeBSD, Max OSX(MaxFUSE라고 부릅니다.)에서 사용할 수 있다. 이들 OS에서는 FUSE 기반의 다양한 파일시스템을 맛 볼 수 있다.

- 지금 소개하는 sshfs를 비롯하여,
- 리눅스에서 NTFS파일시스템을 사용하기 위한 ntfsmount,
- 리눅스에서 NTFS파일시스템을 읽고 쓸수 있는 Captive NTFS,
  ( Captive NTFS에 대해서는 2003년 11월에 '리눅스에서 NTFS 파일시스템 읽고 쓰기'란 제목의 글을 써둔게 있으니 참고하기 바란다. )
- NTFS파일시스템을 읽고 쓰는 또다른 드라이버인 NTFS-3G,
- BitTorrent 의 파일형식인 .torrent 를 파일시스템으로 마운트하는 BitTorrent File System,
- 오픈솔라리스의 ZFS 파일시스템을 리눅스에서 사용하기 위한 ZFS on FUSE, ( 'Google Summer of Code 2006'의 결과물 중 하나 )
- Gmail을 파일시스템처럼 사용하는 GmailFS

등 FUSE로 인해 파일시스템의 확장은 벽이 없어졌다.
FUSE는 현재 리눅서 커널 2.6.14 이상에 공식적으로 포함되어 있지만, 리눅스 2.6.14이상을 쓰지 않아도 된다. 커널에 포함이 안되어 있을 뿐 FUSE 받아서 설치하면 되니깐.

2. FUSE와 sshfs 설치

FUSE와 sshfs 설치는 너무 쉬우니 간단히 설명한다.

http://fuse.sourceforge.net/ 에서 FUSE 소스를 받는다.
리눅스 커널 2.6.9 이상인 경우는 FUSE 2.6.X 버전을 받고, 커널 2.6.9보다 낮고 2.4.21보다 높으면 FUSE 2.5.x 버전을 받으면 된다.

./configure
make
make install

그리고, /etc/ld.so.conf 에 /usr/local/lib 를 넣고 ldconfig 명령을 내려준다.

sshfs를 설치해보자. sshfs 홈( http://fuse.sourceforge.net/sshfs.html )에서 소스를 받는다.

./configure
make
make install

3. sshfs로 마운트하기

sshfs 명령 사용은 간단하다. ssh와 scp 명령과 비슷하다. 다음 명령을 보면 접속할 서버명과 마운트할 포인트만 지정해주면 끝난다.

$ sshfs truefeel@coffeenix: /home/truefeel/mount/master/
Password: <-- ssh 암호 입력

사용 완료했으면 unmount를 해보자. unmount는 fusermount 명령 또는 umount 명령으로 할 수 있다.

$ fusermount -u /home/truefeel/mount/master/

자세한 글은 http://coffeenix.net/board_view.php?bd_code=1491 에 올려놓았다. (너무 딱딱해지는 블로그가 싫어요. ^^)
Posted by 좋은진호
시스템이야기2007. 5. 3. 20:44
IANA(Internet Assigned Numbers Authority)에서는 나중에 사용하기 위해 예약해둔 IP 대역들이 있다.
이런 예약된 IP대역은 실제로는 존재하지 않는 IP이기 때문에 방화벽이나 스위치장비 등에서 위조된 IP를 막기 위한 목적으로 제한하는 경우가 있다. 그런데, 예약된 IP대역이 실제 사용할 수 있는 IP대역으로 할당이 변경된 경우는 어떻게 될까? 이 때 방화벽에서 그 IP대역을 풀어주지 않을 경우 정상 사용자가 차단될 수 있다.

이 IP 목록은 IANA 홈페이지( http://www.iana.org/ ) -> IP Address Services -> Internet Protocol v4 Address Space 를 통해서 살펴볼 수 있다.
http://www.iana.org/assignments/ipv4-address-space

사용자 삽입 이미지


최신 업데이트 날짜가 2007년 4월 9일이다. 그리고, 아래를 살펴보면 'IANA - Reserved'라고 보인다. 이는 아직 할당되지 않은 IP대역이다. 112/8 이면 112.0.0.0/8 을 의미한다.

사용자 삽입 이미지


좀더 아래를 보자. '117/8 Jan 07 APNIC (whois.apnic.net)'는 2007년 1월에 117.0.0.0/8 대역이 APNIC(아태 NIC)에 할당됐음을 의미한다. whois를 살펴보면 최종 변경일이 1월 17일이다.

$ whois 117.0.0.0@whois.apnic.net
[Querying whois.apnic.net]
[whois.apnic.net]
% [whois.apnic.net node-1]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

inetnum:      116.0.0.0 - 119.255.255.255
netname:      APNIC-AP
descr:        Asia Pacific Network Information Center, Pty. Ltd.
descr:        Regional Internet Registry for the Asia-Pacific Region
descr:        Level 1 - 33 Park Road.
descr:        PO Box 2131
descr:        Milton QLD 4064
descr:        Australia
country:      AU
admin-c:      HM20-AP
tech-c:       NO4-AP
remarks:      Unresolved Spam complaints to Auto-responder spam@apnic.net.
remarks:      Unresolved Network Abuse issues to Auto-responder
remarks:      abuse@apnic.net.
mnt-by:       APNIC-HM
mnt-lower:    APNIC-HM
status:       ALLOCATED PORTABLE
changed:      hm-changed@apnic.net 20070117
source:       APNIC


잊지말자. 예약된(Reserved) IP대역을 방화벽에 차단을 해뒀다면 수시로 'IPv4 Address Space'페이지를 살펴서 추가로 할당된 IP대역이 있는지를...

Posted by 좋은진호
시스템이야기2007. 4. 24. 22:49
* 분석 기간 : 2007.4.14(토) 04:00 ~ 4.24(화) 04:00 (10일간)
* 분석 방법 : - 메일로그를 활용
              - ClamAV 안티바이러스툴을 이용하여 메일이 필터링된 기준
               (따라서 필터링안된 웜메일은 분석자료에 포함하지 않음)
* 웜메일 건수 : 15,477건 (1일 평균 1,548건)

올해들어 4번째 분석결과이다. 연말까지 꾸준히 분석할 수 있기를 바라며 또 한번 분석해보자.
4월의 웜·바이러스 메일 건수는 지난달의 17,854건에 비해 약 14%가 감소했다.
웜별로는 Bagz웜, Bagle웜의 강세는 여전하다. Bagz웜은 지난달 23.95%에서 4월에 무려 49.82%로 사과의 반토막을 혼자 잘라 먹어버렸다. Bagle웜은 지난달 34.83%에서 34.89%로 비슷한 수준으로 여전히 강자의 자리를 차지하고 있다. 그 뒤로 SomeFool웜이 6.46%, Mytob웜이 3.53%를 차지한다.

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

사용자 삽입 이미지

사용자 삽입 이미지

Posted by 좋은진호
시스템이야기2007. 4. 22. 16:53
The Perfect Setup - CentOS 5.0 (32-bit)
http://www.howtoforge.com/perfect_setup_centos5.0

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

원 제목은 CentOS 5.0 설치인데, OS 인스톨과정 정도만 CentOS 5.0 화면입니다.
나머지 부분은 웹, DB 등의 보편적인 서버 구축 환경을 만드는 과정을 써 놓은 거네요.

    * Web Server: Apache 2.2 with PHP 5.1.6
    * Database Server: MySQL 5.0
    * Mail Server: Postfix
    * DNS Server: BIND9 (chrooted)
    * FTP Server: Proftpd
    * POP3/IMAP server: Dovecot
    * Webalizer for web site statistics

- IP설정과 IP alias 설정
- quota설정
- Postfix메일서버와 Dovecot POP3서버에 대한 설정
- 그리고 vsftpd 대신에 proftpd를 설치하는 방법(개인적으로는 vsftpd를 선호) 등을 설명하고 있습니다.

서버를 잘 다루시는 분이 쓰~윽 살펴보면 아~ 내용없구나 할 겁니다.
대신 처음 운영하는 분에게는 길잡이가 되겠네요.

Posted by 좋은진호
시스템이야기2007. 4. 15. 20:20
Bandwidth Monitoring Tools For Linux
http://www.ubuntugeek.com/bandwidth-monitoring-tools-for-linux.html

너무나도 잘 정리되어 있어서 따로 꺼낼 필요도 없을 듯 싶다.

- CUI(IPTraf, Iperf, tcpflow, vnstat, pktstat, ifstat, ibmonitor, nload, ...)
- GUI(EtherApe, GKrellM, netspeed, ...),
- 웹용(bandwidthd, kernel.org에서 사용하는 bwbar, ntop, ...) 등과
- 통합 모니터링툴인 Cacti, NetMRG, ...
Posted by 좋은진호
시스템이야기2007. 4. 4. 12:20
Netcraft의 2007년4 월 웹서버 통계에 아파치가 약 6689만 site(58.86%), MS의 IIS가 3538만 site(31.13%)로 그 비율 변화는 거의 없어 이부분에 대해서는 따로 언급할 게 없다. 통계표를 살펴보자.
 
사용자 삽입 이미지
이미지 출처 : Netcraft

Top Developers
 
Developer       March 2007      Percent April 2007      Percent Change
Apache          64747516        58.62   66899485        58.86   0.24
Microsoft       34265321        31.02   35380121        31.13   0.11
Sun             1851269         1.68    1907610         1.68    0.00
lighttpd        1399786         1.27    1382843         1.22    -0.05
Zeus            525405          0.48    488838          0.43    -0.05
 
Netcraft에서는 이번달부터 공식적으로 정적인 데이터 서비스에 특히 고성능을 발휘하는 lighttpd 웹서버를 통계발표( 웹서버별 총 목록( http://survey.netcraft.com/Reports/0703/byserver/index.html )을 통해서는 다양한 서버 통계를 예전부터 제공하고 있었으며, 발표에 포함하기는 처음)에 추가했다. 통계발표에 포 함됐다는 것은 lighttpd 웹서버가 성장했다는 것을 의미한다. 요즘에는 루비온레일즈(RoR)환경으로 lighttpd+FCGI나 lighttpd+Pound+Mongrel을 사용하기도 한다. 이번달에는 138만 site에 1.22%를 차지해서 Zeus의 48만 site를 멀치감치 제쳤고, Sun의 190만 사이트를 바짝 쫓고 있는 형태이다.
 
Netcraft의 발표자료를 보면 SourceForge(sf.net, 1.4.13), 소셜 미디어 허브 사이트 Reddit(reddit.com, 1.4.13), 웹메신저 Meebo(meebo.com), 그리고 YouTube(youtube.com), Wikipedia(wikipedia.org, upload.wikimedia.org) 등에서 주서버 또는 부분적으로 사용하고 있다. 이외에 Mininova(mininova.org), sendspace(sendspace.com), zSHARE(zshare.net) 등에서도 사용하고 있다. 국내에서는 file.sayclub.co.kr, md.egloos.com (이글루스는 spy님께서 알려주셨습니다.) 등에서 사용하고 있다. lighttpd 웹서버를 사용하는 사이트는 http://trac.lighttpd.net/trac/wiki/PoweredByLighttpd 에서 확인할 수 있다.
 
[ 관련글 ]
 
* 2006.12월 웹서버 통계 (netcraft)
* 2005.10 현재 웹서버점유율 (netcraft)
* 2003년은 아파치의 해였다.

Posted by 좋은진호
시스템이야기2007. 3. 26. 12:21
지난 2월 분석결과에 이어 3월의 10일간 로그를 분석했다.
 
* 분석 기간 : 2007.3.14(수) 04:00 ~ 3.24(토) 04:00 (10일간)
* 분석 방법 : - 메일로그를 활용
              - ClamAV 안티바이러스툴을 이용하여 메일이 필터링된 기준
               (따라서 필터링안된 웜메일은 분석자료에 포함하지 않음)
* 웜메일 건수 : 17,854건 (1일 평균 1,785건)
 
2월에는 Bagle웜이 40.28%, Bagz웜이 35.01%, SomeFool웜이 7.08%로 Bagz웜의 활약(?)이 돋보였으며, 이번달에는 Bagle웜이 34.83%, Bagz웜이 23.95%로 여전히 꾸준한 모습이고 Virut.A가 21.51%로 눈에 띄는 증가를 보였다. 시간대별로는 오후 4시 이후부터 매시간 5%이상의 비율을 차지했으며, 특히 11시대에는 무려 8.17%나 됐다. 연속 3달간의 통계를 살펴보니 흥미롭게도 1월 10일간 건 18,719건, 2월 10일간 18,396건, 그리고 이번달에 17,854건 등 건수 변화가 많지 않고 꾸준히 웜·바이러스 메일을 들어오고 있음을 확인할 수 있다. 영화 '누가 그녀와 잤을까'에서 '6.25가 왜 일어났는지 아세요? 방심해서요.'라는 대화가 생각난다. 웜·바이러스가 꾸준히 활동하고 있으니 늘 조심하라.
 
자세한 것은 웜메일 건수와 주요 웜별 건수 분석 (2007년 3월) 을 살펴보기 바란다.

사용자 삽입 이미지

사용자 삽입 이미지

Posted by 좋은진호
시스템이야기2007. 3. 19. 18:08
올해로 3회째인 정보보호 안전진단의 수검주기가 12월말일까지로 연장되었습니다.
 
-변경前 : 매년 7월30일부터 다음해 7월29일까지
-변경後 : 매년 1월1일부터 당해 12월31일까지
 (변경된 수검주기는 금년도 안전진단부터 적용됩니다.)
 
정보보호 안전진단 수검대상업체는 다음과 같습니다.
 
- 년매출 100억 이상
- 3개월간 평균 1일 방문자 100만명 이상
- ISP, IDC, VIDC, PG사, .... 등
 
KISA에서는 1월말에 해당업체에 공문을 발송했으며, KISA측에서는 공문을 받지 않더라도 위 사항에 해당된다면 받으라고 하지만, 업체에서 스스로 나서서 받을려고 하겠습니까... 그리고, 기간 연장건에 대해서는 3월 9일(금)에 있었던 '정보보호안전진단 설명회'에서 건의되었고, 그 때 답변으로는 개정 준비중이라고 하더니, 그 이전에 거의 완료된 모양입니다.
 
수검주기 변경에 대한 기사도 나왔으니 살펴보세요.
 
* 정보보호 안전진단 주기 변경 (전자신문, 2007.3.15)

Posted by 좋은진호
시스템이야기2007. 3. 16. 12:49
사용자 삽입 이미지
레드햇 RHEL5가 예상보다는 2주정도 늦게 15일(어제) 출시되었습니다.
CentOS 는 beta2(RHEL 4.92) 버전까지만 나온 상태입니다.
http://lists.centos.org/pipermail/centos-announce/2007-March/013617.html
hanirc의 #coffeenix방의 티니님이 CentOS 4.92테스트를 해보셨는데, 4버전에 비해 가벼워졌다고 합니다. 제가 제일 기대하는 건 Xen 입니다.

http://www.redhat.com/rhel/
http://www.redhat.com/rhel/features/

Kernel and Performance
    * Based on the Linux 2.6.18 kernel
    * Support for multi-core processors
    * Broad range of new hardware support
    * Updated crash dump capability provided by Kexec/Kdump
    * Support for Intel Network Accelerator Technology (IOAT)
    * Numerous enhancements for large SMP systems
    * Enhanced pipe buffering
    * IPv4/IPv6 fragmentation offload and buffer management
    * Dynamically switchable per-queue I/O schedulers
    * Kernel buffer splice capability for improved I/O buffer operations

관련기사 : 머니투데이, http://news.empas.com/show.tsp/cp_mt/20070315n10898/

오픈 소스 및 리눅스 제공기업인 레드햇은 15일 아태지역 본부가 있는 싱가포르에서 기자회견을 열고 새로운 기업용 버전인 ‘레드햇 엔터프라이즈 리눅스 5(RHEL5)’를 공식 출시했다.

‘레드햇 엔터프라이즈 리눅스 5(RHEL5)’는 최첨단 오픈소스 기술로 2년간 개발돼왔고 지난해 베타2 버전을 공개한 바 있다.

Posted by 좋은진호