Apache 로그에 phpMyAdmin 로그인 실패 기록이 많이 보여 대책을 생각해보게 되었습니다.
- Fail2ban 설치
- 특정 IP만 접속 허용
- .htpasswd 사용
- 접속 URL 바꾸기
서버 리소스를 적게 사용하고, 이후에 접속할 때 편해야 하므로 접속 URL을 바꾸기로 하였습니다.
사용할 주소 생성
임의의 문자열을 생성합니다.
RANDOM.ORG
Random String Generator
다음과 같은 조건으로 생성하였습니다.
- 1개 문자열
- 20글자 길이
- 숫자 + 대문자 + 소문자 조합
- 같은 문자 허용
생성된 문자열
jKGL3u4o2YJLxh1hfTbB
Apache 설정
phpmyadmin의 Apache 설정을 바꿔줍니다.
# nano /etc/apache2/conf-enabled/phpmyadmin.conf
phpmyadmin.conf의 내용에서Alias /phpmyadmin /usr/share/phpmyadmin
을 #Alias /phpmyadmin /usr/share/phpmyadmin
으로 바꿔 주석처리합니다.
URL /phpmyadmin을 파일시스템의 /usr/share/phpmyadmin
에서 서비스한다는 의미입니다.
위에서 생성한 문자열을 사용해 주석처리한 줄 밑에Alias /jKGL3u4o2YJLxh1hfTbB /usr/share/phpmyadmin
을 추가합니다.Ctrl+X
-> Y
-> Enter
해 저장합니다.
설정이 올바른지 확인합니다.# apachectl configtest
Syntax OK
이 출력되면 문제가 없는 것입니다.
# apachectl restart
명령을 통해 Apache를 재시작합니다.
웹 브라우저에서 /jKGL3u4o2YJLxh1hfTbB
에 접속합니다.