티스토리 뷰
아파치 기본 설정 파일인 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 에 접근하지
못한다. 물론.. 그 밑에 까지 몽땅 다 차단된다!!
만약 192.168.1.1 IP를 사용하는 호스트가 익스플로러를 사용해 웹서버에 접근을 시도한다면..
창에 이렇게 뜬다.-_-)/
----------------------------------------------------------------------------------------
특정 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
요 방법두 나쁘지는 않은듯..^^
--------------------------------------------------------------------------------------
'Programing' 카테고리의 다른 글
[css] 모바일 웹 img 크기 조절 방법 (0) | 2014.04.10 |
---|---|
[Jsp]HttpServletRequest (0) | 2013.10.18 |
[Window]윈도우서버 배치파일 파일 복사 및 삭제 (0) | 2013.06.21 |
JSP로 엑셀(Excel) 다운로드 파일만들기(한글깨짐,숫자포함) (0) | 2013.06.14 |
[JAVASRIPT]팝업창 닫고 새로운 창 열기 (0) | 2013.05.23 |
- Total
- Today
- Yesterday
- DB
- java
- 자동차
- select
- 설정
- 파일
- mssql
- MySQL
- tomcat
- user
- Shell
- server
- DATABASE
- 서버
- Toad
- 윈도우
- Windows
- 데이터
- 리눅스
- 백업
- apache
- 테이블
- eclipse
- Linux
- Oracle
- sql
- IP
- table
- 오라클
- delete
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |