티스토리 뷰
1. NginX 웹서버의 사용자 계정 확인
$ cat /etc/nginx/nginx.conf | grep user
user nginx
음... nginx 로군.
2. 웹서버 루트 실제 경로 확인
/home 아래 호스팅 계정이라 가정
$ vi /etc/nginx/conf.d/vhost.conf
server {
......
root /home/some/public_html
......
}
3. 퍼미션과 owner 확인
$ namei -om /home/some/public_html
접근 권한을 확인하고
chmod, chown 사용하여 적절히 변경한다.
4. 퍼미션 등 확인
웹서버 로그 설정 확인하여 tail 명령 실행
$ tail -f /var/log/nginx/some_error.log
브라우저로 사이트 접속 시도
위 tail 명령 결과에서 permission 오류가 발생하지 않으면 Done!
만약 오류가 발생하면 다음으로 계속~
5. SELinux 꺼보고 다시 접속 테스팅
$ setenforce 0
브라우저로 접속해봐서 403 오류 발생하지 않으면
무조건 SELinux 디렉토리 보안 블럭으로 인해 403 오류 발생한 것.
6. ls -Z 명령으로 디렉토리에 걸린 SELinux 보안상태 확인
$ ls -Z /home/some
drwxr-xr-x nlinux nlinux root:object_r:httpd_sys_content_t some
drwxr-xr-x nlinux nlinux user_u:object_r:user_home_dir_t public_html
7. 디렉토리에 SELinux httpd 허용 설정
httpd_sys_content_t 타입을 설정해줘야 HTTP 웹서버가 접근 가능
$ chcon -Rt httpd_sys_content_t /home/some/public_html
파일 저장 디렉토리는 httpd_sys_rw_content_t 타입을 설정해줘야 HTTP 웹서버가 읽기 쓰기 가능
$ chcon -Rt httpd_sys_rw_content_t /home/some/public_html/files
9. SELinux 패키지 설치
$ yum install -y policycoreutils policycoreutils-python selinux-policy selinux-policy-targeted libselinux-utils setroubleshoot-server setools setools-console mcstrans
10. SELinux httpd 관련 허용 설정
$ setsebool -P httpd_can_network_connect on
웹서비스에서 다른 외부 URL 호출(예: curl) 가능하게
$ setsebool -P httpd_enable_homedirs=1
웹서비스에서 사용자 홈 디렉토리 접근 가능하게
$ setsebool -P httpd_use_nfs=1
웹서비스에서 nfs 폴더 접근 가능하게 (선택사항)
11. SELinux 켜보고 다시 접속 테스팅
$ setenforce 1
브라우저로 접속해봐서 403 오류 발생하지 않음. Done!
12. SELinux 오류 발생 로그 모니터링 (선택사항)
$ tailf /var/log/audit/audit.log
* 참고
- http://stackoverflow.com/a/26228135
- http://blog.nlinux.com/55
- https://www.digitalocean.com/community/tutorials/an-introduction-to-selinux-on-centos-7-part-1-basic-concepts
- https://www.lesstif.com/pages/viewpage.action?pageId=27984832
- https://unix.stackexchange.com/a/337748
'OS-서버-서비스 > Linux' 카테고리의 다른 글
CentOS 6 에 Nginx 1.9.x mainline 버젼 설치 (0) | 2016.04.06 |
---|---|
CentOS 에 PHP FPM 5.6 설치 (0) | 2016.04.06 |
콘솔에서 curl 이용하여 실행시간 Benchmarking (0) | 2015.11.24 |
supervisor (0) | 2015.11.24 |
리눅스에서 Cron 겹쳐 중복 실행 막기 (0) | 2015.11.12 |
- Total
- Today
- Yesterday
- Make Use Of
- How to geek
- 인터넷 통계정보 검색시스템
- 트위터 공유 정보모음
- 웹표준KR
- 치우의 컴맹탈출구
- Dev. Cheat Sheets
- w3schools
- Dev. 조각들
- ASP Ajax Library
- CSS Tricks
- WebResourcesDepot
- jQuery Selectors Tester
- DeveloperSnippets
- Smashing Magazine
- Nettuts+
- devListing
- 웹 리소스 사이트(한)
- Mobile tuts+
- Dream In Code
- Developer Tutorials
- CSS3 Previews
- 자북
- 안드로이드 사이드
- Code Visually
- Code School
- SQLer.com
- 무료 파워포인트 템플릿
- iconPot
- Free PowerPoint Templates
- Design Bombs
- Web Designer Wall
- 1st Webdesigner
- Vandelay Design
- 무료 벡터 이미지 사이트들
- Tripwire Magazine
- Web TrendSet
- WebMonkey
- 윤춘근 프리젠테이션 디자이너 블로그
- cz.cc 무료 DNS
- [웹하드] MediaFire
- [웹하드] DivShare
- 한컴 인터넷 오피스
- 한글
- Docker
- PHP
- ASP
- Wordpress
- API
- javascript
- centos
- IE
- IOS
- Prototype
- laravel
- JSON
- iis
- Chrome
- JQuery
- Linux
- mssql
- sencha touch
- Mac
- CSS
- git
- nodejs
- iphone
- 안드로이드
- classic asp
- Debug
- 워드프레스
- Android
- nginx
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |