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

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

knowledge

[ apache ] 403 - Forbidden error의 해결

페이지 정보

작성자 웹지기 댓글 0건 조회 18,593회 작성일 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건 2 페이지
  • 74 반응형웹에서 표만들기 사이트 링크
  • SQUISHhttps://codepen.io/Diana-iropke/pen/oZwrRpSCROLLhttp://maxdesign.com.au/jobs/example-table/index4.htmhttps://codepen.io/dbushell/full/8e6a1ee85418f3c5abe839647dbcdec5https://www.456bereastreet.com/lab/responsive-scrollable-tables/https://zurb.com/playground/responsive-table...
  • 웹지기 08-29 6243 0 0 댓글 0
  • 73 무료이미지 사이트 링크
  • A curated list of amazingly awesome free (stock) photo resources for your projects. Inspired by all the otherawesome awesomenessout there.AHoardOfPixels- CC0 images, small collection.AllTheFreeStock- CC0 images. Some of the video requires attributionburst.shopify.com- free photos...
  • 웹지기 08-31 6619 0 0 댓글 0
  • 72 웹뷰(webview)
  • 하이브리드 앱 방식웹으로 따지면 iframe 방식과 비슷AndroidManifest.xml/* 인터넷 사용 선언 */&lt;uses-permission android:name="android.permission.INTERNET" /&gt;layout.xml/* 웹뷰 등록 html의 ifrmame 역할과 비슷&lt;WebViewandroid:id="@+id/webview"android:layout_width="match_pare...
  • 웹지기 09-11 4878 0 0 댓글 0
  • 71 youtube url regexp(유튜부 url 정규식)
  • YouTube URL PHP Regexp Shit&lt;?php/*** YouTube Preg Match Test Case.** @author Mario "Kuroir" Ricalde*/// Regular Expression (the magic).$youtube_regexp = "/^http:\/\/(?:www\.)?(?:youtube.com|youtu.be)\/(?:watch\?(?=.*v=([\w\-]+))(?:\S+)?|([\w\-]+))$/";/...
  • 웹지기 09-11 5792 0 0 댓글 0
  • 70 웹앱에 푸시 알림 추가(크롬,파폭등에서 알림 기능)
  • 푸시 메시지는 사용자가 다시 참여하도록 유도하는 간단하면서도 효과적인 방법이 코드랩에서는 자신의 개발한 웹 앱에 푸시 알림을 추가하는 방법푸시 메시지에 대한 사용자 구독 및 구독 취소 방법수신 푸시 메시지 처리 방법알림 표시 방법알림 클릭에 대한 응답 방법필요한 사항- Chrome 52 이상- Web Server for Chrome 또는 자신이 직접 선택한 웹 서버- 텍스트 편집기- HTML, CSS, 자바스크립트 및 Chrome DevTools에 대한 기본적인 지식- 샘플 코드(설치하기 참조) ...
  • 웹지기 09-07 8809 0 0 댓글 0
  • 69 Edit plus php debug 설정 방법
  • 에디터 플러스에서 php debug설정 방법도구 &gt; 기본설정 &gt; 항목탭의 도구 &gt; 항목 도구탭의 사용자도구 &gt; 그룹과 도구 항목 선택추가 &gt; 프로그램메뉴제목 : ~~~~~~~~~~제목~~~~~~~~명령 : D:\APM_Setup\Server\PHP5\php.exe (apmsetup 또는 php.net의 실행프로그램이 설치 되있어야함)인수 : -l $(Copy)동작 : 텍스트 필터로 실행(출력창)출력패턴 : ([A-Za-z]\:...
  • 웹지기 09-11 5002 0 0 댓글 0
  • 68 Yii 설치
  • ******************************************윈도우7에 yii설치******************************************개발환경(APMsetup7(apache2,MySQL5,PHP5)::참고로 yii는 php4 이하는 지원불가함::******************************************00. 최신 yii 다운로드---------------------------------01. yii-&gt;압축풀기------------...
  • 웹지기 09-11 4726 0 0 댓글 0
  • 67 .htaccess 관련팁
  • 해당 팁은 '타이니'님께서 알려주신 정보를 동의하에 재구성하여 쓰게 되었습니다'타이니'님 홈피 주소 : http://kimsq.cweb.co.kr/자신의 웹사이트.htaccess를 수정해서 웹 사이트 퍼포먼스 향상 및 트래픽 절감 효과를 얻을수 있는 팁입니다- .htaccess 파일은 기본 숨김 파일이므로 ftp 프로그램에서 숨김파일 보기 옵션을 키셔야 볼 수 있고기본적으로 루트에 있습니다(index.php 파일 있는곳, 모듈폴더와 레이아웃폴더 들이 있는곳 있죠? 그폴더입니다)- 웹서버 환경설정 ...
  • 웹지기 09-11 5630 0 0 댓글 0
+6
  • 63 [ eclipse ] 이클립스에 자바스크립트 자동완성 추가하기
  • tern.repository-1.2.1.zip 파일을 다운을 받는다. Help &gt; Install new Software 를 통해 다운받은 파일을 등록한다. 중간에 Install~~ 등의 문구가 나오면 Install 클릭하고 Restart가 나오면 재시작 해준다. 새로운 프로젝트를 만들고 설정을 해준다. Javascript &gt; tern 에서 ECMAscript6 선택 Javascript &gt; tern &gt; mod...
  • 웹지기 02-08 6527 0 0 댓글 0
+1
  • 62 [ 정보처리기사 ] 소프트웨어 설계 - 관계
  • ❖ 관계 • 연관관계 - 2개 이상의 사물이 서로 관련되어 있음을 표현 - 사물 사이 실선, 방향성은 화살표 - 양방향 관계의 경우 실선으로만 연결 - 다중도(Multiplicity)를 선 위에 표기 - 다중도 1 n 0..1 0..* 또는 * 1..* n..* n..m • 집합관계 - 포함하는 쪽과 포함되는 쪽은 서로 독립적 - 속이 빈 마름모를 연결하여 표현 컴퓨터 ◇----------- 프린터 • 포함관계 - 포함하는 쪽과 포함되는 쪽은...
  • 웹지기 02-02 4204 0 0 댓글 0
  • 61 [ 정보처리기사 ] 소프트웨어 설계 - UML(Unified Modeling Language)
  • ❖ 개요 대표적인 객체지향 모델링 언어 객체 기술에 관한 국제표준화기구인 OMG에서 표준으로 지정 ❖ 사물 구조 사물(Structural Things) - 시스템의 개념적, 물리적 요소를 표현함 - 클래스(Class), 유스케이스(Use Case), 컴포넌트(Component), 노드(Node) 등 행동 사물(Behavioral Things) - 시간과 공간에 따른 요소들의 행위를 표현 - 상호작용(Interaction), 상태 머신(State Machine) 등 그룹 사...
  • 웹지기 02-01 4430 0 0 댓글 0
  • 60 [ 정보처리기사 ] 소프트웨어 설계 - 요구 사항
  • ❖ 요구사항의 개념 및 특징 • 제공하는 서비스에 대한 설명 • 정상적인 운영에 필요한 제약조건 등 ❖ 요구사항의 유형 기능 요구사항(Functional requirements) • 시스템이 무엇을 하는지에 대한 사항 • 시스템이 어떤 기능을 하는지에 대한 사항 • 시스템의 입력이나 출력으로 무엇이 포함되어야 하는지, 시스템이 어떤 데이터를 저장 하거나 연산을 수행해야 하는지에 대한 사항 • 시스템이 반드시 수행해야 하는 기능 • 사용자가 시스템을 통해 제공받기...
  • 웹지기 02-01 4092 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
1,402
어제
9,384
최대
33,828
전체
8,407,958

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