본문 바로가기
Linux/NetAdmin

[CentOS5.11] .htaccess 를 이용한 웹 보안.

by Luuii 2017. 9. 16.

.htaccess란?

○ 참고 사이트( .htaccess 의 기본 개념)

http://yojm.net/?p=94

 

 

◇ 실습

# vi /www1/.htaccess

1
2
3
4
AuthName        "restricted stuff" 
AuthType        Basic 
AuthUserFile    /etc/httpd/conf/mypasswd
require         valid-user
cs

 

★ 참고

> /etc/httpd/conf/httpd.conf 파일에 AllowOverride 설정이 되어 있으면, 
  특정한 웹페이지에 대해서 사용자 인증을 할 수 있다.

 

[ AllowOverride 옵션 설정 ]

 AuthConfig

 인증, 방법, 명령을 사용 할 수 있으며,

 AuthDBMGroupFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, require 등을 쓸 수 있다.

 Fileinfo

 AddEncoding, AddLanguage, AddType, DefaultType, LanguagePriority 명령을 사용 할 수 있도록 한다.

 Indexes

 AddDescription, Addicon, AddiconByEncoding, AddiconByTyoe, Defaultion, Directoryindex, Fancyindexing,

 HeaderName, Indexignore, IndexOptions, ReadmeName 등 디렉토리 인덱싱 관리명령을 사용할 수 있다.

 Limit

 서버 접근을 제어할 수 있는 allow, deny, order 명령을 사용할 수 있다.

 

[ .htaccess 옵션 설정 ]

 AuthType

 인증 타입은 Basic, Diget가 있지만, 현재 Basic만 지원한다.

 AuthName

 인증 영역에 대한 이름을 지정하는 지시자. 클라이언트의 웹 브라우저에 전달되어 유저 인증 윈도우 내의

 영역에 표시되며 주의 할 점은 영역 이름을 기입 할 때 스페이스가 들어가서는 안된다.

 만일 스페이스가 들어 갈 때는 반드시 큰 따옴표로 묶어 주어야 한다.

 AuthUserFile

 인증 사용자와 패스워드를 가진 패스워드 파일을 지정하는 지시자, 사용자 인증 패스워드 파일을 지정할 때

 슬래쉬가 없는 경우, 즉 디렉토리를 지정하지 않으면 서버 루트 디렉토리를 기본으로 한다.

 AuthGroupFile

 인증 사용자들의 그룹 파일을 지정하는 지시자, 그룹 지정 형식은 그룹: 유저1 유저2 유저3 . . . 같이 그룹과

 유저 사이를 콜론으로 구분하고 유저와 유저는 스페이스로 띄어 구분한다. 디렉토리를 지정 할 경우

 서버 루트가 기본 디렉토리로 동작하게 된다.

 require user

 지정한 유저만 디렉토리 접근을 허용한다.

 require valid-user

 패스워드 인증이 올바르게 된 사용들만 접근을 허용한다.

 require group

 지정한 그룹에 있는 유저들만 디렉토리 접근을 허용한다.

 

ⓐ htpasswd 명령어를 이용한 사용자 암호 설정

# htpasswd -mc /etc/httpd/conf/mypasswd testuser

 

ⓑ mypasswd 확인

# cat /etc/httpd/conf/mypasswd

 

ⓒ AllowOverride 추가

# vi /etc/httpd/conf/httpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
NameVirtualHost 192.168.35.143:80
<VirtualHost 192.168.35.143:80>
    ServerAdmin root@linux213.example.com
    DocumentRoot /www1
    ServerName www.linux213.example.com
    <Directory /www1>
        Options indexes includes
        AllowOverride AuthConfig            # 라인추가
    </Directory>
    ScriptAlias /cgi-bin/ /www1/cgi-bin/
</VirtualHost>
 
cs

 

# httpd -t

# service httpd restart

 

ⓓ 테스트

 

윈도우에서 www.linux213.example.com   or   http://192.168.35.143

 

 

 

 

반응형