Tuesday, August 3, 2010

iis mssql table filed description

Table 6.3 Meaning of Table Columns

ColumnMeaning
ClientHostWeb client IP address
usernameWeb client user name (usually blank)
LogTimeData and time of request
serviceInternet Information Server service requested by the Web client
machineName of machine hosting Internet Information Server
serveripIP address used to access Internet Information Server
processingtimeHow long the request took to process
bytesrecvdHow many bytes the Web client sent
bytessentHow many bytes the Internet Information Server sent back to the Web client
servicestatusThe Internet Information Server status sent back to the Web client
win32statusWindows NT Server operating system status code
operationOperation request by the Web client
targetWeb resource requested by the Web client
parametersParameters sent by the Web client

Caution
Performance problems are possible when logging Internet Information Server activity to a database on the same platform. Plan to log activity to a database on another platform.

Monday, June 7, 2010

라이센스

글쓴이 : 리눅스포탈(www.superuser.co.kr) 박성수(papa@superuser.co.kr)
공개소프트웨어의 라이센스는 GPL을 시작으로 하여 많은 종류들이 있다. GPL, BSD라이센스, MPL라이센스등 환경과 필요에 의해서 만들어진 라이센스들이 있으며 이들 가운데 현재 주로 사용되고 있는 라이센스들과 국내의 실정에 맞는 라이센스들 위주로 살펴보자.

ㅇ GPL
GPL라이센스는 GNU프로젝트에 가장 먼저 적용된 라이센스이며 리눅스에 적용되어 있고 또한 가장 널리 적용되고 가장 대표적인 공개소프트웨어의 라이센스이다. GPL은 리차드스톨만(Richard Stallman)에 의해 만들어졌고 자유소프트웨어 재단(FSF : Free Software Foundation)의 철학을 반영하고 있다. GPL이 적용되어 있는 공개소프트웨어의 복제와 유통에는 제약이 없다. 하지만 GPL라이센스가 적용되어 있는 소프트웨어는 다음과 같은 조건을 따라야 한다. 즉, 자유소프트웨어는 다음과 같은 조건하에서 소프트웨어의 복제와 개작, 배포가 자유롭게 허용되며, 프로그램의 사용(프로그램을 실행시키는 행위)에 대해서는 아무런 제한 없이 자유롭게 사용할 수 있다.

① 사용자가 소스코드를 쉽게 사용할 수 있어야 한다.
② 배포되는 소프트웨어에는 GNU GPL이 포함되어 있어야 한다. 배포된 소프트웨어를 사용하는 사람은 GPL상의 사용허가를 그대로 유지하는 조건하에 소스코드를 자유롭게 복제, 배포할 수 있다.

③ 쌍방향(interactive)프로그램의 경우, 프로그램이 시작될 때 이를 게시하여야 한다.
④ 프로그램을 수정할 경우에는 언제, 누구에 의해 수정되는지를 명시해야한다.

⑤ 파생품을 만들수 있으며 만들어진 파생품에는 GPL이 적용되어야 한다. 즉, 소프트웨어를 양도받은 자는 소프트웨어를 자유롭게 개작할 수 있고, 개작된 소프트웨어는 GPL을 그대로 유지하는 조건에서 배포할 수 있다.
⑥ GPL소프트웨어를 결합하여 만든 소프트웨어에는 반드시 GPL이 적용되어야 한다.
⑦ 소프트웨어가 오브젝트 파일(object code)이나 실행파일 형태로 배포될 경우 반드시 소스코드를 함께 제공하여야 한다.
⑧ GPL하에서 배포되는 소프트웨어는 무상으로 제공되는 것이므로 소프트웨어에 대한 어떠한 보증도 제공되지 않는다.
위의 ⑥번째 조건으로 인하여 GPL은 바이러스적인 효과를 가지고 있다. 즉, 기업에서 GPL이 적용된 소프트웨어의 일부를 사용하여 다른 소프트웨어를 개발하였을 경우에 기업은 그들이 개발한 소프트웨어의 소스코드를 공개해야만 한다.
결과적으로 소프트웨어를 제작 판매하는 기업에서는 GPL이 적용된 소프트웨어를 기피하게 되었다. 이것이 GPL의 아킬레스건이되어 버렸다.
1984년 FSF를 설립한 이후 1989년에 FSF에 의해 GPL 1.0이 만들어 졌으며 1991년 FSF에 의해 GPL 2.0이 만들어지고 현재까지 사용하고 있다. GPL은 현실을 반영하면서 계속 진화하고 있으며 초기 1.0버전과 2.0 버전, 그리고 2007년도 쯤에 GPL3버전이 나올 예정이다.
GPL라이센스에 있어 가장 핵심이 되는 부분은 소프트웨어를 소스코드의 형태로 복제, 수정, 배포가 가능한 자유가 보장되며 또한 수정된 소프트웨어에 대해서도 동일한 자유와 조건이 계속해서 순차적으로 보장되도록 하는 것이다.
GPL은 저작권을 전제로 하고 있지만 저작권의 본래의 취지를 반대로 이용하여 소프트웨어를 사적인 재산권의 대상으로 삼는 대신에 자유롭게 이용, 복제, 배포, 수정될 수 있는 수단으로 삼은 것이다.
즉, 일반적으로 프로그램의 개발자들이 ‘저작권’을 이용하여 재산적 권리를 취득하는 것과 마찬가지로 자유소프트웨어의 개발자들은 ‘저작권’을 이용하여 프로그램의 공유화를 가능하게 한 것이다. 그래서‘저작권(copyright)’을 기반으로 하면서도 이를 역이용하여 프로그램의 공유를 보장하려는 이러한 움직임을 ‘카피레프트(copyleft)’라고 부르게 된 것이다.
따라서 카피레프트의 조건에 따라 배포된 프로그램에 어떠한 수정이 이루어지거나, 여기에 다른 프로그램이 결합되더라도 그 결과물로서의 소프트웨어에는 카피레프트가 적용되는 것이다.

ㅇ LGPL
GPL의 바이러스적인 속성으로 인하여 소프트웨어를 개발하여 판매하는 기업들로 부터 호응을 얻지 못하기 때문에 자유소프트웨어재단(FSF)에서는 GPL의 이런 속성을 완화하여 LGPL(Lesser General Public License)이라는 라이센스를 새롭게 만들었다. 결론적으로 FSF에서 LGPL을 만든 궁극적인 목적은 GNU 프로젝트에 의해 개발된 소프트웨어와 사적 소프트웨어를 포함한 다른 소프트웨어와의 통합을 허용하기 위함이다. LGPL라이센스를 적용하여 개발된 소프트웨어는 GPL에 오염되지 않는다. LGPL라이센스를 만들게된 궁극적인 목적은 자유소프트웨어하에서 개발되는 소프트웨어 제품들이 널리 많이 사용되어 표준이 되도록 하는 것과 독점소프트웨어 제품들과 경쟁을 할 수 있도록 하기 위함이였다. 이렇게 하여 LGPL이 적용된 최초의 소프트웨어가 GNU C라이브러리였다.

ㅇ MPL
MPL은 넷스케이프(Netscape)사가 개발한 모질라(Mozilla) 브라우즈의 소스코드를 공개하는데 사용한 라이센스로서 "Mozilla Public License"의 약어이다. MPL라이센스는 소스코드와 실행파일을 불리하여 이 둘을 보완하여 만든 것이다. 먼저 소스코드 측면에서는 소스코드는 반드시 공개되어야 하며 소스코드를 수정하였을 경우에는 최초의 저작자에게 수정한 내용을 통지해야 한다.
실행파일 측면에서는 실행파일 자체를 독점라이센스로 배포할 수 있다. 즉, 저작자의 이익을 보호할 뿐 아니라, 수정, 보완된 소프트웨어의 배포를 통한 상업적인 이익을 보호할 수 있으며 또한 적정한 가격을 요구할 수 있고, 불법복제에 대해 제재를 가할 수도 있다. 결국 이 소프트웨어를 더욱 보완, 발전시키려는 개발자들의 이익을 보호할 수 있게 된다. 즉, 기술적으로 개선을 할 경우, 코드를 보고 수정한 후, 컴파일하여 새로운 독창적인 버전으로 재배포할 수 있다.

