httpd (apache2) 설정을 이용한 웹취약점 보완

리눅스/Security|2020. 3. 17. 13:57
반응형

아래 모듈을 사용하여 헤더 정보를 수정함으로써 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



반응형

댓글()