sitelink1 | https://zesus75.blog.me/221103019900 |
---|---|
sitelink2 | |
extra_vars5 | |
extra_vars6 |
웹서비스를 안전하게 설정하기 위해서 우리는 .htaccess 파일을 홈페이지 디렉토리에 만들고, 접근할 수 있는 사용자를 설정함으로써 가능해진다. 물론 apache 웹서버가 .htaccess 파일과 .htpasswd 파일을 찾느라 느려질 수 있으나 phpMyAdmin과 같은 아무나 볼 수 있어서 입력해 로그인 시도를 할 수 있는 관리 페이지 웹사이트들이 이렇게 보호하는 것이 좋다.
1. Authentication 도구 설치
다음과 같은 명령으로 필요한 소프트웨어 패키지를 설치한다.
설치가 되면 다음으로 인증을 위한 파일 2개를 만든다.
2. Apache2 서버 설정 파일 확인 및 수정
Apache 2 서버 설정 파일에 웹서비스를 정의할 수 있다.
가상 웹서비스 별로 다음과 같이 설정이 있으며, AllowOverride 설정이 All로 되어 있으면 된다.
또한 "/etc/apache2/conf-available" 디렉토리에 별도의 설정 파일을 두어 가상 웹서비스를 설정할 수 있으므로 이 디렉토리도 확인해야 한다.
웹서버의 설정을 변경했으므로 다시 시작한다.
3. 파일 .htaccess 생성
디렉토리 (웹사이트)에 접근 제한 설정 파일을 하나 만든다. 다음은 기본 웹사이트인 "/var/www/html" 에 생성한다.
파일의 내용을 잠깐 살펴 보면, 중요한 것은 사용자인증(".htpasswd") 정보가 있는 파일의 위치이다
이 파일을 하나 만들어 두면 복수개의 웹사이트를 운영할 때 복사해서 사용하면 편하다. 예를 들어 phpMyAdmin 사이트를 보호하고 싶다면, 위의 파일을 다음과 같이 복사하면 된다.
물론 보안을 위해서 각 웹서비스 별로 독립적인 .htpasswd 파일을 생성해서 다른 디렉토리에 두어도 된다.
4. 파일 .htpasswd 생성
웹서비스에 접근할 사용자와 사용자 암호를 입력하여 .htpasswd 파일을 생성한다.
{username}은 로그인하려는 사용자의 아이디를 입력하면, 암호 입력을 요구 받는다. 암호 재확인 입력하면 사용자 등록이 되고, /etc/apache2 디렉토리에 .htpasswd 파일이 생성된다.
생성된 파일을 읽어 보면 사용자 아이디와 암호화된 패스워드를 볼 수 있다.
참고 : How To Install and Secure phpMyAdmin on Ubuntu 14.04 중에 "Create the .htpasswd file for Authentication" 부분 일부 (link)