RadarURL
Skip to content
웹서버,WAS
2021.01.02 23:18

Apache 403 Forbidden error 해결 방법

조회 수 3 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

리눅스 아파치 403 오류의 3가지 고려사항

 

리눅스 서버에서 아파치(Apache) 웹서버를 설치하여 사용하다보면 자주 등장하는 것이 403 Forbidden(Apache 403 Forbidden error) 에러다.

403 Forbidden 에러는 해당 파일이나 디렉터리에 접근 권한이 없는 경우 것으로 보안과 관련된 오류다.

디렉터리나 파일 권한, 그리고, 웹서버의 설정을 봐도 왜 403 에러가 나는 지 쉽게 알 수 없는 경우가 있다.

 

16671A0C4BE2D4B35F.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 : 심볼릭링크를 따르지 않도록 한다.



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

 



출처: https://blog.bsmind.co.kr/246 [하츠의 꿈]

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.17 829488
2611 소프트웨어 [Synology NAS] 레이 드라이브(RaiDrive)에 연동하여 서버에 쉽게 접근하기 file JaeSoo 2021.01.14 2
2610 윈도우즈 LG 그램 OS 설치 안될때 USB 설치 방법 file JaeSoo 2021.01.13 1
2609 웹서버,WAS [Linux] 아파치(Apache) SSL 인증서 설치 file JaeSoo 2021.01.12 3
2608 웹서버,WAS 리눅스 CentOS 7 HTTPS 리다이렉트 설정 file JaeSoo 2021.01.12 2
2607 웹서버,WAS [Apache] SSL 적용하기 / HTTP->HTTPS로 Rewrite하기 file JaeSoo 2021.01.12 1
2606 웹서버,WAS centos 7.x에서 ssl 설치하기 JaeSoo 2021.01.12 3
2605 웹서버,WAS CentOS7 Apache ssl 인증서 적용 그리고 80 to 443 redirect JaeSoo 2021.01.12 2
2604 웹서버,WAS 무료 SSL 보안 인증서 발급받기 (Free SSL Certificate) file JaeSoo 2021.01.12 2
2603 경제 [키움증권 스탑로스 사용법], "자동감시주문 활용, 수익극대화 비법 전격공개" file JaeSoo 2021.01.09 2
2602 웹서버,WAS XE1에서 XE3로 데이터를 이전시킬 수 있을까요? JaeSoo 2021.01.03 4
2601 유닉스/리눅스 CentOS SELinux 설정 및 해제하기 JaeSoo 2021.01.03 4
2600 웹서버,WAS [리눅스][XE]XpressEngine(제로보드) 사용 시, 500 Internal Server Error when using .htaccess with RewriteEngine JaeSoo 2021.01.02 2
2599 데이터베이스 CentOS 7 yum으로 phpMyAdmin 설치 & 권한(permission) 문제 해결 file JaeSoo 2021.01.02 3
2598 웹서버,WAS [리눅스/CentOS 7] PHP7.2 설치(Webtatic) file JaeSoo 2021.01.02 3
2597 웹서버,WAS CentOS 7 PHP / PHP-FPM 7.4 설치 (remi repo) file JaeSoo 2021.01.02 9
» 웹서버,WAS Apache 403 Forbidden error 해결 방법 file JaeSoo 2021.01.02 3
2595 웹서버,WAS 아파치 Forbidden You don’t have permission to access / on this server. 에러 해결 JaeSoo 2021.01.02 2
2594 웹서버,WAS CentOS-7.9.2009에 APM (Apache 2.4.6, PHP 7.4.13, MariaDB 5.5.68), XpressEngine 3, php 모듈(pdo, cURL, Fileinfo, GD, Mbstring, OpenSSL, Zip PHP) JaeSoo 2021.01.02 2
2593 웹서버,WAS [리눅스] 웹서버(아파치;apache) 설치후 다른 계정으로 실행하기 file JaeSoo 2021.01.02 3
2592 웹서버,WAS [CentOS] 아파치(apache) 제거하기 file JaeSoo 2021.01.02 3
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 131 Next
/ 131

 

■ 즐겨찾기 - 가족
JAESOO's HOMEPAGE YOUNGAE's HOMEPAGE 장여은 홈페이지 장여희 홈페이지 장여원 홈페이지

■ 즐겨찾기 - 업무
알리카페 홀릭 숭실대 컴퓨터 통신연구실 (서창진) 말레이시아 KL Sentral 한국인 GuestHouse

■ 즐겨찾기 - 취미
어드민아이디 유에코 사랑회 아스가르드 좋은사람/나쁜사람 JServer.kr 제이서버 메타블로그 재수 티스토리

■ 즐겨찾기 - 강의, 커뮤니티
재수 강의 홈페이지 한소리 VTMODE.COM 숭실대 인공지능학과 숭실대 통신연구실


PageViews   Today : 200   Yesterday : 1,358   Total : 64,934,058  /  Counter Status   Today : 92   Yesterday : 493   Total : 4,180,511
Site Info   Member : 1,464  /  Total documents : 8,010   New documents : 0  /  Total comments : 562

design by by JAESOO.com

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소