[ apache ] 403 - Forbidden error의 해결 > knowledge

본문 바로가기
사이트 내 전체검색

knowledge

[ apache ] 403 - Forbidden error의 해결

페이지 정보

작성자 웹지기 댓글 0건 조회 22,072회 작성일 18-10-01 02:49

본문

리눅스에 아파치 웹서버를 설치하면 자주 등장하는 것이 403 Forbidden 에러다. (Apache 403 Forbidden error)  403 Forbidden 에러는 해당 파일이나 디렉터리에 접근 권한이 없는 경우 것으로 보안과 관련된 오류다. 디렉터리나 파일 권한, 그리고, 웹서버의 설정을 봐도 왜 403 에러가 나는 지 쉽게 알 수 없는 경우가 있다.

b1ab5adf3f70b25df0c326b687afb1a6_1538329849_9785.jpg
 

403 Forbidden error는 원인이 여러가지이고 찾기가 쉽지 않아 매번 한참 해메다가 겨우 해결하곤 한다. 그 해결 방법을 정리해 본다.

 

1. httpd.conf 의 권한 설정

실수인지 어쩐지는 모르지만 아래와 같이 <Directory> 설정 지시 부분에 "Deny from all"이란 내용이 있는 경우가 있다. 당연히 모든 접근을 제한한다는 것이니 403 Forbidden 이 발생하겠지.

<Directory /home/...>

     .

     .

     .

    Order deny, allow

    Deny from all

</Directory>

 

아래와 같이 "Allow from all"로 표시하면 모든 접근이 정상적으로 이뤄질 것이며,

<Directory /home/...>

     .

     .

     .

    Order allow, deny

    Allow from all

</Directory>

 

특정한 IP 만 접근을 제한한다면 아래와 같이 특정한 IP를 deny 시키면 된다.

<Directory /home/...>

     .

     .

     .

    Order deny,allow

    deny from 125.165.169.111 114.124.12.

    allow from all

</Directory>

 

 

 

2. 디렉터리 퍼미션(Directory Permission)

httpd.conf 의 설정에 문제가 없다면, 디렉터리 퍼미션을 확인해 보자.

웹브라우저로 홈페이지를 본다는 것은 웹서버가 실행되는 계정(nobody 또는 apache 등)으로 해당 디렉터리를 읽는는 것이다.

즉, 웹서버가 실행되는 계정으로 해당 디렉터리에 접근이 되지 않으면 당연히 403 Forbidden 이 발생하겠지.

# chmod o+x /home/...

or

# chmod 711 /home/...

# ls -al /home/...

drwx--x--x 21 abcd     abcd     4096 Mar 24 10:44 /home/...


디렉터리를 위와 같이 했는데도 같은 문제가 있다면 하위 디렉터리 및 파일들을 살펴보자.

웹루트 디렉터리를 위와 같이 설정하듯이 하위 디렉터리나 파일도 웹서버가 실행되는 계정으로 읽을 수 있어야 문제가 발생하지 않는다.

 

참고로 특정디렉터리의 하위 모든 파일 및 디렉터리의 권한을 변경하는 방법은...

* 모든 디렉터리의 권한을 711로 변경

# find /home/... -type d -exec chmod 711 {} \;


* 모든 파일의 권한을 644로 변경

# find /home/... -type f -exec chmod 644 {} \;

이것은 간편하긴 하나, 검색할 디렉터리(/home/...) 를 잘못 지정하면 낭패를 볼 수 있으므로 주의해야 한다. "/" 에서 실행했다가는... ^^;;

  

3. SELinux와 아파치 HTTP의 디렉토리 접근 설정

SELinux는 리눅스의 보안을 담당하는 프로그램이다. 최근에 나온 리눅스에는 대부분 SELinux가 구동되고 있다고 생각해도 된다. 이전에는 단순히 chmod를 통한 owner+group+others의 권한 만 제한하면 되었지만 SELinux는 그 이상의 접근 제어를 하게 되므로 잘 모르면 당황하게 된다.

 잘 모르면 SELinux 설정에서 SELINUX=disabled 하여 구동을 중지할 수 있지만 그만큼 보안에 취약해지므로 권장하지는 않는다.

SELinux 설정 파일 : /etc/selinux/config

 

Shell에서 'ls -Z'를 해 보면 아래와 같이 파일이나 디렉터리의 보안 환경을 볼 수 있다.

# ls -Z /home/... 

drwx--x--x  abcd   abcd   user_u:object_r:user_home_dir_t  abcd

drwx--x--x  efgh    efgh    user_u:object_r:httpd_sys_content_t efgh

보안 환경에서 세번째 요소가 중요한 부분이다. HTTP 웹서버는 httpd_sys_content_t 타입 만 파일과 디렉토리 읽는 것을 허용한다. 위에서 보면 'abcd'는 user_home_dir_t로 되어 있기 때문에 웹서버에서 접근을 하면 403 Forbidden을 표시하고, 'efgh'는 httpd_sys_content_t로 되어 있기 때문에 접근이 가능하다.

 

이를 변경하는 방법은...

* 하나의 파일이나 디렉터리를 변경할 경우

# chcon -t httpd_sys_content_t /home/...


* chmod와 같이 하위 파일이나 디렉터리를 모두 변경할 경우

# chcon -R -h -t httpd_sys_content_t /home/...

-R : 하위 모든 파일과 디렉터리의 보안사항을 변경한다.

-h : 심볼릭링크를 따르지 않도록 한다.

 

위와 같이 했는데도 문제가 지속되면 쪼금 어렵다는 것~^ 

관련 포스트

- Apache 302 error 원인과 해결방법

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 89건 4 페이지
+4
  • 44 [ nas ] synology(시놀로지) Let's Encrypt 인증서 설치하고 설정하는 방법
  • Let’s Encrypt Let’s Encrypt에서는 공인된 인증서를 무료로 제공해줍니다. 단점은 90일마다 갱신을 해야 한다는 것인데, DSM에서 자동으로 갱신을 해주므로 신경쓸 것이 없습니다. -- 준비하기 도메인 외부에서 접속할 수 있는 도메인이 필요합니다. 단, 도메인 별로 인증서 발급 횟수 제한이 있습니다. 그래서 많이 사용하는 xxx.iptime.org 같은 도메인은 인증서 발급이 되지 않을 수 있습니다. 80 포트로 연결되도록 하기 80 포트로 접속할 수...
  • 웹지기 11-29 15588 0 0 댓글 0
  • 43 [ ERD ] ERM - ERD 사이트
  • "구조"화된 데이터를 저장하기 위해 데이터베이스를 사용한다. 이 데이터의 "구조" 및 그에 수반한 제약 조건들은 다양한 기법에 의해 설계될 수 있다. 그 기법 중 하나가 개체-관계 모델링(Entity-Relationship Modelling)이다. 줄여서 ERM ERM 프로세서의 산출물을 가리켜 개체-관계 다이어그램(Entity-Relationship Diagram)이라 한다. 줄여서 ERD
  • 웹지기 11-12 11459 0 0 댓글 0
+8
  • 41 [ vscode] VisualStudioCode 확장프로그램 ftp-kr 기능
  • VSCode FTP Extension This is FTP Extension! Start with ftp-kr Init command! (When exists workspace) It will try to connect when you save it! Details Disable Auto UploadBy default, the auto-sync feature is enabledIf you want to disable auto-sync, pl...
  • 웹지기 10-17 12955 0 0 댓글 0
  • 40 [ vscode ] VisualStudioCode 에디터 설치 및 기능
  • VisualStudio Code 줄여서 vscode ( window,macOS, Linux) 홈페이지 : code.visualstudio 라이선스 : MIT 주요 단축키 Ctrl + Shift + p OR F1 : 모든 명령 찾기 및 실행 Ctrl + : 콘솔창 호출 확장프로그램 ftp-kr : ftp/sftp sync extend 기능으로 바로 업로드가능 ftp-sync : ftp로 업로드 또는 다운로드 할 수 있는 기능 vscode-icons : 파일의...
  • 웹지기 10-17 14134 0 0 댓글 0
  • 38 [ template ] 템플릿 간단 설명 및 참고사이트(템플릿파일)
  • 1. 템플릿언더바는 여러결과를 하나의 문서로 출력할 수 있습니다. 여러 템플릿파일을 구분지을 수 있는 템플릿id와 경로를 define를 호출하시고$this-&gt;define(템플릿id,템플릿파일);$this-&gt;define('looptest','looptest.tpl');2. 템플릿을 통해 출력될 결과물을 만들어 냅니다.for($i=0; $i&lt;100; $i++){ $loop[] = array('num'=&gt;$i);}3. 결과물을 템플릿변수로 할당 ...
  • 웹지기 10-01 7175 0 0 댓글 0
