WEB-09: 웹 서비스 프로세스 권한 제한
분류: Web Service
중요도: 상
개요
점검 내용
웹 서비스 프로세스의 관리자 권한 구동 여부 점검
점검 목적
웹 프로세스가 웹 서비스 운영에 필요한 최소한의 권한만을 갖도록 제한함으로써 웹 사이트 방문자가 웹 서비스의 취약점을 이용해 시스템에 대한 어떤 권한도 획득할 수 없도록 하여 침해사고 발생 시 피해 범위 확산을 방지하기 위함
보안 위협
웹 프로세스 권한을 제한하지 않은 경우, 웹 사이트 방문자가 웹 서비스의 취약점을 이용하여 시스템 권한을 획득할 수 있으며, 웹 취약점을 통해 접속 권한을 획득한 경우에는 관리자 권한을 획득하여 서버에 접속 후 정보의 변경, 훼손 및 유출될 위험이 존재함
참고
-
점검 대상 및 판단 기준
대상
Apache, Tomcat, Nginx, IIS, JEUS, WebtoB
판단 기준
✅ 양호: 웹 프로세스(웹 서비스)가 관리자 권한이 부여된 계정이 아닌 운영에 필요한 최소한의 권한을 가진 별도의 계정으로 구동되고 있는 경우
❌ 취약: 웹 프로세스(웹 서비스)가 관리자 권한이 부여된 계정으로 구동되고 있는 경우
조치 방법
웹 서비스 프로세스 구동 시 관리자 권한이 아닌 운영에 필요한 최소한의 권한을 가진 계정으로 구동 설정
조치 시 영향
일반적인 경우 영향 없음
점검 및 조치 사례
Apache
envvars파일 내 실행 계정을 관리자 계정이 아닌 별도의 계정으로 변경- Apache 서비스 파일 소유권 변경
- 웹 서비스 실행 계정 로그인 제한 설정
- Apache 재구동
Tomcat
tomcat.service파일 내 Tomcat 데몬 구동 권한을 관리자 계정이 아닌 별도 계정으로 변경- Tomcat 서비스 파일 소유권 변경
- 웹서비스 실행 계정 로그인 제한 설정
- Tomcat 서비스 재구동
Nginx
nginx.conf파일 내 Nginx 데몬 구동 권한을 관리자 계정이 아닌 별도 계정으로 변경- Nginx 전용 계정 생성 및 Nginx 전용 그룹 추가
- 웹서비스 실행 계정 로그인 제한 설정
- Nginx 서비스 재구동
IIS
- 웹 사이트 응용프로그램 풀 이름 확인
제어판>관리 도구>인터넷 정보 서비스(IIS) 관리자> 해당 웹 사이트 >고급 설정>응용프로그램 풀 이름(DefaultAppPool)확인 [ 응용프로그램 풀 이름 확인 ]
- 웹 사이트 응용프로그램 풀 ID 확인
제어판>관리 도구>인터넷 정보 서비스(IIS) 관리자>응용프로그램 풀>응용프로그램 풀 이름(DefaultAppPool)선택 >고급 설정>ID> 확인 [ 응용프로그램 풀 ID 확인 ]
- 웹사이트 응용프로그램 풀 ID 설정
제어판>관리 도구>인터넷 정보 서비스(IIS) 관리자>응용프로그램 풀>용용 프로그램 풀 이름 (DefaultAppPool)선택 >고급 설정>ID>ApplicationPoolIdentity선택 [ 응용프로그램 풀 ID 설정 ]
JEUS
- JEUS 데몬 구동 권한 확인
- JEUS 데몬 구동 권한을 관리자 계정이 아닌 별도 계정으로 변경
- [JEUS 설치 디렉터리] 소유자 및 그룹 소유자를 JEUS 계정으로 변경
WebtoB
- 소유자 및 그룹 소유자 변경
-
http.m파일 내 기존 경로 변경*NODE절의WEBTOBDIR,DOCROOT을 변경한 디렉터리로 설정*ALIAS절의alias1을 변경한 디렉터리로 설정*LOGGING절의syslog,log1,log2을 변경한 디렉터리로 설정
설정 예시:
3. 변경한 디렉터리명 환경변수에 추가 4.*NODE imuser WEBTOBDIR="/home/tmax/webtob/", SHMKEY = 54000, DOCROOT="/home/tmax/webtob/docs", *ALIAS alias1 URI = "/cgi-bin/", RealPath = "/home/webtob/webtob/cgi-bin/" *LOGGING syslog Format = "SYSLOG", FileName = "/home/tmax/webtob/log/system.log", Option = "sync" log1 Format = "DEFAULT", FileName = "/home/tmax/webtob/log/access.log", Option = "sync" log2 Format = "ERROR", FileName = "/home/tmax/webtob/log/error.log_%", Option = "sync"libwbiconv.so파일을 직접/usr/lib로 복사 5. 라이브러리 캐시 업데이트 6. 설정 파일 컴파일