BLOG main image
분류 전체보기 (116)
일상 (28)
IT이야기 (61)
시스템이야기 (27)
VM 없는 맥 생활
Forest : Behind everywhere
네트워크 트래픽을 줄이자, Apac..
지돌스타 블로그
뉘른베르크
Die Freiheit
[트랙백] 중국 정부기관 사이트..
::: Unknown Dragon :::
광고에만 타케팅이냐? '보이스..
순디자인기술지원센터
177877 Visitors up to today!
Today 117 hit, Yesterday 144 hit
daisy rss
한RSS에 추가
tistory 티스토리 가입하기!
'2008/01'에 해당되는 글 7건
2008/01/28 21:44
Asus의 초소형, 초저가 노트북인 Eee PC 701에서 FreeBSD를 돌리기 위해, 약간의 수정이 가해진 BSD를 EeeBSD 라고 부른다. Eee PC가 무엇인지는 '한국은 Eee PC 최적 시장, 연내 30만대 목표'  기사를 참고하면 될 것이다.

국내에는 'E월 ee일' 발매된다. ^^ 바로 다음달 22일이다. Eee PC 701의 사양은 다음과 같다.

- 7인치 화면 (800X480)
- 인텔 모바일 펜티엄 CPU
- 10/100M 랜, WiFi 802.11b/g
- 512MB DDR2-400 메모리
- 4GB / 8GB SSD 디스크 채택
- 웹캠
- 0.92kg
- Windows XP Home 버전

사용자 삽입 이미지
[ 이미지 출처 : http://eeepc.asus.com/ ]

이 초소형 노트북에 FreeBSD 7.0-Beta3 를 설치하는데 몇가지 문제가 있다. 이에 대한 해결책을 http://nighthack.org/wiki/EeeBSD 에서 'EeeBSD'이름으로 적어뒀다. Eee PC는 4GB또는 8GB의 작은 용량의 디스크이므로 통파티션으로 사용하기를 권장한다. 또한 디스크가 SSD(Solid State Drives)이니 Swap 파티션을 만드는 것을 권장하지 않는다. 설치시 권장하는 것, 설치후에 네트웍잡는 법, X11, sound 인식 등에 대한 글이 적혀있다.

Eee PC를 구매하고 싶다는 생각은 들지 않으나, 한 대 있으면 좋겠다는 생각이 든다. 특히 세미나 갈 때 좋을 것 같다. 12.1인치 크기와 1kg 초반의 회사 노트북이 있는데, 들고 다니는게 부담스럽다. 그래서 들고 다는 경우가 드물다. ^^

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/86
Name
Password
Homepage
Secret
2008/01/26 03:10
라드웨어에서 준비한 '2008 Radware DDoS 보안 세미나'에 갔다왔다. 평점을 주면 5점만점에 3점 정도. 사례중심의 발표를 기대했지만, 보편적인 내용으로 흘러갔다. 저와 함께 참석했던 커피닉스( http://coffeenix.net/ )의 나머지 다섯분도 같은 의견이다.

생각난김에 DDoS 공격 유형따라 막을 수 있는지 여부를 정리했다.

국내 DDoS공격이 곳곳에서 터지기 시작한 2007년 초반에만 하더라도, DDoS공격을 막을 수 있느냐, 없느냐의 논의가 몇몇 커뮤니티에서 있었다. 그러나 요즘은 막을 수 없는 공격이 주를 이룬다는 것을 잘 알고 있다.

결론적으로는 회선 대역폭을 공격량보다 많이 확보( 보유한 회선 > 공격량 )해야 공격의 주를 이루는 UDP, ICMP flooding 공격을 버텨낼 수 있는 최소한의 조건을 만족한다. 이 때 네트웍장비의 CPU load 가 낮아야만, 사용자는 불편함없이 서비스를 이용하게 될 것이다. 10G, 20G 이상의 공격량이 많을 경우엔, 다른 고객사에게 피해를 주거나 연동망 장애를 가져올 수 있다. 이럴 경우 IDC나 ISP에서 먼저 차단할 것이다. 즉, 서비스 업체의 인프라만으로는 서비스의 완벽보장은 이뤄내기 힘들다.

UDP, ICMP이외에 공격 유형에 따라, 시스템(네트웍, 서버, 보안장비) 인프라가 되면 막을 수 있는 유형도 있다. Radware 세미나에서 제시한 공격유형 6가지 정도를 갖고 살펴보도록 하겠다.

사용자 삽입 이미지

1. HTTP Flood

  웹페이지를 과다하게 호출하여 서버의 load가 높아지거나 처리가능한 커넥션수를 초과하게 만드는 공격이다.
  '웹페이지 과다 호출 방식의 DDoS공격 사례' (글 좋은진호, 2008.1.23)를 참고하기 바란다.
  IPS, L4스위치의 성능, 웹서버의 설정을 통해서 막아 낼 수 있다.

  1) IPS없고, L4스위치도 없다면.
      몇대 안되는 웹서버를 로드밸런싱하고 있는데, 다량의 공격(세션이 몇만이상)이라면 서버 load가 높아져 서비스가 불가능할 것이다.
  2) IPS없고, 성능 좋은 L4스위치. 그리고 몇 십대의 웹서버를 L4에 물려 서비스 한다면.
      이 때는 '웹페이지 과다 호출 방식의 DDoS공격 사례'에 써진 것처럼 막아 낼 수 있는 방법을 찾을 수 있다.
      그러나 몇 십대에 분산되어 서버가 다 받아드리더라도, 세션이 몇만~몇십만의 공격일 때 L4의 처리한계로 서비스가 느려질 수 있다.
  3) IPS있다면, 웹서버의 설정까지 조합해서 가능

