[리눅스 보안] 서버 관리 - Apache 상위 디렉토리 접근 금지
■ 대상 OS : SunOS, Linux, AIX, HP-UX
■ 취약점 개요
- 상위경로로 이동하는 것이 가능할 경우 하위경로에 접속하여 상위경로로 이동함으로써 해킹을 당할 위험이 있으며, 유니코드(Unicode Bug) 및 서비스 거부 공격에 취약해지기 쉬우므로 ".."와 같은 상위경로로 이동이 가능한 문자사용이 불가능하도록 설정할 것을 권장함.
- Apache는 특정 디렉토리 내에 존재하는 파일들을 호출할 때 사용자 인증을 수행하도록 설정할 수 있음. 따라서 해당 설정을 이용하여 중요 파일 및 데이터 접근은 허가된 사용자만 가능하도록 제한함.
■ 보안대책
- 양호 : 상위 디렉토리에 이동제한을 설정한 경우
- 취약 : 상위 디렉토리에 이동제한을 설정하지 않은 경우
■ 조치방법
1. 사용자 인증을 하기 위해서 각 디렉토리 별로 httpd.conf 파일 내 AllowOverride 지시자의 옵션 설정을 변경 (None에서 Authconfig 또는, All로 변경)
2. 사용자 인증을 설정할 디렉토리에 .htaccess 파일 생성
3. 사용자 인증 계정 생성 : htpasswd -c <인증 파일> <사용자 계정>
■ 보안설정 방법
◆ OS별 점검 파일 위치 및 점검 방법
- SunOS, Linux, AIX, HP-UX
AllowOverride 지시자 Authconfig 옵션 확인
#vi /[Apache_home]/conf/httpd.conf
AllowOverride None
※ "AllowOverride" 옵션이 "None"으로 설정된 경우 아래의 보안설정 방법에 따라 옵션 설정 변경
■ SunOS, Linux, AIX, HP-UX
1. vi 편집기를 이용하여 /[Apache_home]/conf/httpd.conf 파일을 연 후
#vi /[Apache_home/conf/httpd.conf
2. 설정된 모든 디렉토리의 AllowOverride 지시자에서 AuthConfig 옵션 설정
(수정 전) AllowOverride 지시자에 None 옵션이 설정되어 있음
<Directory "/usr/local/apache2/htdocs">
AllowOverride None
Allow from all
</Directory>
(수정 후) AllowOverride 지시자에 AuthConfig 옵션이 설정되어 있음
<Directory "/usr/local/apache2/htdocs">
AllowOverride AuthConfig
Allow from all
</Directory>
3. 사용자 인증을 설정할 디렉토리에 .htaccess 파일 생성 (아래 내용 삽입)
AuthName "디렉토리 사용자 인증"
AuthType Basic
AuthUserFile /usr/local/apache/test/.auth
Require valid-user
● 지시자
AuthName : 인증 영역 (웹 브라우저의 인증 창에 표시되는 문구)
AuthType : 인증 형태 (Basic 또는, Digest)
AuthUserFile : 사용자 정보(아이디 및 패스워드) 저장 파일 위치
AuthGroupFile : 그룹 파일의 위치(옵션)
Require : 접근을 허용할 사용자 또는, 그룹 정의
4. 사용자 인증에 사용할 아이디 패스워드 생성
#htpasswd -c /usr/local/apache/test/.auth test
New password:
Re-type new password:
Adding password for user test
[root@localhost apache]#
5. 변경된 설정 내용을 적용하기 위하여 Apache 데몬 재시작
6. 사용자 인증을 설정한 디렉토리 내 파일 호출 화면
■ 조치 시 영향
- 해당 설정이 적용된 디렉토리 내 파일들은 아이디/패스워드 인증절차 없이는 접속이 불가능하며, 대외 서비스인 경우 해당 디렉토리에 대한 외부자의 접근 필요성을 검토 후 적용하여야 함
※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853
'Infra > 리눅스 서버' 카테고리의 다른 글
[리눅스 보안] 서버 관리 - Apache 파일 업로드 및 다운로드 제한 (0) | 2017.03.18 |
---|---|
[리눅스 보안] 서버 관리 - Apache 링크 사용금지 (0) | 2017.03.17 |
[리눅스 보안] 서버 관리 - Apache 웹 프로세스 권한 제한 (0) | 2017.03.15 |
[리눅스 보안] 서버 관리 - Apache 디렉토리 리스팅 제거 (0) | 2017.03.14 |
[리눅스 보안] 서버 보안 - DNS Zone Transfer 설정 (1) | 2017.03.13 |