+36
  • 37 [ API ] Open API 제공 주소
  • 기관명Open API 제공 주소이용방법 :http://interface.pandora.tv/?p=use개발가이드 :http://interface.pandora.tv/?p=guide검색 API :http://blog.aladdin.co.kr/ttb/category/16526940?communitytype=MyPaper상품 API :http://blog.aladdin.co.kr/ttb/category/16526941?communitytype=MyPaperAPI사용예제http://blog.aladdin...
  • 웹지기 10-01 8107 0 0 댓글 0
  • 36 [ software ] 웹하드 ajaxplorer-core
  • ajaxplorer 설치:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt; ajaxplorer-core-3.2.1q ajaxplorer-core-3.2.1.zip 압축해제한 파일을 서버에 올림q #cp –r ./ajaxplorer-core-3.2.1 /var/www/html/ajaxplorer 환경 설정q Ajaxplorer의 다양한 활용을 위하여 /ajaxplorer-core-3.2.1/...
  • 웹지기 10-01 6171 0 0 댓글 0
  • 열람중 [ apache ] 403 - Forbidden error의 해결
  • 리눅스에 아파치 웹서버를 설치하면 자주 등장하는 것이 403 Forbidden 에러다. (Apache 403 Forbidden error) 403 Forbidden 에러는 해당 파일이나 디렉터리에 접근 권한이 없는 경우 것으로 보안과 관련된 오류다. 디렉터리나 파일 권한, 그리고, 웹서버의 설정을 봐도 왜 403 에러가 나는 지 쉽게 알 수 없는 경우가 있다.403 Forbidden error는 원인이 여러가지이고 찾기가 쉽지 않아 매번 한참 해메다가 겨우 해결하곤 한다. 그 해결 방법을 정리해 ...
  • 웹지기 10-01 22073 0 0 댓글 0
+1
  • 33 [ homepage ] 무료기업메일 중소기업진흥공단 고비즈
  • 중소기업진흥공단에서는1998년부터 중소기업 전용 웹메일인 고비즈메일 서비스를 제공하고 있습니다.현재 약 7,000여 중소기업의 7만명 이상의 중소기업 직원이 고비즈메일을 이용하고 있으며검증된 안정성과 보안, 스팸차단기능 등을 제공합니다.아직까지 자체적으로 회사 메일 시스템을 보유하지 못한 중소기업이나 중소기업간 커뮤니티에 참여하고자 하는 중소기업은 지금 바로신청하시기 바랍니다.중소기업을 위한 전용 서비스를 제공합니다. (개인은 지원하지 않습니다.)1998년부터 10년 동안 지속적으로 제공된검증된 ...
  • 웹지기 10-01 7719 0 0 댓글 0
  • 31 [ homepage ] 파란 무료 전자세금계산 서비스 오픈
  • KTH가 운영하는 인터넷 포털 파란(www.paran.com)이 2010년 법인사업자 전자세금계산서 의무화에 따른 종합택스 서비스인 ‘파란 프리택스’무료 서비스(tax.paran.com)를 오픈했다. ‘파란 프리택스’란 KTH에서 2008년부터 2년여 동안 고객사의 니즈를 분석해 개발한 종합택스 서비스로,기존의 전자세금계산서 발행 솔루션보다 발전된 형태의 서비스이다. 전자세금계산서, 견적서, 거래명세표 등의 매출, 매입 발송, 관리는 물론 간편장부자동기장 및 회계연동 기능이 제공돼 보다 효율적이고...
  • 웹지기 10-01 5582 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
4,329
어제
23,944
최대
43,745
전체
10,609,888

그누보드5
Copyright © funyphp.com. All rights reserved.