2. SYN Flood, TCP Flag Flood, Half-Open Flood

  방화벽, L4스위치(SYN proxy기능을 갖는 L4. 그러나 SYN proxy기능을 이용하려면 DSR구성 방식은 불가능함), IPS등으로 막아낼 수 있다.

3. UDP Flood, ICMP Flood

  초기에 얘기했던 것처럼 공격량보다 많은 회선을 확보하지 못하면 어떠한 장비를 도입하더라도 막아낼 수 없다.  본인의 백본보다 상위단의 백본을 관리하는 곳(IDC, 호스팅 등)에 요청하여 dest. IP를 차단해달라고 요청해야할 것이다.

  작년 초에는 방화벽, ISP의 장비 업체의 실력있는 엔지니어들도 '우리 장비는 막을 수 있을 것 같다.'라고 얘기하는 경우도 있었다. UDP는 포트가 오픈되어 있지 않더라도 백본까지는 UDP 트래픽이 들어온다는 것(백본에서 UDP를 막았을 때)을 알면서도 저렇게 생각하고 있는 경우가 있었다. 요즘은 국내의 DDoS공격이 주위 사람에게만 뒤져봐도 흔하게 일어나는 안타까운 현실 때문에, 업체에서도 저런 얘기를 하는 경우는 줄었을 것이다.

  참고로 UDP는 주로 80포트와 53(DNS) 포트로 공격하지만 이외에 1024이하의 임의로 포트로 공격하는 경우도 있다.

DDoS 대응 장비로 거론되는 것은 다음 3가지 정도일 것이다.

1. 시스코의 Guard & Detector
   - 대규모 사이트에서 위의 2~3번 유형 대처할 때 적합
   - 초기 훈련을 통해 평상시의 트래픽을 인지하는 방식이라서 1번의 유형을 대처할 수도 있다.
      확인해본 적이 없어서 ^^
   - 1G 장비
   - 어플라이언스 제품과 Catalyst 6500시리지의 모듈형이 있다.
2. 라드웨어의 DefensePro(DP)
   - 대규모 사이트에서 1~3번 유형 대처할 때 적합
   - DP6000의 경우 10G모듈이며, 5~6G정도 공격은 커버 가능
3. 기가핀네트웍스의 Slimline, Flowline
   - 소규모 사이트에서 2번 유형을 대처할 때 적합
   - 약간 두꺼운 책 한 권 크기 정도이며, 가격이 저렴하다.
   - 1G UDP모듈만 제공(역시 소규모 사이트를 위한 제품임을 알 수 있음)했으나
     최근에 Flowline 500-F를 통해 광모듈 지원 장비도 나왔다.

