httpd (apache2) 설정을 이용한 웹취약점 보완
아래 모듈을 사용하여 헤더 정보를 수정함으로써 XSS 등 여러가지 웹 취약점을 보완할 수 있습니다.
Virtualhost 안에 아래 내용을 넣거나 apache2.conf 등 메인 설정 파일에 등록하여 사용이 가능합니다.
아래 내용 적용 후 ZAP 등의 웹취약점 점검 도구를 이용하면 차이가 확연히 드러납니다.
<IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" Header always set X-Content-Type-Options "nosniff" Header always set X-XSS-Protection "1; mode=block" Header always set X-Frame-Options "SAMEORIGIN" # ssl 설정에서는 이 부분을 적용하면 iframe 으로 해당 페이지를 불러오지 못하는 현상이 발생하므로 아래 옵션 사용법을 참고하여 불러오려는 도메인 주소를 등록합니다. Header always set X-Download-Options "noopen" Header always set X-Permitted-Cross-Domain-Policies "none" Header set Set-Cookie HttpOnly;Secure </IfModule> |
[참고]
X-Frame-Options 옵션은 아래와 같은 값으로 설정이 가능합니다.
"deny" : frame 으로 무조건 불러올 수 없다. 같은 도메인일 경우에도 접근 불가.
"sameorigin" : 같은 도메인일 경우 frame 으로 불러올 수 있다.
"allow-from" : 특정 도메인들을 frame으로 불러올 수 있도록 허용할 수 있다.
// 이런 형태로 사용합니다. "allow-from https://sysdocu.tistory.com/"
또 XSS 취약점이 여전히 존재한다면 아래와 같이 modsecurity 를 설치하여 해결이 가능합니다.
실제로 이 두 가지 셋팅만으로 High 단계의 취약점을 모두 해결 하였습니다.
# apt -y update
# apt -y install libapache2-mod-security2
# vi /etc/modsecurity/modsecurity.conf
SecRuleEngine On
# systemctl restart apache2
'리눅스 > Security' 카테고리의 다른 글
Snort 규칙 (공격 분류, 우선 순위 정보 포함) (0) | 2020.10.06 |
---|---|
Snort - 03. Snort Rule 구조 (0) | 2020.10.06 |
웹취약점 점검 도구 OWASP ZAP 설치 및 실행방법 (0) | 2020.03.06 |
httpd 2.4.41 에 mod_security 2.9.1 + OWASP 설치 (0) | 2019.12.17 |
PAM 을 이용하여 sshd, vsftpd 계정별 IP 접근 제어 (0) | 2019.08.09 |