차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
apache_httpd_보안취약점_점검 [2020/03/27 06:06] – koov | apache_httpd_보안취약점_점검 [2024/03/29 03:27] (현재) – koov | ||
---|---|---|---|
줄 25: | 줄 25: | ||
하지만 계정의 기본값은 그대로 두고 아파치 웹서버의 설정변경만 하고 싶은경우 아래와 같이 설정하도록 한다. | 하지만 계정의 기본값은 그대로 두고 아파치 웹서버의 설정변경만 하고 싶은경우 아래와 같이 설정하도록 한다. | ||
- | ==== envvars 사용법 | + | ==== rpm 으로 설치한경우 |
+ | rpm 패키지로 설치한경우에는 ''/ | ||
+ | |||
+ | <WRAP prewrap> | ||
+ | <code vim> | ||
+ | umask 0027 | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== envvars 사용법 ==== | ||
+ | rpm이 아닌 소스컴파일 설치한경우에 이 방법을 사용한다. | ||
apache 기동 스크립트인 '' | apache 기동 스크립트인 '' | ||
줄 61: | 줄 71: | ||
HTTP Host Header 변조 공격을 방지하기 위해서는 아래와 같이 설정하여야 한다. | HTTP Host Header 변조 공격을 방지하기 위해서는 아래와 같이 설정하여야 한다. | ||
+ | '' | ||
- | * Apache HTTPD 의 경우 | + | |
- | + | ||
- | '' | + | |
<WRAP prewrap> | <WRAP prewrap> | ||
<code vim> | <code vim> | ||
줄 73: | 줄 82: | ||
</ | </ | ||
- | | + | 또는 VirtualHost 설정에서 기본 호스트를 최상단에 두어 걸러지도록 설정한다. |
+ | |||
+ | <WRAP prewrap> | ||
+ | <code vim> | ||
+ | < | ||
+ | DocumentRoot / | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | * **JBoss EAP 7** 의 경우 Undertow 하위 시스템의 '' | ||
<WRAP prewrap> | <WRAP prewrap> | ||
<code bash> | <code bash> | ||
줄 101: | 줄 121: | ||
</ | </ | ||
- | * JBoss EAP 6의 경우 '' | + | |
<WRAP prewrap> | <WRAP prewrap> | ||
줄 122: | 줄 142: | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
+ | |||
+ | ===== Content-Security-Policy (CSP) ===== | ||
+ | 누락된 '' | ||
+ | CSP는 '' | ||
+ | |||
+ | ==== 적용방법 ==== | ||
+ | <WRAP prewrap> | ||
+ | <code apache> | ||
+ | < | ||
+ | |||
+ | # 누락된 Content-Security-Policy 헤더 취약점을 해결하기 위해서는 웹 애플리케이션 서버에서 Content-Security-Policy 헤더를 추가해야 합니다. 모든 웹 사이트 내의 콘텐츠를 서브 도메인을 제외한 같은 도메인에서만 제공 받으려면 다음과 같이 사용합니다. | ||
+ | Header set Content-Security-Policy " | ||
+ | |||
+ | # 서브 도메인을 포함시키려면 다음과 같이 사용합니다. | ||
+ | Header set Content-Security-Policy " | ||
+ | |||
+ | # 이외에도 신뢰할 수 있는 도메인의 리소스를 특정 웹 페이지 요소에서만 사용하도록 설정할 수도 있습니다.또한, | ||
+ | Header set Content-Security-Policy-Report-Only " | ||
+ | |||
+ | # 특정 사이트의 특정 리소스를 포함하려면 아래처럼 적용합니다. | ||
+ | Header set Content-Security-Policy " | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== 참조링크 ==== | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | ===== X-Content-Type-Options ===== | ||
+ | 누락된 X 콘텐츠 타입 옵션 취약점은 HTTP 응답 메시지 내에 '' | ||
+ | |||
+ | ==== 적용방법 ==== | ||
+ | <WRAP prewrap> | ||
+ | <code apache> | ||
+ | < | ||
+ | Header set X-Content-Type-Options nosniff | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== 참조링크 ==== | ||
+ | * https:// | ||
+ | |||
+ | ===== X-Frame-Options ===== | ||
+ | 누락된 X 프레임 옵션 취약점은 HTTP 응답 메시지 내에 '' | ||
+ | |||
+ | ==== 적용방법 ==== | ||
+ | <WRAP prewrap> | ||
+ | <code apache> | ||
+ | < | ||
+ | Header set X-Frame-Options DENY | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== 참조링크 ==== | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | ===== X-XSS-Protection ===== | ||
+ | 누락된 '' | ||
+ | |||
+ | ==== 적용방법 ==== | ||
+ | <WRAP prewrap> | ||
+ | <code apache> | ||
+ | < | ||
+ | Header set X-XSS-Protection "1; mode=block" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== 참조링크 ==== | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | ===== CSRF (Cross-Site Request Forgery) ===== | ||
+ | 웹 쿠키는 악의적인 사용자의 주요 공격 벡터인 경우가 많으므로 애플리케이션은 쿠키를 보호하기 위한 보안 속성을 사용해야 합니다. '' | ||
+ | 사이트 간 요청 위조(CSRF)를 막기 위해 SameSite는 Lax나 Strict로 사용하는 것이 좋습니다. 구글 크롬도 80버전으로 업데이트 되면서 '' | ||
+ | |||
+ | ==== 적용방법 ==== | ||
+ | <WRAP prewrap> | ||
+ | <code apache> | ||
+ | < | ||
+ | # none으로 사용할 경우 | ||
+ | Header always edit Set-Cookie (.*) "$1; Secure; SameSite=None;" | ||
+ | |||
+ | # strict로 사용할 경우 | ||
+ | Header always edit Set-Cookie (.*) "$1; SameSite=strict" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== 참조링크 ==== | ||
+ | |||
+ | * https:// | ||
+ | |||