시스코장비나 라드웨어 장비가 3번 유형을 막아준다고 표시해뒀는데, 유해한 UDP를 필터로 걸러내고 하위로 보내준다는 의미이지 보유한 회선을 넘는 공격을 막아낸다는 의미는 아니다.

※ 위의 모든 내용은 공격유형의 이름만 세미나에서 뽑아왔을 뿐이지 세미나 내용과는 전혀 무관하다.

세미나 내용중 흥미있는 슬라이드 2장만 올린다.

사용자 삽입 이미지
[ 공격대상 사이트가 시기별로 차이가 있으며 다양하다는 것을 보여줌 ]

사용자 삽입 이미지
[ 공격하겠다는 메일 ]
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/85
BlogIcon 이정일 | 2008/01/26 16:44 | PERMALINK | EDIT/DEL | REPLY
아래 메일의 내용은 은근히 무섭네요.
협박도 아니고... 저정도면 범죄 아닌가요?
BlogIcon 좋은진호 | 2008/01/26 17:07 | PERMALINK | EDIT/DEL
예. 범죄 맞습니다. 인터넷상의 폭력조직이죠. ^^
나와바리(비표준어지만, 딱 어울리는 듯, Botnet)를 관리하면서,
자기는 뒷짐지고, 밑에 애들(좀비 PC)에게 '나가서 멋지게 한번 날리고 와라'라고 명령을 내리고 있습니다. 인터넷의 가치를 악용하는 범죄입니다.

공격 명령을 내린자를 잡기가 쉽지 않아서 문제죠. ^^
BlogIcon 유범용 | 2008/01/28 10:43 | PERMALINK | EDIT/DEL | REPLY
^^ 집안에 일도 있고, 업무 할것도 있어서 못 갔는데, 5점중 3점이라.. 약간 아쉬움 감이 있네요. 다른 분들은 모르지만, 저에게는 많은 도움이 될 듯 하기도 했을텐데 말입니다. 형~ 우리 못 본지 너무 되었어~~~!!
BlogIcon 좋은진호 | 2008/01/28 12:32 | PERMALINK | EDIT/DEL
400명이 넘게 참석했는데, 놀랍지? 사람들로 북적북적.
세미나를 통해서 새로 알게된 내용이 있지만, 긴 시간에 비해서는 너무 적은편이었고, 약간 지루한 세미나였지. 그러나, 만족스러운 것은 시간을 엄수했다는 것. 목소리가 또렷하니 잘 들렸다는 것... ^^


우린 언제 보나?? ㅋㅋ
홍종익 | 2008/01/30 17:03 | PERMALINK | EDIT/DEL | REPLY
아쉽네요. 직접 가볼껄.... 아무튼 저기 아래 메일내용은 정말 안하무인이군요.. 협박이라니..
BlogIcon 좋은진호 | 2008/01/31 08:32 | PERMALINK | EDIT/DEL
오셨으면 얼굴도 보고 좋았을건데, 아쉽네요.

저렇게 메일을 받고, 당한 업체는 얼마나 힘들까 싶습니다.
Name
Password
Homepage
Secret
2008/01/24 00:15
2주전에 정통부는 DDoS 공격 대응책 마련에 올해 20억원을 책정했다는 기사가 보도되었다. 20억이라는 금액은 누가 봐도 너무 적은 금액이라는 것을 알 것이다.
장비 몇대 또는 10여대면 끝날 금액으로 IX 3곳에 나누어 설치하는데, 이걸로 뭘할까 싶다.

20억 투자가 계획대로 진행되더라도, 구축체계 가동까지는 12월이다. 12월까지는 정부차원의 특별한 대응책('빨리 협조하여 대응한다'는 말뿐인 대응말고.)은 없어 보인다.

2 월 : 주요 ISP를 대상으로 사업설명회 (기사 외에도 KT관계자를 통해서도 들었음)
7 월 : DDoS 대응체계 구축 네트워크 설계
8 월 : DDoS 대응 시스템 도입 추진
10월 : 대응 시스템 시범 구축·운영
12월 : 대응 시스템을 본격 가동 예정

