mod_ruid2 의 사용.

mod_ruid2 는 suphp 와 같은 각 계정의 권한으로 실행되게 해주는 DSO 모듈이다.

suphp 는 DSO 가 아니고 apache 1.x 에서 동작하는데 이건 apache2 용이라고 보면 되겠다.

 

http://sourceforge.net/projects/mod-ruid

소스는 소스포지에서 & 설치는 매우 간단하다. ‘ㅅ’a

 

음 그냥 무난하고 설치도 빠르다. 그리고 설정도 간단하다.

 

엔드유져는 웹에서 생성한 파일을 ftp로 직접 수정을 할수 있고

퍼미션 변경등의 행위가 불필요 하기 때문에 매우 편리하다.

심지어 쉬운설치 를 지원하는 XE 혹은 wordpress 의 경우 Ftp 정보 입력없이 플러그인 이나

위젯 설치가 가능한 장점이 있다.

 

이보다 설정이 간단할수는 없지만 함정이 있다.

 

mod_security2 와 권한 문제로 충돌한다. 물론 apache 를 MPM_ITK 로 했을경우에도 충돌한다.

여기서 수 많은 삽질을 해보았다. 모드시큐리티는 해야하기 때문에 ‘ㅅ’a

아파치 8080포트 nginx 80 포트 로 리버스 프로시를 구성해서 nginx 에서 mod_security2 를 돌리고

프록시를 해서 아파치에서 웹서비스를 가동하는 방법 으로 구성은 했었지만 서비스 운용이

불가능하였다 (많은 문제가 있음 : nginx – mod_security2 가 안정적이지 않다.)

apache – apache(프록시)  를 구성해서 해결을 해볼수도 있겠다. 이건 시도하지 않았다.

다만 구성상 가능할것으로 판단 된다.

프록시를 한경우 mod_remoteip (아파치2.4 내장) 모듈로 프록시 되어온 실제 IP를 log로 남기는

작업을 별도로 할수 있다.

 

 

현재 어찌어찌 하여 하나의 아파치2.4 서버에 mod_ruid2 및 mod_security2 를 운영하고 있다.

현재 error_log에 문제가 발생하고 있지는 않지만 좀더 지켜본 뒤 정리해서 업데이트를 하도록 하겠다.

(안정화 테스트중…)

20150216_PicPick_163016

 

2015-11-10 추가 내용: ruid2 사용시 php.ini 의 session.gc_maxlifetime 에 의해 세션이 자동삭제가되지 않는 증상이 확인 되었고 이를 해결하기 위해 명령어를 주기적(cron등록)으로 실행하여 삭제를 합니다.
*- 세션처리를 file 형태가 아닌 memcached 등을 이용한경우 필요가 없음. -*

/tmp  <—— 세션 디렉토리 선언에 따라 변경할것.
-cmin +24  <—— 세션이 만들어진지 24분이 초과 한경우(필요시 변경)

사유: 폴더 안에 약 32000여개 이상의 파일이 만들어질 경우 해당 폴더에 접근하는 시간이 늦어질수 있음
(파티션종류에 따라 틀림) 즉 웹서버 성능저하가 올수 있음. 때문에 필히 필요한 부분 ‘ㅅ’a

2 thoughts on “mod_ruid2 의 사용.”

  1. 같은 주제로 고민중인 서버관리자 입니다.
    mod_ruid2 와 modsecurity2를 엮는중인데 파일 업로드시 에러 로깅시 로그에 퍼미션에러가 자꾸 뜨네요.
    적용방법에대한 조언을 얻을 수 있을지 모르겠습니다.
    좋은 정보 공개에 감사드립니다.

    1. 메일로 적용이 가능한 방법을 보내드리 겠습니다. 아직 완벽하지가 못해서 (__)

Comments are closed.