안녕하세요? 허니입니다. 관리자 페이지 노출 및 추측 취약점에 대해서 알아보고 대응 방법에 대해 알아보도록 하겠습니다. 사이버 해킹에 대해 공부하시는 학생이나 연구원 분이 계시면 도움이 될 것이라 생각합니다.

 

단순한 관리자 페이지 경로(/admin, /manager 등) 사용 또는 설정, 프로그램 설계상의 오류, 인증 미흡으로 인해 관리자 메뉴에 직접 접근이 가능한 취약점입니다. 또한, 노출된 URL에 의해 직접접근을 시도 하여 접근권한에 대한 인증을 우회할 수 있는 취약점입니다. 공격자는 이러한 방법으로 관리자 메뉴페이지에 로그인 과정 없이 접속하여 관리자페이지를 조작, 회원정보 열람 등 민감한 정보를 획득 및 공지사항 등 인증이 필요한 글쓰기 게시판에 악의적인 게시물을 게시 가능합니다.

 

 대응방법
관리자 페이지에는 접근권한을 가진 IP에서만 접근 가능하도록 ACL(Access Control List)을 설정합니다. 관리자 인증 후 접속할 수 있는 페이지의 경우 해당 페이지 주소를 직접 입력하여 접근하지 못하도록 페이지 각각에 대하여 관리자 인증을 위한 세션을 관리합니다.

 

IIS 웹 서버 보호 대책

① 설정 > 제어판 > 관리도구 > 인터넷 서비스 관리자 선택
② 해당 관리자 페이지 폴더에 오른쪽 클릭하고 등록정보 > 디렉토리 보안 > IP
 주소 및 도메인 이름 제한 > 편집 버튼을 클릭
③ 액세스 거부를 선택하고 추가 버튼을 클릭하여 관리자 호스트 IP 또는 서브넷을 등록

 


[그림 1] IIS 보호 대책

 

Apache 웹 서버 보호 대책

Apache 웹 서버의 환경설정 파일인 httpd.conf 파일의 Directory 세션의 AllowOverride 지시자에서 AuthConfig 또는 All을 추가하여 .htaccess를 통하여 사용자 계정, 사용자 패스워드를 등록한 사용자만 접근이 가능하도록 하고 관리자 디렉토리(admin)에 대해 특정 IP에 대해서만 접근이 가능하도록 설정

 

#먼저 접근을 제어하고자 하는 디렉토리에 대한 상위 디렉토리 정의에
#AllowOverride 부분이 ‘All', 'AuthConfig', 'FileInfo' 등으로 설정
<Directory /home/www/admin/>
AllowOverride AuthConfig
Order deny, allow
Deny from all
Allow from 10.10.100.7 10.10.2.1/24
</Directory>
AccessFileName .htaccess
<File ~ "^\ht">
Order allow, deny
Deny from all
</Files>
<.htaccess>
AuthName "인증이 필요한 관리자 페이지입니다.“
AuthType Basic
AuthUserFile /home/www/admin/.htpasswd
AuthGroupFile /dev/null
require valid-user
Order deny, allow
Deny from all
Allow from 10.10.100.7 10.10.2.1/24

 

관리자 페이지와 같이 인증이 필요한 디렉토리에 .htaccess 파일을 만들고 admin계정의 패스워드 ~apache/bin/htpasswd를 이용하여 사용자 정보 파일(.htpasswd)을 생성

 

<Directory /home/www/admin/>
# ~apache/bin/htpasswd -c /home/www/admin/.htpasswd [사용자명]
New password: ********
Re-type new password: ********
Adding password for user [사용자명]
#

 

※ 주의사항
- Apache 서버의 경우 AllowOverride 지시자를 변경 시 apache restart가 필요
- 관리자 페이지의 디렉토리명 변경 시 웹 프로그램에서 경로명을 지정하는 경우 수정하여야 함
- 관리자 디렉토리내 일반 사용자의 접근이 필요한 파일이 존재하지 않아야 함


 

 

+ Recent posts