대조적으로 VeriSign은 타이탄(Titan) 프로젝트명으로 인프라확충에 2010년까지 1억달러 이상을 투자한다. (작년 4월에 쓴 '.com & .net 도메인 수수료 인상과 Titan 프로젝트'을 참고하세요.) 작년 2월에 root DNS의 공격을 받은 것이 큰 계기가 되었다.

21일 나온 기사에 따르면( 인터넷침해 대응체계 구축, 디지털타임스), 지난 5년간 경제적으로 약 5조3000억원의 침해사고에 대한 피해손실 예방 효과를 거두었다고 발표했다.

KISA측은 "이러한 노력의 결과로 1ㆍ25 대란이 발생한 2003년도에는 전 세계 침해사고 피해액 대비 국내 피해액 비율이 10% 수준이었으나 5년이 지난 현재 3% 수준으로 감소했다" 면서 "이를 경제적으로 추산하면 약 5조3000억원의 피해손실을 예방한 것" 이라고 말했다..

많이도 막았다고 자랑할 때가 아니다. 2000년 2월 야후, 이베이, 아마존 등이 DDoS공격에 의한 직접적 피해액만 1조 5천억원으로 산정한다.
현재 DDoS의 타켓이 국내 대형 포털이 아니지만 언제 포털이나 정부기관이 될지 모른다. 2000년의 해외 교훈을 잘 생각하자. 큰 손실을 막았다고 자랑하지 말고 더 큰 손실을 줄이기 위해 20억이 아니라, 200억을 한번에 투입해도 부족한 때이다.

인터넷에 고속도로만 뚫는게 전부가 아니다. 안전장치를 늘려 대형 사고를 줄여야 한다는 것을 잊지 말자.

* 정부, DDoS 공격 대책 마련 나선다 (2008.1.8, 아이뉴스24)
http://news.empas.com/show.tsp/cp_in/20080108n17198/

※ 올해에도 웹하드 업체의 DDoS공격이 심심치 않게 들려온다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/84
Tracked from 좋은진호의 여유만만 | 2008/01/24 00:17 | DEL
DDoS공격이 1월말부터 증가했고, J 모 채팅 사이트가 며칠째 서비스를 못한다는 얘기를 들었습니다. 작년부터 DDoS공격이 있었지만 최근에 공격이 보다 증가하고, 강도도 높아진걸로 보입니다. 이는 언론에서도 얘기하듯이 1) 기존의 돈요구 목적 외에 2) 31일에 중국에서 있었던 동계아시안게임때 우리팀 선수의 백두산 세리머니로 인해 중국해커들의 공격이 있는 걸로도 추측해볼 수 있을 것 같습니다. 최근 DDoS 공격에 대한 얘기들이 많이 나오고는 있지..
Tracked from 좋은진호의 여유만만 | 2008/01/24 00:17 | DEL
이데일리 2007.1.12(금)일자에 나온 기사의 일부이다. http://www.edaily.co.kr/news/stock/newsRead.asp?sub_cd=DB41&newsid=01902406582997064&clkcode=00203&DirCode=0030503&curtype=read 최근 모 사이트 관리자는 메신저로 `xxx만원을 입금하지 않으면 사이트를 공격하겠다`는 메세지를 받았다. 그러나 별다른 대응 조치를 하지 않았다. 이 후 10여일간..
Name
Password
Homepage
Secret
2008/01/18 21:48
YouTube와 이름이 비슷한 Youku.com 이 2007년 12월에 1일 동영상 조회 건수가 1억건을 돌파했다고 한다. Nielsen/NetRatings SiteCensus업체의 조사에 따른 것이며, 1일 유니크한 방문자는 1천2백만여건, 웹페이지뷰는 1억 3천9백만건이다.

사용자 삽입 이미지

    User Data for Youku.com, Dec 10-16, 2007

                                Abbreviation          Youku's Statistics
    Video View (Peak)           Daily VV (Peak)              107,149,596
    Unique Browsers             Daily UV (Peak)               12,678,592
    Web Page Views (Peak)       Daily PV (Peak)              139,137,012
    Weekly Video View           Weekly VV                    641,850,851
    Weekly Unique Browsers      Weekly UV                     53,882,010
    Weekly Web Page Views       Weekly PV                    824,639,429
    Source: Nielsen/NetRatings SiteCensus Dec.10th-Dec.16th.

 출처 : Youku.com, Premier Chinese Online Video Sharing Website, Surpasses 100 Million Daily Video Views

