일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- html pdf 변환
- 비밀번호검증정규식
- svn 충돌 해결 resolve
- usb efi 시스템 파티션 삭제
- PHP 구글 OTP 인증
- 파라미터 & 오류
- svn 충돌 해결 resolved
- modsecurity 설치
- 세로 중앙 정렬
- bootstrap
- wkhtmltopdf 실행 오류
- (using password: YES)" when trying to connect
- 구글 OTP 인증
- 아파치 웹 서버의 정보 숨기기
- mysqldump: Got error: 1045
- libxrender1
- php 배열제거
- 부트스트랩4 세로 중앙 정렬
- 자바스크립트비밀번호검증
- javascript
- group_concat 구분자
- PHP 정규식 예제
- 비밀번호정규식
- apache mod rewrite
- PHP 구글 OTP 연동
- JQuery checkbox 컨트롤
- bootstrap modal
- httpd.conf 보안 설정
- 우분투 mysql 비밀번호 없이 로그인 될때
- mysql root 비밀번호 변경
- Today
- Total
투덜이 개발자
[웹보안]Apache httpd.conf 보안 설정 본문
아파치 기본 설정 파일인 httpd.conf 파일을 통해 보안을 강화 시킬 수 있다.
물론 웹서버 보안 프로그램을 사용해서 보안화 한다면 더욱 좋겠지만.. 기본적인 보안부터
시작하면 더 좋다고 생각한다.
------------------------------------------------------------------------------------
특정 IP 차단하기.. or 특정 IP 만 허용하기
------------------------------------------------------------------------------------
특정 IP(대역)를 사용하는 호스트 차단하기
# vi /usr/local/apache/conf/httpd.conf
.........
<Directory /usr/local/apache/htdocs>
Order Allow,Deny
Deny from 192.168.1
Allow from all
</Directory>
..........
위 설정은 192.168.1.0~254 IP를 사용하는 호스트들은 기본 DocumentRoot인 htdocs 에 접근하지
못한다. 물론.. 그 밑에 까지 몽땅 다 차단된다!!
----------------------------------------------------------------------------------------
특정 IP(대역)을 사용하는 호스트만 허용하기
# vi /usr/local/apache/conf/httpd.conf
........
<Directory /usr/local/apache/htdocs>
Order Deny,Allow
Allow from 192.168.1
Deny from all
</Directory>
........
위 설정은 192.168.1.0~254 IP를 사용하는 호스트들만 htdocs 디렉토리에 접근할 수 있다.
사내에서만 사용하는 웹서버를 구축한다면 유용할 듯 싶다.
참고로 '
Order Deny,Allow
' 의 뜻은 Allow 설정을 먼저 확인하고 그 다음 Deny 설정을 확인한다.
즉.. 뒤에 것이 우선한다는 뜻이다.
예를 들자면
<Directory /usr/local/apache/htdocs>
Order Allow,Deny
Deny from all
Allow from 192.168.1.1
</Directory>
언뜻 보면 192.168.1.1 IP를 사용하는 호스트만 htdocs 디렉토리에 접근할 수 있을 듯 보이지만..
Order 옵션을 보면 Deny가 뒤에 있다. 즉 먼저 Deny 설정을 확인한다는 뜻인데.. Deny 설정은
Deny from all 로 되어있다. 즉 모두 차단하겠다라는 의미를 가진다.
암만 192.168.1.1 이 접근이 허용되있다고 하더라도 Deny 설정에 걸리기 때문에..가차없다-_-
다른 예를 한번 들어보면..
<Directory /usr/local/apache/htdocs>
Order Deny,Allow
Allow from all
Deny from 192.168.1.1
</Directory>
이렇게 설정을 했다면.. 192.168.1.1 을 사용하는 호스트도 htdocs 디렉토리에 접근이 가능하다.
Order 옵션을.. 어떻게 적용하느냐에 따라서 자신이 원하는 것을 이룰지 모르지만 그렇지 않을 경우도 있기때문에.. 잘 생각해보고 적용해야 한다!!
--------------------------------------------------------------------------------------
서버 사이드 파일 설정
서버 사이드란?
간단하게 "웹 서버측에서 하는 작업들"이라고 말할 수 있다. 여기서 말하는 작업이란 구체적으로
웹브라우저(클라이언트)에서 넘어온 자료를 데이터베이스에 저장한다든지 어떤 수학적인 계산을 하여 결과를 만들어 낸다는 것을 의미한다. 이런 작업을 담당하는 것이 웹 프로그램이다.
웹 프로그램의 종류는 PHP, ASP, JSP, Perl 등등.. 이 존재한다.
특정 파일에 대해서도 접근을 허용하거나 불허용할 수 있다.
예를 하나 들어보자. 제로보드를 사용하는 유저들이라면 잘 알겠지만.. 관리페이지를 들어가기
위해서는 admin.php 를 통해야 한다. 이 것을 한번 막아보자-_-a
# vi /usr/local/apache/conf/httpd.conf
.......
<Files ~ "admin.php">
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
</Files>
.......
이렇게 설정하면 192.168.1.1 IP를 사용하는 호스트만 admin.php에 접근할 수 있다.
요것을 잘 응용하면 좋다-_-)b
.bak, .old 파일들과 같은 서버사이드 소스파일을 접근 못하게 하는것이 젤 좋다-_-)b
php를 사용하다 보면 따로 dbconn.php 파일을 생성해서 DB에 접근하는데 중요한 것은..
이 파일 소스안에 DB에 접근할 수 있는 계정, password 가 그대로 존재한다는 것이다.
이것을 백업 좀 하겠다고-_-.. dbconn.bak 이나 dbconn.old로 카피해서 같은 디렉토리에
집어넣었다면 웹에서 직접 소스로 접근이 가능하다-_-.. 겁내 위험한거다;;;
<Files ~ ".bak$">
Order allow,deny
Deny from all
</Files>
<Files ~ ".old$">
Order allow,deny
Deny from all
</Files>
요렇게 막자^-^)b
또는.. 특정확장자를 PHP와 같은 서버사이드 언어로 설정해 웹 서버에 소스를 그대로 보이지 않고 실행하도록 하는 방법이 있다.
AddType application/x-httpd-php .php .inc .bak .old .c
요 방법두 나쁘지는 않은듯..^^
--------------------------------------------------------------------------------------
출처 - http://blog.daum.net/9401ymk/7087666
출처: https://applejara.tistory.com/432 [애플자라:티스토리]
'Etc' 카테고리의 다른 글
apache mod rewrite (0) | 2024.08.20 |
---|---|
summernote 비디오 삽입 관련 (0) | 2024.08.13 |
USB EFI 시스템 파티션 삭제하기 (1) | 2024.07.24 |
구글 애드센스 활성화 됨^^ (0) | 2023.12.05 |
아마존 aws 탈퇴하기 (0) | 2023.11.02 |