웹에서 취약점이 존재하면 공격자는 다른 서버에 위치한 페이지를 <frame>, <iframe>, <object>등으로 삽입해서 공격할수있다.
이러한 공격을 막기위해서 설정해줄수 있는게 “X-Frame-Options” 헤더이다. 옵션값으로는 DENY, SAMEORIGIN, ALLOW-FROM origin이 있다.
- DENY : 이 홈페이지는 다른 홈페이지에서 표시할 수 없음
- SAMEORIGIN : 이 홈페이지는 동일한 도메인의 홈페이지에서만 작동.
- ALL-FROM origin : 이 홈페이지는 origin 도메인의 페이지에 포함하는 것을 허용.
현재 내 사이트에 적용되어있는지 확인하는 방법은 curl 명령어를 사용하면된다.
이런경우 먼저 cat /etc/resolv.conf 로 들어가서 DNS 서버를 확인해보자.
그다음 curl -I https://blog.dalso.org/nextcloud 를 입력
구글의 경우 같은 도메인에서만 작동할수있도로고 SAMEORIGIN이 설정되어있다.
이제 내 도메인에도 적용시켜보자.
적용 방법은 간단하다 나는 Apache를 사용하기 때문에 아파치 설정파일(/etc/apache2/apache2.conf 마지막줄에 X-Frame-Options을 사용한다고 적어주면된다.)
vi /etc/apache2/apache2.conf
Header always append X-Frame-Options SAMEORIGIN
그리고 service apache2 restart 를 이용해서 서버 재시작
적용 된것을 확인하려면 아까처럼 curl 명령어를 사용하면 된다.
다음글은 위에 구글에 적용되어있던 x-xss-protection 설정을 해보겠다.
추가적으로 apache2가 아닌 nginx 라면 똑같이 설정파일로 이동해서 맨아래에
add_header X-Frame-Options SAMEORIGIN
을 넣어주면 된다.