2006년 12월에 런칭해서, 2007년 10월에 1일 3천만건 조회에서 12월에 1억건 조회로 급성장을 했다. Youku.com의 설립자이자 CEO인 Victor Koo의 인터뷰에서도 알 수 있듯이 2008년 하반기에 1억 돌파할 것으로 예상했으나 그보다 빨리 돌파할 정도로 급성장을 했다.

한편, Youtube는 2005년 2월 설립하여 같은 해 12월에 서비스를 시작한다. 2006년 7월에 1일 1억건을 돌파했으며, 같은해 10월에 구글에 인수된다. 어제 발표에 따르면 한국어 서비스를 곧 시작한다고 한다. 서비스를 런칭하게 되면 도메인은 kr.youtube.com, youtube.kr 이 될 것으로 보인다.

Youku.com은 국내의 TNC, 판도라TV, Peering Portal(그리드 형태의 파일공유기술을 갖고 있는 업체) 등과 함께 레드헤링(Red Herring)에서 발표한 2007 아시아 100대 기업으로도 선정되었다. 또한 2007년 7월에는 China Internet Society 조사에 따르면 동영상 공유 카테고리 1위를 차지했다.

간단히 Youku.com 사이트를 살펴보았다. 역시 국내에서 중국의 동영상 서비스를 보는 것은 슬로우모션을 보는 것처럼 느리게 스트리밍이 되었다. 플레이어는 심플한 형태. 국내 연예인의 동영상은 쉽게 찾을 수 있다.

사용자 삽입 이미지

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/83
BlogIcon 천재태지서주영 | 2008/01/20 20:15 | PERMALINK | EDIT/DEL | REPLY
와우... 중국은 무섭게 다가오네요.
BlogIcon 좋은진호 | 2008/01/20 23:08 | PERMALINK | EDIT/DEL
그러게요. 인구만큼 성장속도도 무섭게 치고 올라가는 것 같습니다.
그리고, 중국 정부에서는 영상물 서비스를 위해서는 정부의 허가증이 있어야만 할 수 있도록 새로운 법 개정을 발표했습니다. 자국 서비스를 보호하는 형태가 되는데, 아무래도 중국으로 진출하려던 업체들은 쉽지가 않겠지요. ^^
BlogIcon 이정일 | 2008/01/21 15:11 | PERMALINK | EDIT/DEL | REPLY
전세계 밀가루값이 폭등한 이유가 중국인들이 피자를 먹기 시작했다는 이야기를 듣고 한귀로 듣고 흘렸었는데 정말 중국은 대단합니다.
BlogIcon 좋은진호 | 2008/01/21 19:15 | PERMALINK | EDIT/DEL
그러게 말입니다. 규모의 경제를 갖고 있는곳에 속도까지 더해지니... '무한질주'라는 말이 어울리는 것 같습니다. ^^
Name
Password
Homepage
Secret
2008/01/13 20:06
- 성인 1일 야채섭취 권장량 : 350g

- 성인 1일 열량 권장량

보통 남성 2,500kcal, 여성 2,000kcal
국제식량기구(FAO) 기준으로는 남성 3,000kcal, 여성 2,200kcal

- 웃음 1일 권장량

책 '지식 e 2'에는 1회 10초 이상 (아주 큰소리로), 하루에 10회 이상 (아주 큰소리로)이라고 얘기하고 있다.

그렇다면 지식의 1일(1년) 권장량은? ^^

지식의 권장량을 수치로 표기한다는 것 자체가 우스울 수 있다.
그 수치에 대해 진지하게 생각해본 적도 없으나, 독서, 뉴스보기, 공연관람, 영화감상 등의 통계 자료를 찾아봤다. '지식 e'에서는 '우리에게 필요한 지식은 암기하는 정보가 아니라 생각하는 힘이다.'라고 얘기한다. '난 하루에 몇 번 생각한다'처럼 '생각' 자체를 통계적 수치로 찾아보는 건 너무 힘들어서 뺐다. ^^

< 독서 >

