아무거나

Apache 보안 취약점 처리 본문

Infra/Apache

Apache 보안 취약점 처리

전봉근 2018. 6. 17. 01:17
반응형

웹 서버를 운영하면서 기본적인 보안처리에 대해 포스팅합니다. 

해당 방법을 무조건 적용하라는건 아닙니다. 상황에 맞게 적용하여 사용하시길 권장드립니다.

확인명령으로 조회 후 확인하셔서 적용하시면 됩니다.


[ Ubuntu 기준 ]


1. 관리서버 디렉토리 권한 설정 (일반 사용자가 관리서버 디렉토리에 접근할 경우 홈페이지 변조, 설정 변경 등으로 인한 장애가 발생할 수 있으므로 일반 사용자의 접근 권한을 제한해야 함.)

    * 확인명령 : ls -ald /etc/apache2/

sudo chown -R ubuntu:ubuntu apache2/
sudo chmod -R 750 apache2/

 

2. 설정파일 권한 설정 (일반 사용자가 웹 서버의 설정 파일을 삭제, 변경할 수 있을 경우 시스템이 오작동하여 사용 불능 상태에 빠질 우려가 있음.)

    * 확인명령 : find /etc/apache2/* –name "*.conf" -exec ls -al {} \

sudo chmod -R 700 /etc/apache2/conf-*
sudo chmod -R 700 /etc/apache2/*.conf

 

3. 디렉토리 검색 기능 제거 (디렉토리 검색 기능이 활성화 되어 있으면 해당 디렉토리에 존재하는 모든 파일이 리스팅 되어, Web 서버 구조 노출 및 주요 설정 파일의 내용이 유출될 가능성이 있음.)

    * 확인명령 : cat /etc/apache2/apache2.conf | grep "Options" | grep -v '#'

sudo vi /etc/apache2/apache2.conf
#Options FollowSymlinks // 주석처리
#Options Indexes FollowSymlinks // 주석처리


4. 로그 디렉토리/파일 권한 설정 (로그 파일에는 공격자에게 유용한 정보가 들어있을 수 있으므로 일반 사용자에 의한 정보 유출이 불가능하도록 권한 설정해야 함.)

    * 확인명령 : ls -ald /var/log/apache2

sudo chown -R ubuntu:ubuntu /var/log/apache2
sudo chmod 640 /var/log/apache2/*


5. 헤더 정보 노출 방지 (공격자가 대상 시스템의 정보를 획득하기 위해 고의적으로 웹 서버 헤더 정보를 유출을 유도할 수 있음.)

    * 확인명령 : cat /etc/apache2/conf-enabled/security.conf | grep "ServerTokens\|ServerSignature"

sudo vi /etc/apache2/conf-enabled/security.conf
# ServerTokens Prod   // 주석처리
# ServerSignature Off  // 주석처리


6. 에러 메시지 관리 (공격자가 대상 시스템의 정보를 획득하기 위해 고의적으로 다양한 에러를 유발하여 돌아오는 에러 메시지를 통해 웹 프로그램의 구조 및 환경 설정을 추정할 수 있음.)

    * 확인명령 : cat /etc/apache2/apache2.conf | grep “ErrorDocument”

sudo vi /etc/apache2/apache2.conf

# 메세지 표시 말고 페이지 이동하는 방식을 권장한다. 아래 ErrorDocument는 해당 http status일 경우에 웹 페이지에 메세지만 표시한다.

ErrorDocument 204 "No Content" ErrorDocument 401 "Unauthorized" ErrorDocument 403 "Forbidden" ErrorDocument 404 "Not Found" ErrorDocument 500 "Internal Error"​
반응형
Comments