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

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

knowledge

[ apache ] 403 - Forbidden error의 해결

페이지 정보

작성자 웹지기 댓글 0건 조회 18,827회 작성일 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건 1 페이지
  • 89 직급 직책 팀 전문직업별 명칭과 영문표기
  • *직급 한글/영문* 회장 - Chairman/CEO부회장 - Vice Chairman/CEO사장 - President/CEO대표이사 - Executive Managing Director/Chief Executive Officer부사장 - Senior Executive/Vice President총괄 관리 부장 Division Manager in General Administration 전무 - Executive director 상무 - Managing Director 이사- Director ...
  • 웹지기 09-18 20103 0 0 댓글 0
  • 열람중 [ apache ] 403 - Forbidden error의 해결
  • 리눅스에 아파치 웹서버를 설치하면 자주 등장하는 것이 403 Forbidden 에러다. (Apache 403 Forbidden error) 403 Forbidden 에러는 해당 파일이나 디렉터리에 접근 권한이 없는 경우 것으로 보안과 관련된 오류다. 디렉터리나 파일 권한, 그리고, 웹서버의 설정을 봐도 왜 403 에러가 나는 지 쉽게 알 수 없는 경우가 있다.403 Forbidden error는 원인이 여러가지이고 찾기가 쉽지 않아 매번 한참 해메다가 겨우 해결하곤 한다. 그 해결 방법을 정리해 ...
  • 웹지기 10-01 18828 0 0 댓글 0
+4
  • 87 [ nas ] synology(시놀로지) Let's Encrypt 인증서 설치하고 설정하는 방법
  • Let’s Encrypt Let’s Encrypt에서는 공인된 인증서를 무료로 제공해줍니다. 단점은 90일마다 갱신을 해야 한다는 것인데, DSM에서 자동으로 갱신을 해주므로 신경쓸 것이 없습니다. -- 준비하기 도메인 외부에서 접속할 수 있는 도메인이 필요합니다. 단, 도메인 별로 인증서 발급 횟수 제한이 있습니다. 그래서 많이 사용하는 xxx.iptime.org 같은 도메인은 인증서 발급이 되지 않을 수 있습니다. 80 포트로 연결되도록 하기 80 포트로 접속할 수...
  • 웹지기 11-29 13877 0 0 댓글 0
  • 86 [ 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 12420 0 0 댓글 0
  • 85 네이버 스마트 에디터 폰트추가 방법
  • smarteditor2.min.js 파일this.addFont('Noto Sans KR', 'sans-serif', 0, "", "", 1, "abcd", true);smarteditor2.min.js 파일에this.addFont('Noto Sans KR', 'sans-serif', 0, "", "", 1, "abcd", true);SmartEditor2.html 샘플파일 스마트에디터 생성시...
  • 웹지기 09-04 11814 0 0 댓글 0
  • 84 무료 홈페이지 템플릿
  • 무료 템플릿(template) 사용방법템플릿은 여러 분야에서 많이 쓰이는 용어인데 영어사전을 찾아보니깐 ‘본뜨는 공구’, ‘형판’ 이라는 뜻으로 쓰이고 있습니다. html템플릿이라고 하면 html로 미리 웹문서를 디자인 해 놓은 것을 말한다고 보면 될 것 같습니다. 아래 나열된 사이트들은무료로템플릿을 제공하는 사이트들입니다.opendesigns.orgfreetemplatesonline.comcss4free.comfreecsstemplates.comoswd.orgfreecss.infoopensour...
  • 웹지기 09-27 11135 0 0 댓글 0
+8
  • 83 [ 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 11014 0 0 댓글 0
  • 82 [ ERD ] ERM - ERD 사이트
  • "구조"화된 데이터를 저장하기 위해 데이터베이스를 사용한다. 이 데이터의 "구조" 및 그에 수반한 제약 조건들은 다양한 기법에 의해 설계될 수 있다. 그 기법 중 하나가 개체-관계 모델링(Entity-Relationship Modelling)이다. 줄여서 ERM ERM 프로세서의 산출물을 가리켜 개체-관계 다이어그램(Entity-Relationship Diagram)이라 한다. 줄여서 ERD
  • 웹지기 11-12 9991 0 0 댓글 0
+3
  • 81 [ 정보처리기사 ] 소프트웨어 설계 - 현행 시스템 파악 절차
  • ❖ 현행 시스템 파악 절차 1단계 시스템 구성 현황 파악 │ 시스템 기능 파악 │ 시스템 인터페이스 현황 파악 2단계 아키텍처 파악 │ 소프트웨어 구성 파악 │ 3단계 시스템 하드웨어 현황 파악 네트워크 구성 파악 ❖ 시스템 구성 현황 파악 - 금융기관의 여신관리 업무와 고객관리 업무 시스템 현황 구분 시스템 명 시스템 내용 비고 ...
  • 웹지기 02-01 9376 0 0 댓글 0
  • 80 [ software ] 훌륭한 무료 소프트웨어들
  • 무료라지만 유료로 써도 아깝지 않을 만큼 잘 만든 프리웨어 소프트웨어들이 생각보다 많고이런 소프트웨어들만 가지고 내 PC를 토핑해도 불편하지 않을 정도입니다.물론 새로운 소프트웨어의 사용법을 익히고 내 것으로 만드는 데 시간이 필요하긴 합니다.무료 소프트웨어만으로 내 PC를 꾸미고 불편함 없이 PC를 사용하는 것이 가능할까요?도전해 볼 만한 일입니다. 프리웨어 소프트웨어 중에는 소스 코드 또한 오픈 되어 있어소프트웨어 개발에 관련된 분들에게 유익한 학습 자료가 될 수 있습니다.GIMP - 사진보정...
  • 웹지기 09-27 9120 0 0 댓글 0
  • 79 [ software ] 지엠 폼메일에디터
  • 지엠 폼메일에디터1) 먼저 파일을 압축해제하여 원하는 곳에 모든 파일을 업로드합니다.2) LIBsent/config.inc.php 파일을 적절하게 수정하여 업로드합니다.[code] $hostname = \"localhost\"; // MySQL 데이터베이스 호스트 $database_name = \"idoogie_test\"; // MySQL 데이터베이스 디비명 $db_user = \"idoogie_test\"; // MySQL 데이터베이스...
  • 웹지기 10-01 9089 0 0 댓글 0
  • 78 웹앱에 푸시 알림 추가(크롬,파폭등에서 알림 기능)
  • 푸시 메시지는 사용자가 다시 참여하도록 유도하는 간단하면서도 효과적인 방법이 코드랩에서는 자신의 개발한 웹 앱에 푸시 알림을 추가하는 방법푸시 메시지에 대한 사용자 구독 및 구독 취소 방법수신 푸시 메시지 처리 방법알림 표시 방법알림 클릭에 대한 응답 방법필요한 사항- Chrome 52 이상- Web Server for Chrome 또는 자신이 직접 선택한 웹 서버- 텍스트 편집기- HTML, CSS, 자바스크립트 및 Chrome DevTools에 대한 기본적인 지식- 샘플 코드(설치하기 참조) ...
  • 웹지기 09-07 8865 0 0 댓글 0