- 2006년 성인 평균 독서량은 11.9권 (국립중앙도서관 발표)
  즉, 1달에 1권. 300페이지 기준으로 할땐 하루에 10페이지를 읽는 셈이다. 한권도 읽지 않은 사람도 24.1%나 된다.
- 2006.6~2007.6까지 1년간 평균 독서량은 10.5권. 20대는 17.2권, 30대는 13.9권 (통계청 7만여명 조사 결과)
- 미국인 하루 평균 독서시간은 20분 (미국 노동부 자료)
  나이가 많을수록 증가하고, 25~34세는 9분.

< 뉴스 >

- 네티즌 하루 뉴스보는 시간 6.89분 (연세대 신문방송학과 김은미 교수 발표, 2007년)

< 문화 >

- 2007년 극장영화 관람은 12.6편 (영화진흥위원회 2358명 설문조사 결과)
- 2006.6~2007.6까지 공연 및 스포츠 경기 1년 평균 관람횟수는 7회 (통계청 7만여명 조사 결과)

< 기타 >

- 대학생이 하루 평균 가족과 대화하는 시간 약 42분 (아르바이트 구인구직 사이트 설문조사 결과, 2008년)
  이 수치를 이 글에 포함한 것은 가족간의 대화가 생각을 나눌 수 있는 좋은 시간이라 여겼다.

사용자 삽입 이미지
                        (이미지 출처 : 경향신문)

'하루 야채', '유기농 새싹야채'등 야채섭취량을 채우기 위한 제품들이 있다. '하루 야채'는 작년 1월기준 연 700억 매출을 올린다고 한다. 업체의 상업적인 결실이기도 하겠지만, 얼마나 많은 사람들이 일일섭취량을 채우기 위해 마시는지 알 수 있을 것이다.
지식도 그렇다. 평균이상의 사람으로 지식을 습득하려면, 저것 보다 더 많이 얻어내기 위해 노력해야 할 것이다. 머리와 가슴이 배고프지 않으려면 말이다.


[ ※ '지식 1일권장량(?)'에 참고한 자료 ]





이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/82
Name
Password
Homepage
Secret
2008/01/10 19:55
apache 웹로그, php 에러로그, syslog를 통한 로그를 모니터링할 때 특정 문자열에 대해서는 highlight해주면 원하는 부분만 쉽게 볼 수 있을 것이다. 또한 수치를 모니터링하는 경우, 0~59는 양호, 60~79 주의, 80~99는 경고를 나타내기위해 각각 녹색, 파란색, 빨간색으로 표시해준다면, 많은 로그가 순간적으로 스크롤되더라도 눈에 쉽게 띌 것이다.
이 글은 highlight 처리를 해주는 1) sed를 이용한 쉘스크립트와 2) 이보다 더 나은 perl 스크립트를 통해 모니터링하는 방법을 설명한다.

1. sed를 이용한 highlight 스크립트

* view.sh 내려받기

#!/bin/bash
#
# 특정 문자를 highlight한다. (view.sh)
#
# by 좋은진호(truefeel, http://coffeenix.net/ )

# color
szColBk="^[[;30m";      szColBk1="^[[1;30m"     # black
szColRe="^[[;31m";      szColRe1="^[[1;31m"     # red
szColGr="^[[;32m";      szColGr1="^[[1;32m"     # green
szColYe="^[[;33m";      szColYe1="^[[1;33m"     # yellow
szColBl="^[[;34m";      szColBl1="^[[1;34m"     # blue
szColPu="^[[;35m";      szColPu1="^[[1;35m"     # magenta(purple)
szColCy="^[[;36m";      szColCy1="^[[1;36m"     # cyan
szColGy="^[[;37m";      szColWh="^[[1;37m"      # white
szNormal="^[[;m"

#
sed \
        -e "s/^[A-Z][a-z][a-z] *[0-9]* //g" \
        \
        -e "s/ \(192.168.123.[0-9]*\)/${szColGr} \\1$szNormal/g" \
        \
        -e "s/\(httpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(vsftpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(proftpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(ftpd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(sshd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(xinetd\)/${szColCy}\\1$szNormal/g" \
        -e "s/\(Connection attempt\)/${szColRe1}\\1$szNormal/g" \
        -e "s/\(authentication failure\)/${szColRe1}\\1$szNormal/g" \
        -e "s/\(BAD SU\)/${szColRe1}\\1$szNormal/g" \
        \
        -e "s/\(nfs server\)/${szColYe}\\1/g" \
        \
        -e "s/$/$szNormal/g"
[/quote]

사용은 tail -f 로그파일명 |./view.sh 형태로 사용하면 된다.

첫번째 부분은 색깔을 정의한 변수이다. 여기서 ^[[;31m ANSI코드로, ^[ 문자는 ESC키를 의미한다. 쉘에서 입력할 때 Ctrl+V를 누른 후 ESC키를 누르면 입력할 수 있다. 색깔은 사용하는 터미널에 따라서 약간 다르게 표시될 수도 있다.

사용자 삽입 이미지


그 다음부터는 sed를 이용해서 문자열을 변환처리하며, 한줄당 하나의 정규표현식을 사용하였다. 부분적으로 살펴보자.

 1:     -e "s/^[A-Z][a-z][a-z] *[0-9]* //g" \

기본적으로 -e s/변환전문자열/변환후문자열/g 형식을 사용하는데, 위는 syslog를 통해 남은 로그중 'Oct 30'과 같이 '월일'을 표시하지 않기 위한 정규표현식이다.
 
 1:     -e "s/ \(192.168.123.[0-9]*\)/${szColGr} \\1$szNormal/g" \
 2:     \
 3:     -e "s/\(httpd\)/${szColCy}\\1$szNormal/g" \
 4:     -e "s/\(vsftpd\)/${szColCy}\\1$szNormal/g" \

첫번째줄은 특정 IP대역을 highlight하기 위한 것으로 서버의 IP, 접속하는 PC의 IP등을 한줄에 하나씩 적어주면 좋을 것이다. 두번째줄의 \ 은 보기 좋게 구분하기 위한 것이며, 세번째와 네번째줄은 각각 httpd와 vsftpd를 highlight한다.

 1:     -e "s/\(nfs server\)/${szColYe}\\1/g" \
 2:     \
 3:     -e "s/$/$szNormal/g"

첫번째줄은 'nfs server'로 문자열이 나온다면, 해당 줄 끝까지 highlight한다. ${szColYe}\\1과 server과 ${szColYe}\\1$szNormal 의 차이를 생각하면 쉽게 이해가 될 것이다. 세번째줄은 줄의 끝부분에서 색깔 표시는 정상으로 돌려놓으라는 의미이다.

2. perl을 이용한 highlight 스크립트


위의 예제를 통해서 원하는 문자열을 원하는 색깔로 highlight하는 것은 쉽게 할 수 있을 것이다. 이젠 perl이용한 방법을 소개한다.

* view.pl 내려받기

#!/usr/bin/perl
#
# 특정 문자를 highlight한다. (view.pl)
#
# by 좋은진호(truefeel, http://coffeenix.net/ )

# color
$szColBk ="^[[;30m";    $szColBk1 ="^[[1;30m";  # black
$szColRe ="^[[;31m";    $szColRe1 ="^[[1;31m";  # red
$szColGr ="^[[;32m";    $szColGr1 ="^[[1;32m";  # green
$szColYe ="^[[;33m";    $szColYe1 ="^[[1;33m";  # yellow
$szColBl ="^[[;34m";    $szColBl1 ="^[[1;34m";  # blue
$szColPu ="^[[;35m";    $szColPu1 ="^[[1;35m";  # magenta(purple)
$szColCy ="^[[;36m";    $szColCy1 ="^[[1;36m";  # cyan
$szColGy ="^[[;37m";    $szColWh  ="^[[1;37m";  # white
$szNormal="^[[;m";

#
$szBeep="\a";

#
while(&lt;STDIN&gt;) {
    # log에서 필요없는 부분 삭제
        s/^[A-Z][a-z][a-z] *[0-9]* //g;

    # IP
        s/(192\.168\.123\.[1-9][0-9]{0,2})/$szColGr$1$szNormal/g;

    # 줄 끝은 정상 색으로 변경
    s/$/$szNormal/;

    # 원하는 문자열에 색을 입힌다
        s/(httpd)/$szColCy$1$szNormal/g;
        s/(vsftpd|proftpd|ftpd)/$szColCy$1$szNormal/g;
        s/(sshd)/$szColCy$1$szNormal/g;
        s/(xinetd)/$szColCy$1$szNormal/g;
        s/(Connection attempt)/$szColRe1$1$szNormal/g;
        s/(authentication failure)/$szColRe1$1$szNormal/g;
        s/(BAD SU)/$szColRe1$1$szNormal/g;

    # 원하는 문자열을 찾으면 줄 끝까지 색을 읽힌다.
        s/(nfs server)/$szColYe$1/g;

    print $_;
}

사용은 shell스크립트를 사용할 때와 동일하게 tail -f 로그파일명 |./view.pl 형태로 사용하면 된다.

 1:     s/(192\.168\.123\.[1-9][0-9]{0,2})/$szColGr$1$szNormal/g;
 2:     ... 생략...
 3:     s/(vsftpd|proftpd|ftpd)/$szColCy$1$szNormal/g;

첫번째줄에서 192\.168\.123\.[1-9][0-9]{0,2} 은 sed를 이용할 때보다 더 정교하게 IP를 체크한 것으로, 1) 192.168.123. 시작하는 IP대역 2) 그 다음 1~9까지 숫자이고, 그다음에 숫자가 오게된다면 0~9까지 숫자가 0자리~2자리까지 가능하다. 정규 표현식에 대한 자세한 사항은 이 글의 주제를 벗어나는 내용이므로 '4 참고 자료'를 살펴보기 바란다. 세번째줄은 vsftpd, proftpd, ftpd 등의 문자를 highlight한다.

다음은 위의 스크립트를 이용하여 로그를 모니터링한 화면이다.
사용자 삽입 이미지


3. 수치에 따라 다른 색으로 표시

어떤 로그에 수치가 다음과 같이 실시간으로 쌓인다고 가정하자. 그리고, 그 수치는 'disk 54'와 같은 형태로 되어 있다.

---------  ------   --------
측정수치    상태     색깔
---------  ------   --------
0~59       양호      녹  색
60~79      주의      파란색
80~100     경고      빨간색
---------  ------   --------

다음은 perl을 이용하여 색을 표시하는 예이다. 그리고, 수치가 80이상일 땐 beep음을 발생한다. 이런한 방법은 서버의 load, disk 사용량, disk I/O, 커넥션 수, 메모리 사용량 등을 모니터링할 때 유용하게 사용할 수 있다.

 s/(disk [0-9][^0-9])/$szColGr$1$szNormal/;
 s/(disk [1-5][0-9][^0-9])/$szColGr$1$szNormal/;
 s/(disk [6-7][0-9])/$szColBl$1$szNormal/;
 s/(disk [8-9][0-9])/$szColRe1$1$szNormal$szBeep/;
 s/(disk 100)/$szColRe1$1$szNormal$szBeep/;

4. 참고 자료

* ANSI color codes
  http://pueblo.sourceforge.net/doc/manual/ansi_color_codes.html
* 정규표현식
  http://coffeenix.net/dir_catagory.php?cata_code=99
* Perl regular expressions
  http://www.perl.com/doc/manual/html/pod/perlre.html
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://truefeel.tistory.com/trackback/81
지나가다 | 2008/01/11 04:52 | PERMALINK | EDIT/DEL | REPLY
로그를 실시간으로 보아야만 하는가? 요악 보고로도 안된다면 내 서버가 아니구먼.. ㅋ
BlogIcon 좋은진호 | 2008/01/11 23:42 | PERMALINK | EDIT/DEL
시스템 안정적 운영을 위해서는 실시간 모니터링은 중요한 요소입니다. S(Server)MS, NMS 시스템의 이용과 함께, highlighting된 로그를 보면 눈에 더 잘 띄겠죠. 그냥 지나쳤을지도 모르는 부분을 더 빨리 파악할 수 있으니깐요. ^^

실시간 모니터링이 아닌 경우는, 특정 간격으로 체크하로그를 여 이상시 휴대폰문자나 메일 발송을 하기도 하구요.
Name
Password