sitelink1 https://zesus75.blog.me/221103019900 
sitelink2  
extra_vars5  
extra_vars6  

웹서비스를 안전하게 설정하기 위해서 우리는 .htaccess 파일을 홈페이지 디렉토리에 만들고, 접근할 수 있는 사용자를 설정함으로써 가능해진다. 물론 apache 웹서버가 .htaccess 파일과 .htpasswd 파일을 찾느라 느려질 수 있으나 phpMyAdmin과 같은 아무나 볼 수 있어서 입력해 로그인 시도를 할 수 있는 관리 페이지 웹사이트들이 이렇게 보호하는 것이 좋다.

1. Authentication 도구 설치

다음과 같은 명령으로 필요한 소프트웨어 패키지를 설치한다.

$ sudo apt-get install apache2-utils

설치가 되면 다음으로 인증을 위한 파일 2개를 만든다.

 

2. Apache2 서버 설정 파일 확인 및 수정

Apache 2 서버 설정 파일에 웹서비스를 정의할 수 있다.

$ sudo emacs -nw /etc/apache2/apache2.conf

가상 웹서비스 별로 다음과 같이 설정이 있으며, AllowOverride 설정이 All로 되어 있으면 된다.

filename : /etc/apache2/apache2.conf <Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .

또한 "/etc/apache2/conf-available" 디렉토리에 별도의 설정 파일을 두어 가상 웹서비스를 설정할 수 있으므로 이 디렉토리도 확인해야 한다.

$ sudo service apache2 restart

웹서버의 설정을 변경했으므로 다시 시작한다.

 

3. 파일 .htaccess 생성

디렉토리 (웹사이트)에 접근 제한 설정 파일을 하나 만든다. 다음은 기본 웹사이트인 "/var/www/html" 에 생성한다.

filename : /var/www/html/.htaccess AuthUserFile /etc/apache2/.htpasswd AuthName "Please Eneter Password" AuthType Basic Require valid-user

파일의 내용을 잠깐 살펴 보면, 중요한 것은 사용자인증(".htpasswd") 정보가 있는 파일의 위치이다 

AuthUserFile : 웹서비스에 접근할 사용자와 암호가 저장된 파일의 위치 AuthName : 팝업 윈도우에 표시될 메시지

이 파일을 하나 만들어 두면 복수개의 웹사이트를 운영할 때 복사해서 사용하면 편하다.  예를 들어 phpMyAdmin 사이트를 보호하고 싶다면, 위의 파일을 다음과 같이 복사하면 된다.

$ sudo cp /var/www/html/.htaccess /usr/share/phpmyadmin

물론 보안을 위해서 각 웹서비스 별로 독립적인 .htpasswd 파일을 생성해서 다른 디렉토리에 두어도 된다.

 

4. 파일 .htpasswd 생성

웹서비스에 접근할 사용자와 사용자 암호를 입력하여 .htpasswd 파일을 생성한다.

$ sudo htpasswd -c /etc/apache2/.htpasswd {username}

{username}은 로그인하려는 사용자의 아이디를 입력하면, 암호 입력을 요구 받는다. 암호 재확인 입력하면 사용자 등록이 되고, /etc/apache2 디렉토리에 .htpasswd 파일이 생성된다.

$ sudo cat /etc/apache2/.htpasswd

생성된 파일을 읽어 보면 사용자 아이디와 암호화된 패스워드를 볼 수 있다.

 

참고 : How To Install and Secure phpMyAdmin on Ubuntu 14.04 중에 "Create the .htpasswd file for Authentication" 부분 일부 (link)

 

번호 제목 글쓴이 날짜 조회 수
53 톰캣과 방화벽 file 황제낙엽 2019.09.17 261
» 안전한 웹사이트 설정하기 (.htaccess 및 .htpasswd 사용법) 황제낙엽 2019.07.21 338
51 IIS 시작,정지,재시작 file 황제낙엽 2019.05.10 572
50 [AutoSet] SSL 적용가이드 (https) 황제낙엽 2019.04.22 537
49 SSL, Https를 위한 인증서 발급 황제낙엽 2019.02.20 213
48 Apache2.4 성능 개선 (아파치 공식사이트 제공) 황제낙엽 2018.09.18 197
47 [AutoSet] 오토셋 소개 및 설치파일 file 황제낙엽 2018.08.25 816
46 [APMSETUP] 설치파일 file 황제낙엽 2018.08.25 813
45 톰캣 한글 깨짐, UTF-8 인코딩 설정[2] file 황제낙엽 2018.08.23 1268
44 톰캣 한글 깨짐, UTF-8 인코딩 설정[1] [1] file 황제낙엽 2018.08.23 3635
43 이클립스는 괜찮은데 톰캣에서만 한글깨짐 (윈도우 콘솔의 다국어 인코딩 포함) file 황제낙엽 2018.08.23 3166
42 캐시 여유 공간 부족 (insufficient free space) 해결 황제낙엽 2018.03.16 4431
41 무설치 포터블(portable) 톰캣을 윈도우 서비스로 등록하기 황제낙엽 2017.11.07 479
40 [APMSETUP] 에서 root 암호 분실시 초기화 방법 황제낙엽 2017.04.06 2495
39 구버전의 톰캣 실행하기 황제낙엽 2017.03.22 243
38 Tomcat 8에 SSL 인증서를 적용 황제낙엽 2016.12.23 1768
37 Database Extensions 추상 레이어 PDO 설치/설정 황제낙엽 2016.07.27 507
36 Apache Error : winnt_accept: Asynchronous AcceptEx failed 황제낙엽 2016.06.15 589
35 Windows에서 Apache(2.2.25)/PHP(5.4)/MYSQL(5.6.24) 설치 황제낙엽 2015.05.16 703
34 [APMSETUP7] PHP version upgrade (php5.2->php5.4) file 황제낙엽 2015.05.16 1247