안녕하세요!
일원짜리 팁에 들지는 모르겠네요.. 그냥. 설치법이라서요.. 이번에 리눅스 시스템
처럼 다중 사용자가 사용하는 시스템에서 일반유저들의 파일을 보호하면서 웹서비
스를 제공해주는 법에 대해서 논란이 있길래 제가 쓰는 법을 그냥 적어봅니다!
여러가지 방법이 있겠지만, 전 아파치에서 제시하는 방법을 알려드릴까 합니다.
suEXEC란 무엇인가? (아파치 영문 사이트에 있는 정의 내용입니다.)
-> suEXEC는 아파치 유저들이 웹서버를 호출하는 아이디와 다른 유저 아이디에서 CGI
와 SSI를 실행할수 있는 기능을 제공하는 것이다.
첨가)여기서 웹서버를 호출하는 아이디는 보통 User나 Group에 지정해주는 nobody입
니다. 그리고 다른 유저는 시스템에 쉘계정을 가진 시스템 유저라고 볼 수 있
습니다.
그럼 어떻게 suEXEC로 일반유저의 홈디렉토리 파일을 보호하면서 웹 서비스를 제공
해줄 수 있는 것인가?(여긴 아파치 사이트에 없는 내용)
-> 일반적으로 일반유저가 웹 서비스를 제공받기 위해서는 일반유저의 홈디렉토리
($HOME)의 퍼미션이 0755나 0644등 읽을 수 있는 권한이 있어야 합니다. 이렇게
할경우 웹 서비스는 제공될 수 있지만, 다른 유저가 접근하여 중요한 설정파일
등을 염탐하고, 심각하게는 유저의 데이타베이스를 조작할 수도 있겠죠......
이 상황을 해결하기 위해서 아파치에서는 suEXEC를 통해서 일반유저의 홈디렉토
리는 0711퍼미션으로 다른 유저가 접근 불가 하게 하고, ($HOME)디렉토리의 INODE
에 기록되어 있는 서브 디렉토리의 구성 파일들의 퍼미션은 0755나 0644등 읽기
퍼미션을 설정하여 웹 서비스를 제공할 수 있게 해주는 기능입니다.
자세한 내용은 apache.org에서 확인하시길 바랍니다.
기존의 서비스를 받고 있는 유저나, 새로운 유저들이 suEXEC를 사용하기 위해서
특별히 해주어야 하는 일은 무엇인가?(여긴 아파치 사이트에 없는 내용)
-> 기존의 유저나 새롭게 생성될 유저나 단지 해줄 일은 유저의 홈디레토리($HOME)
의 퍼미션을 0711로 해주고 위에서 언급한 그 서브 디렉토리는 0644나 0755등으로
설정하면 됩니다. 끝입니다. 너무 할일이 없죠.. ^^
그러면 어떻게 설치하죠.. 국내 www.apache.kr.net엔 suexec설치법과 관련글도 없던
데요..
-> 국내 아파치 사이트 suEXEC를 찾을 수 없었(?)습니다. www.apache.net에 가시면
문서화된 자료가 있고, 설치법 또한 나와 있습니다.
설치 법입니다.
파일 : 아파치 웹 서버 소스 파일(딸랑 하나 ? OK)
1)아파치 웹서버 소스를 푸세요..
2)아파치 웹서버 소스를 푼 디렉토리로 이동하세요
3)./configure --prefix=/웹서버디렉토리
--enable-suexec
--suexec-caller=nobody
--suexec-docroot=/웹서버문서루트
--suexec-logfile=/웹서버디렉토리/logs/suexec_log
--suexec-userdir=public_html
--suexec-uidmin=1000
--suexec-gidmin=1000
--suexec-safepath=/usr/local/bin:/usr/bin:/bin
4)make
5)make install
6)끝입니다.
위의 옵션부분들에 대한 설명은 영문 메뉴얼 보시면 되고요.. 위에서
--suexec-uidmin=1000이나 --suexec-gidmin=1000는 시스템에서 UID와 GID의 최소
수치입니다.(전 FreeBSD를 사용해서요 1000이고요 리눅스 경우엔 500값을주시면됩
니다.)
PHP를 함께 설치하시는 분들도 위의 ./configure부분만 추가하시면 되요...
이렇게해서 suEXEC를 통해서 각 유저의 파일을 보호하면서 웹서비스를 제공할 수
있습니다. 혹시나 전달되는 패킷도 보안에 걱정되시면 https를 설치하시면 되고요
아직 국내에서는 https를 인증해줄 기관이나 단체없기때문에 서버인증 개인인증
등은 안되지만 전달되는 패킷은 128비트로 암호화되어서 전달되어지는 잇점은 있
니다. 혹시 인증하는 것 궁금하시면 맛보기로 https://iqzero.kt-is.co.kr 에 접속하
시면 됩니다.(집에가거나 시스템부하땜시 아파치 데몬을 죽일때가 많아요)