강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

cgi_wrapper 설정법

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle10.gif

혹시 TCP_Wrapper라는 것을 들어보셨을 줄 압니다.

이는 모두 Wrapper라는 의미에서 풍기듯이 뭔가를 감싸고 있다는 말인데.

감싸지고 있는 대상은 보안을 필요로 하는 것입니다.

우선 여기서는 TCP_Wrapper에 대해서는 생략하기로 합니다.

(사실 TCP_Wrapper가 훨씬 재밌고 흥미진진, very exciting한데...쩝)

CGI_Wrapper에 대한 질문을 하셨으니..이에대한 답만을 하기로합니다

어쨌든,,이둘다 시스템의 보안을 위해서 필수적이라는 것을 기억하시고..

보통 웹서버는 데몬이 하나만 떠있는 경우는 드물고, 최소 2개에서 많게는

10개까지 떠서 각종 응답에 대한 서비스를 하고 있습니다.

이때 원래의 데몬 외에 별도로 떠있는 웹서버의 데몬들을 웹서버의 자식프로세스라고합니다.

이들 자식프로세스들은 대부분 nobody권한으로 실행되고 있는 것이 일반적이지요.

nobody인 이유를 간단히 설며하면,,시스템에서의 어떠한 권한도 없는 nobody라는 ID로

실행이 되고 있어야만이 안전하며,,일종의 보안을 위한 것이라 할 수 있습니다.

만약,,웹데몬이 root 권한(ID)로 실행되고 있다고 생각해 보십시요..(뜨아..끔찍하다.)

그래서..거의 대부분의 웹데몬은 nobody로 실행이 되고 있는 것입니다.

그러다보니..문제점이 발생하게 됩니다.

같은 서버를 사용하는 모든 사용자가 실행시키는 CGI의 권한이 모두 nobody인 것이 되고

맙니다. 따라서 같은 서버에서 실행되고 있는 모든 사용자의 CGI가 모두 nobody로 되어있기

때문에 사용자들 상호간에 보안이 전혀 이루어 지지 않는다는 또다른 문제점이 생기게 됩니다.

이런 문제점을 해결하기 위해서 CGI Wrapper가 나오게 된 것입니다.

우선 CGI_Wrapper의 동작원리에 대해서 설명해 보면..

1. CGI Wrapper는 CGI프로그램이 위치한 디렉토리의 소유자 권한으로 CGI프로그램을 실행시킨다.

2. 따라서 모든 CGI가 nobody로 실행되는 것이 아니며,

3. 모든 CGI는 CGI프로그램 자신의 소유로 실행이 되는 것이다.

4. 그리고, CGI Wrapper는 실행시킬 CGI프로그램이 위치한 디렉토리소유자와 CGI프로그램의

소유자를 비교하여 같을때에만 실행시키며, 다를때에는 실행시키지 않는다.

이는 악의를 가진 해커나 나쁜사람들이 원하는 디렉토리에 파일을 업로드시켜두고

실행시키려는 것을 막는 역할을 한다.

CGI Wrapper에 대한 전반적인 개념을 이렇습니다.

다음은 CGI_Wrapper의 사용방법에 대한 설명입니다.

5. 먼저 예를 들어 CGI Wrapper을 사용하지 않을때의 CGI실행방법은 다음과 같습니다.

http://www.superuser.co.kr/super/cgi-bin/board.cgi

6. CGI Wrapper을 사용하여 실행시킬때는 다음과 같습니다.

http://www.superuser.co.kr/cgi-bin/cgiwrap/super/board.cgi

이렇게 사용하면됩니다.

그런데.. 이렇게 CGI Wrapper를 사용할 수 있기위해서는

시스템에 CGI Wrapper가 설치되어있어야만합니다.

그리고, cgiwrap이라는 실행파일이 cgi-bin디렉토리에 들어 있어야만합니다.

하지만 거의 대부분 웹호스팅업체에서는 CGI Wrapper를 사용 할 수 있도록

셋팅을 해두고 있으므로

일반사용자나 웹호스팅사용자들은 그저 이렇게 사용만 하면 되는 것입니다.

만약 가입하신 업체에서 CGI Wrapper의 사용이 안된다면,

업체의 서버담당이나 업체직원에게 문의를 하십시요.

간혹,,CGI Wrapper에 대한 개념도 설치되 안된 업체도 있더군요.

이런 업체에서 웹호스팅서비스를 이용하는 것은 한번쯤 생각을 해볼 문제일 것 같습니다.

전적을 본인의 판단에 따른 것이겠지만....

어쨌든..이것으로 CGI Wrapper의 모든 설명을 마칩니다.

나중에 시간이 된다면.

TCP_Wrapper에 대한 질문을 해 주십시요.

이에 대한 설명이 좀 길긴 하겠지만,,,

보안을 위해 정말 필수적인 것이기에..

시간을 내어서... 정리해 보겠습니다.

감사합니다.(~~충~썽~~)

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,041 명
  • 현재 강좌수 :  35,855 개
  • 현재 접속자 :  112 명