Know/ETC

노출된 정보 최소화하기

Marine™ 2005. 11. 11. 16:22
반응형
[HTML]

출처 : 안랩코코넛





네트워크 상에서 공격자가 공격을 시작하기 전에 보통 3가지 작업을 진행하게 됩니다.

그 첫번쩨가 Footprinting, 두번째가 Scanning,
세번째가 Enumeration 입니다.







각 단계를 간단히 살펴보면,

Footprinting은 공격자가 조직의 보안 상태 정보를 알아내기 위한 단계로 이름, 전자우편주소, 전화번호,
팩스 번호, IP 블럭, DNS서버, 메일서버 등 인터넷에서 손쉽게 얻을 수 있는 정보를 수집하는 단계입니다.

Scanning은 해당 시스템이 살아 있는지 탐지하여 각 시스템의 실행되고 있는 TCP/UDP 서비스, 접속
가능한 IP 주소 , 운영체제 타입 등을 수집하게 됩니다.

마지막으로 Enumeration은 시스템의 resource name을 알아내기 위해 사용하는 것으로 시스템에
접속할 수 있는 정보들을 수집하며, 사용자 및 그룹 이름, 운영체제, 라우팅 테이블, SNMP 정보를 얻어내여 목록화하는
작업입니다.

어떻게 보면 사소하게 여겨질 수 있는 이러한 정보들이 외부로 노출된다면 공격자에게 미끼를 던져주는 경우가 될 수 있습니다.
그러기에 기본적으로 자주 사용하는 서비스(TELNET, HTTP, DNS, SMTP)에 대한 정보를 외부로 노출하지 않는
방법에 대하여 알아보기로 하겠습니다.

1) TELNET 배너제거하기

먼저 telnet 의 경우 로그인시 시스템 OS 및 Kernel 버전을 출력하게 됩니다. 이는 공격자에게 시스템 정보를
제공함으로 해당 정보를 이용한 취약성을 노릴 수 있으므로 노출되지 않도록 세팅할 필요가 있습니다.







해결책 및 변경

- /etc/xinetd.d/telnet

서버에 다음과 같은 인수를 추가하여 베너를 제거합니다.

Server_args = -h

변경된 설정을 적용하여 위해 killall -HUP xinetd 를 실행합니다


권장사항으로는 telnet 서비스를 사용치 말고 SSH를 사용해야 한다는 것입니다.

이는 telnet의 경우 암호화를 제공하지 않기 때문에 네트워크상에 텍스트 형식으로 전송되어 스니핑을 통한 패킷캡쳐가
가능하기 때문입니다. 굳이 telnet을 사용해야 한다면 방화벽을 사용하여 신뢰된 영역에서만 telnet service를
사용하도록 해야 합니다.

피? SSH service인 경우도 오래된 버전이 아닌 최신 버젼의 프로그램을 사용하시길 권고드립니다.


2) HTTP server 버전 및 사용 프로그램내용 제거하기

아래와 같이 telnet을 이용하여 웹서버가 어떤 OS를 사용하는지 웹어플리케이션은 어떤 종류를 사용하는지 확인이
가능합니다. 이는 버전에 따른 취약성을 가지고 공격자가 공격을 시도할 수 있는 빌미를 제공하게 되므로 이러한 정보를
노출해서는 안됩니다.


2-1) Windows Web Application











윈도우 웹서버 IIS5.0인 경우에는 IISLockdown을 사용하여 노출된 웹서버 정보를 삭제할 수 있으며, IISLockdown의
다운로드 및 설치방법은 다음 사이트를 참조하시면 됩니다.


< IISLockdown tool 다운로드 >

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=DDE9EFC0-BB30-47EB-9A61-FD755D23CDEC


< IISLockdown tool 설치 방법>

http://support.microsoft.com/default.aspx?scid=kb;ko;325864#3


* IISLockdown tool 을 사용할 경우에는 사용방법에 대한
충분한 숙지가 필요합니다.




IISLockdown tool 설치 후에 다음 urlscan.ini 파일에서 RemoveServerHeader 값을
1로 세팅을 하게 되면 아래 그림과 같이 웹서버에 대한 정보노출을 막을 수 있습니다.










IIS6.0인 경우에는 다음 레지스트리값을 1로 수정하여 웹서버 정보노출을 피할 수

있습니다.

HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parpameters\DisableServerHeader

< 참조사이트 >

http://ms.inity.co.kr/korea/technet/community/columns/insider/iisi1004.asp


2-2) Linux Web Application






리눅스 시스템의 경우 아파치웹서버를 많이 사용하며 위와 같이 아파치버젼과 PHP버전이 함께 공개되는 경우가 흔하므로
아래와 같이 httpd.conf 파일의 내용을 수정하고 웹서버 데몬을 재시작 함으로써 정보노출을 제거할 수 있습니다.











3) DNS 존 transfer 설정 변경

DNS의 경우 일반적인 Domain Name을 쿼리할 때에는 UDP 프로토콜(udp 53 port)을 사용하며 zonefile을
전송할 때에는 TCP 프로토콜(tcp 53 port)을 사용하게 됩니다. 여기서 zonefile은 DNS server가
가지고 있는 정보를 소유하고 있는 파일입니다.







이러한 중요정보를 외부로 그대로 노출해서는 안되는데, nslookup, dig를 통하여 DNS server의 버전정보나
어떤 IP를 가진 서버가 어떤 역할을 하는지에 대한 정보를 빼낼수 있습니다. 그러므로, 아래와 같이 named.conf라는
설정파일을 수정하여 신뢰된 특정서버에서만 zone transfer를 허용해 주어야 하며, 아예 zone transfer를
허용하고 싶지 않다면 방화벽에서 tcp 53은 open하지 말아야 합니다.







위와 같이 설정을 한 후에 다시금 named의 설정을 적용하려면 아래와 같이 하면 됩니다.







4) SMTP 목록화 방어하기

아래 그림과 같이 telnet이나 netcat을 사용하여 SMTP 서비스의 버전확인 및 여러 명령어를 실행할 수 있습니다.
피?공격자는 전자메일 메시지를 조직에 보낼 수 있습니다.


- VRFY : 사용 가능한 사용자의 이름 확인

- EXPN : 계정과 메일링 리스트의 실제 전달 주소를 확인

- DATA : 메시지 본문을 입력하도록 함

- EXPAND : 사용자의 메일 계정을 출력하고 그룹 계정 일때는 그룹 멤버의

                 모든 메일 계정을 출력함

- HELO : SMTP 세션을 초기화하고 식별할 수 있는 데이터를 교환함

- HELP : 도움말 출력

- MAIL : 메일 작업의 초기화

- QUIT : 현재세션을 종료하고 연결을 끊음

- RCPT : 수신자를 명시

- RESET : 재 작업을 중지






Windows Exchange 서버 4.0대부터는 expn, vrfy 명령이 기본적으로 중지되어 있습니다.


<참조사이트>

http://support.microsoft.com/kb/q289521/

http://support.microsoft.com/support/kb/articles/Q175/8/42.ASP


Sendmail의 경우에는 설정파일인 senmail.cf 에 아래의 내용이 있는지 확인을 하고

없을 경우에 novrfy, noexpn을 추가하여 sendmail daemon을 다시 시작해 주어야 합니다.







다음과 같은 시스템을 사용할 경우 아래의 참조사이트를 통해 SMTP Banner를 수정할 수

있습니다.

- Microsoft Exchange 2000 Server Standard Edition

- The operating system : Microsoft Windows 2000


< 참조사이트 >

http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q281224


지금까지 네트워크 상에서 쉽게 노출된 정보가 있음을 보았으며 이에 대한 해결책을 살펴보았습니다. 공개된 서비스와
시스템의 경우 사소한 것이라도 외부에 정보가 노출되지 않도록 보안에 더 신경을 써야 합니다. 하지만, 이것보다 더
중요한 것은 사용하는 서비스의 취약성유무를 정기적으로 확인하여 패치 및 프로그램 업데이트에 신경 써야 합니다.

Denfense in Depth!! 100% 완벽한 보안은 없지만, 다방면의 보완을 통해 더 견고한 보안을 수립할
수 있습니다.


[/HTML]
반응형

'Know > ETC' 카테고리의 다른 글

youtube developer api  (0) 2009.06.30
소켓통신 참조  (0) 2006.10.23
[펌] Web 2.0 Conference Korea 발표 B/S  (0) 2006.08.10
WinCVS의 간략한 사용방법  (0) 2005.11.14
야후 미니사전  (0) 2005.11.11