Information Security
37-1 Apache 인증 본문
Apache 인증
-특정 페이지를 인증을 거쳐야만 접근할 수 있도록 설정
-Basic 인증과 Digest 인증이 있다.
Basic 인증
-클라이언트가 웹 서버로 보내는 인증은 암호화되지 않고 전달되어 안전하지 않은 방법이다.
-Basic 인증을 사용하기 위해서는 mod_auth_basic 모듈이 필요하며 httpd 패키지를 설치하면 기본적으로 사용할 수 있다.
보조 설정 파일(*.conf)을 생성하여 Basic 인증을 설정하는 내용을 작성한다.
<Directory "/var/www/html/basic">
Basic 인증을 적용할 디렉터리
AuthType Basic
인증의 방식을 Basic으로 설정
AuthName "Basic Authentication Test"
인증 화면에서 사용자에게 보여줄 메시지
AuthUserFile /etc/httpd/.htpasswd
사용자의 패스워드가 저장될 파일의 경로
Require user web-admin
소수의 사용자만 인증이 필요할 경우 사용자명 입력
#Require valid-user
.htpasswd 파일에 등록된 모든 사용자를 허용할 경우 사용
Order deny,allow
명시된 네트워크에서만 접근 허용
Deny from all
Allow from 127.0.0.1 100.100.100
</Directory>
htpasswd 명령어를 이용하여 사용자의 패스워드가 저장될 파일을 생성하며 사용자 web-admin을 해당 파일에 추가한다.
(-c Create a new file)
생성한 패스워드 파일을 확인한다.
-> 패스워드가 해시 함수 md5로 암호화되어 저장되어 있다.
변경된 설정을 적용한다.
인증을 적용할 디렉터리를 생성한다.
해당 디렉터리 접근 시 출력할 초기 화면 파일을 생성한다.
firefox를 실행하여 URL(www.yyy.com/basic)을 입력한다.
-> 인증 창 실행 -> web-admin으로 인증
Basic 인증 성공 (index.html 파일 내용 출력)
Digest 인증 (HTTP Digest Authentication)
-Basic 인증보다 보안이 강화된 인증 방법이다.
-사용자 명, 패스워드 등을 조합하여 생성한 md5 값으로 인증에 사용한다.
-mod_auth_digest 모듈을 사용한다.
보조 설정 파일(*.conf)을 생성하여 Digest 인증을 설정하는 내용을 작성한다.
<Directory "/var/www/html/digest">
Digest 인증을 적용할 디렉터리
AuthType Digest
인증 방식을 Digest로 설정
AuthName "Private Area"
-인증 화면에서 사용자에게 보여줄 메시지
-내용은 사용자 생성 시 Realm으로 사용된다.
AuthDigestDomain http://www.yyy.com/digest/
Digest 인증이 적용되어 보호가 될 URL
AuthUserFile /etc/httpd/.htdigest
사용자의 패스워드가 저장될 파일의 경로
Require valid-user
.htdigest에 등록된 사용자만 접근 허용
#htdigest -c [해당 정보가 저장될 파일명] ['Realm'] [사용자]
-Digest 인증을 사용할 사용자를 생성한다.
-파일명과 Realm을 설정 파일과 일치하게 지정한다.
-Realm은 사용자가 속한 영역을 의미한다.
htdigest 명령어로 생성한 파일 .htdigest를 확인한다.
[사용자명]:[Realm]:[패스워드]
-주/ 보조 설정 파일의 문법을 검사한다.
-Syntax OK -> 문제 없음
변경 사항이 적용되도록 데몬을 재시작한다.
Digest 인증이 적용될 디렉터리를 생성한다.
인증 성공 시 사용자에게 출력할 초기 화면 파일을 생성한다.
firefox를 실행하여 주소창에 URL(www.yyy.com/digest)를 입력한다.
-> 인증 시도
Digest 인증 성공! (index.html 파일 내용 출력)
'Linux' 카테고리의 다른 글
37-3 XE(Xpress Engine) (0) | 2017.11.06 |
---|---|
37-2 APM(Apache + Php + Mysql) (0) | 2017.11.06 |
36-2 PHP(Hypertext Preprocessor) (0) | 2017.11.03 |
36-1 WEB (0) | 2017.11.03 |
35 KICKSTART (0) | 2017.11.02 |