ㅇ BSD License (MIT X License)
BSD(Berkeley software distribution)라이센스는 소프트웨어 산업과 관련하여 가장 다양하게 사용될 수 있는 라이센스이다. BSD라이센스가 적용되는 소프트웨어를 수정, 보완한 소프트웨어는 독점 소프트웨어가 될 수도 있고, BSD라이센스로 배포될 수도 있다. 또한 GPL로 배포될 수도 있다. 즉, BSD 라이센스는 사용자들에게 거의 제한을 가하지 않는 것이 특징이며 BSD 라이센스가 적용되어 있는 대표적인 공개소프트웨어로는 아파치(APACHE)웹서버가 있다.
또 BSD 라이센스에는 copyleft 조항도 없기 때문에 사적 소프트웨어 벤더들도 BSD 라이센스로 배포되는 OSS 컴포넌트를 그들의 제품에 무제한으로 사용할 수 있다. 예컨대 X 라이센스는 소프트웨어를 사용, 복제, 변경, 통합, 발행, 배포 및 판매할 권리를 부여한다. 다만 때때로 저작권 표기를 요구하거나, 코드 변경의 날짜 저자 및 변경 목적을 요구하기도 한다.
또한 BSD 라이센스에는 copyleft 조항이 없기 때문에 공개소프트웨어 컴포넌트를 그들의 사적소프트웨어내에 무제한으로 사용할 수 있다. 예를들어 X라이센스는 소프트웨어를 사용, 복제, 변경, 통합, 발행, 배포 및 판매할 권리를 부여하고 있다.
이상과 같이 공개소프트웨어에 관련된 주요 라이센스들에 대해서 살펴보았다.
*** 본 기사의 인용과 이용은 글쓴이 또는 "리눅스포털(www.superuser.co.kr)"에 문의하시기 바랍니다. ***
원문출처 : http://www.superuser.co.kr/home/superuserboard/view.html?id=27&code=column_L&start=0&position=

Tuesday, May 18, 2010

소스코드 & web log 검색 방법

Windows 기반에서 검색

1. ultraedit같은 file내 검색이 가능한 editor를 사용하는 것이 가장 편하며 server특성상 editor가 설치되어 있지 않을 경우 OS에서 제공되는 명령어를 이용하여 검색이 가능하다.

2. IIS 관리자에서 해당 웹사이트의 log file 위치를 파악한다.

3. 콘솔창에서 해당 directory 까지 이동하여 다음과 같이 검색을 하도록 한다.

Findstr /nsic:”검색문자열파일패턴 > 결과를 저장할 파일명

) #확장자가 log인 파일에서 500 이라는 문자열을 검색 하여 결과를 500dump.txt에 저장

findstr /nsic:”500” *.log > 500dump.txt

#4월에 생성된 모든 web log에서 500이라는 문자열을 검색 하여 결과를 500dump.txt에 저장

findstr /nsic:”500” ex0804??.log > 500dump.txt

4. 검색결과에서 각종 해킹 공격 흔적을 찾도록 하며 보통 이스케이프 문자열을 입력하기 위해 인코딩해서 파라미터를 전달하므로 인코딩된 문자열을 찾아 보도록 한다.

5. 이 방식을 이용하여 소스코드 검색 역시 가능 하며 사이트내 db연결을 하는 페이지나 업로드가 있는 페이지를 검색하려면 다음과 같이 응용한다.

#dextupload를 이용하는 asp 페이지 검색

findstr /nsic:”dext” *.asp > uploaddump.txt

#db연결을 하는 페이지 asp 검색

findstr /nsic:”adodb” *.asp > uploaddump.txt

l findstr 명령의 자세한 사용법은 findstr /? 로 해서 살펴 볼 것

linux 기반에서 검색

1. 웹서버 설정 파일에서 log file 위치를 파악 한다.

2. 다음과 같이 검색을 하도록 한다.

find ./ -name '파일패턴' -exec grep -H '검색문자열' {} \; > 결과를 저장할 파일명

#톰캣의 웹로그에서 Exception 이라는 문자열을 검색하여 dump.log에 저장

find ./ -name 'catalina.*' -exec grep -H 'Exception' {} \; > dump.log

3. 역시 같은 방식으로 jsp 소스코드 검색 가능하다

l find, grep의 자세한 사용법은 man find, man grep로 해서 살펴 볼 것

Monday, May 3, 2010