+1
  • 76 [ XAMPP ] window10 설치하기
  • 다운로드 사이트로 이동을 해서 다운을 받는다. https://www.apachefriends.org/download.html php 7.2를 사용하기 위해 7.2.20 / PHP 7.2.20을 다운 받는다. 설치 시작시 경고창이 뜨는데 이는 64bit일때 뜨는 경고이다 OK를 눌러 넘어간다 원하는 구성요소를 선택하고 설치를 눌러 설치를 진행한다. 설치 폴더를 원하는 폴더 변경한 후 설치해준다. 설치가 끝나면 XAMPP Control Panel 이 뜹니다. 아파치 설정을 ...
  • 웹지기 07-16 8199 0 0 댓글 0
  • 75 [ Laragon ] window10 설치하기 - a(apache) + n(ngine) + p(php) + …
  • 링크 주소로 이동해 홈페이지를 다운받는다. https://laragon.org/download/ 다운 받은 파일을 설치해 주고 설정을 한다. Laragon root directory 변경 https://sir.kr/so_phpframework/336 링크처럼 따라해서 각각 설정을 추가하거나 바꿔준다. 설치를 해보면 PHP-7.2.2, Apache 2.4.29, mysql 5.7.19 가 설치 되어 있습니다. Start All을 먼저 누르지 말고 아래 부터 해주세요...
  • 웹지기 07-23 7416 0 0 댓글 1
게시물 검색

회원로그인

접속자집계

오늘
2,869
어제
11,874
최대
33,828
전체
8,536,905

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