웹서버 안전 운영대책
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 7,057 조회
- 0 추천
- 목록
본문
웹서버 안전 운영대책 (1998.07)
한국정보보호센터
기술본부 기술대응팀
웹의 등장으로 기업의 사업 방법, 사람이나 정보를 찾는 방법, 상호작용하는 방법 등의 새로운 방법과 기능을 제시해 주었다. 각 기업들은 자사의 홍보와 상품의 홍보를 위하여 홈페이지를 운영하고, 심지어 개별 인터넷 사용자들까지도 자신들의 홈페이지를 운영하는 등 인터넷의 대중화, 일반화를 촉진시켰다.
그러나 웹을 통한 홈페이지나 정보서비스는 웹서버나 홈페이지를 잘못 구성하거나 관련 CGI 등의 잘못된 구현으로 여러가지 보안취약점들을 보유하고 있어, 최근 해커들의 주요 공격 대상이 되고 있다.
특히 웹관련 서비스는 불특정 다수를 대상으로 서비스를 제공하므로 침입차단시스템 등의 접근제어방식으로 안전대책과 보안정책을 수립할 수 없으며 안전관리를 위한 보안도구를 이용하여도 보안수준을 그리 높일 수 없는 형편이다. 그러므로 실제적으로 해커들이 이용하는 시스템 해킹방법과 홈페이지 취약점 해킹방법 등을 구체적으로 연구하고 정확한 대응방안 분석을 통해 해킹취약점을 차단함으로서 사전에 해킹 등 침입을 막는 방안을 강구해야 한다.
[표1]에서는 웹을 통한 홈페이지 등에 대한 해킹위협과 이에 대응할 수 있는 대응책을 간략히 기술하고 있다.
트로이목마 브라우져
메모리 훼손
전송 메시지 변조
네트워크에서의 도청서버정보의 도난
네트워크구성 정보 유출
사용자 프로세스 정지시키기,부정요청으로 시스템 오버플로우
디스크, 메모리 오버플로우,
DNS공격으로 시스템 접속 이상 야기
정당한 사용자 사칭과 데이터 변조기계 손상
모든 다른 위협에 대한 취약성
정보의 손실프라이버시 침해
정상 동작 및 서비스 방해 사용자 자료의 변조 - 잘못된 정보를 신뢰1. 개요
웹은 여러 가지 웹관련 서비스, 구성요소, 다른서비스와의 연계 등을 통해 발생되는 복합적인 보안취약점을 가지고 있다([표2] 참조). 특히 웹서버는 패스워드 등을 이용한 인증문제, 사용프로토콜 문제 도메인이름나 IP주소를 통한 접근통제 문제, 사용자/그룹이나 디렉트리 및 파일의 접근문제, 구성파일문제 등에서 살펴보아야 한다 본 고에서는 웹서버에 관련한 보안문제점을 우선적으로 살펴보고자 한다.
2. 웹서버관련 보안취약점
웹서버 보안취약점은 웹서버 구현상의 취약점, CGI 관련 취약점, 그리고 웹서버 구성상의 취약점으로 구분할 수 있다. 웹서버 구현상의 취약점은 공개용 웹서버 또는 상용 웹서버의 구현상의 문제로 인하여 보안취약점이 존재하는 경우다. CGI 관련 취약점은 외부의 사용자에게 호스트의 정보를 보여주는 취약점과 사용자 입력 양식(Form)을 통해서 임의의 명령을 수행할 수 있는 취약점이 존재하는 경우가 있다. 그리고, 웹서버 구성상의 취약점은 웹서버 구성의 잘못으로 인한 파일 접근 권한 획득, 디렉토리 내용 리스팅, 심볼릭 링크등의 취약점을 유발할 수 있다.
가. 웹서버 구현상의 취약점
1) Windows NT Netscape Communications 서버
CGI 스크립트 처리와 관련한 Perl CGI 스크립트와 DOS .bat 파일과 관련한 보안취약점이 존재한다. Perl CGI 스크립트는 서버의 현 디렉토리의 파일을 모두 삭제할 수 있으며, .bat 파일로 구현된 CGI 스크립트는 임의의 명령어를 실행할 수 있는 취약점이 있다.
2) Windows NT/95 Website 서버
Website 1.1b 이하의 버전에서는 DOS .bat 파일 취약점이 존재한다.
3) MS IIS 웹 서버
'96년 3월이전의 IIS 서버는 .bat 파일 취약성이 존재하며, .BAT CGI 스크립트가 설치되지 않아도 임의의 명령을 수행할 수 있다. 그리고, IIS 3.0 이전 버전은 스크립트의 내용을 볼 수 있는 원격 읽기 취약점이 존재한다. 역시 IIS 3.0 이전 버전은 특정 길이의 URL을 보내어 서버를 정지시킬 수 있는 서비스 거부 공격 취약점이 있다.
4) NCSA 웹 서버
NCSA httpd 1.4 이전 버전은 버퍼 오버플로우 취약성이 존재하며, 1.5a 이전 버전은 CGI 스크립트의 취약성으로 외부 사용자가 임의의 명령을 실행 할 수 있다.
5) Apache 웹 서버
쿠키를 이용하여 프로그램 스택을 덮어씀으로써 임의의 명령을 수행할 수 있는 취약점이 있고, 디렉토리의 내용을 리스팅하는 취약점이 있다. 1.2.5 이전버전에서 취약점이 존재한다.
나. CGI 관련 취약점
CGI 관련 취약점은 크게 두가지가 있다. 외부의 사용자에게 호스트의 정보를 보여주는 취약점과 사용자의 입력을 받는 CGI의 경우 원격지의 사용자가 임의의 명령을 실행할 수 있는 취약점이 존재한다.
[표3] 보안 취약점이 알려진 CGI 목록
nph-test-cgi | phf | php |
finger | web-dist | wrap |
view-source | jj | query |
wwwcount | handler | guestbook |
websendmail | campas | webgais |
Glimpse | Stronghold | test-cgi |
AnyForm | FormMail | Excite |
pfdisplay | info2www | htmlscript |
다. 웹 서버 구성상의 취약점 주의사항
- 서버 루트와 도큐먼트 루트의 파일 접근 권한
- 자동 디렉토리 리스팅
- 심볼릭 링크
- 사용자 관리 디렉토리
- 웹서버를 루트권한으로 운영
디렉토리내의 파일목록을 열람가능
/cgi-bin/에 취약한 cgi 프로그램을 삭제한다.버그이용
명령을 수행, 서비스거부 공격 가능
최신버전으로 패치보안기능을 강화
인터프리터 이용
하여 사용자의 비밀정보를 빼냄
암호화, 인증기능이 강화된 WWW서버를 구축, 운영거부공격으로 WWW서비스를 방해.
공격 탐지기술을 적용1. 안전한 네트워크 환경구축
가. 침입차단시스템과 웹서버
웹서버는 침입차단시스템 앞단에 두는 방법과 침입차단시스템 뒤에 두는 방법이 있다. 외부망과 내부망사이에 완충서브넷인 DMZ을 사용할 경우 침입차단시스템 앞단에 두는 호스트로 운영하여 침입차단시스템 내부망을 보호할 수 있다. 침입차단시스템 안쪽에 있을 경우에는 웹서버해킹시 내부망 전체가 해킹당할 수 있는 위험지역(일명 "Zone of RISK")에 빠지게된다.
나. 패킷필터와 웹서버
패킷필터가 외부에서 웹서버로 오는 패킷에 대하여 80이나 8080등 약속된 웹서비스 포트만을 통과시킴으로서 웹서버에 다른 서비스의 접근을 막는다.
2. 배스천호스트 구축으로 웹전용서버 준비
웹서비스와 필요하지않은 모든 자원을 제거하여 배스천호스트를 구성한다. 배스천호스트의 구성으로 현재까지 알려진 해당 호스트에대한 내/외부에서의 침입위협으로부터 모두 안전할 수 있도록 하는 것이다.
3. 보안기능을 강화한 웹서버 운영
가. 접근제어, 패스워드 인증기능 사용
.htaccess, .htpasswd를 사용하여 주요 디렉토리에 사용자인증기능을 추가하여 운영한다. 이 기능만으로 부족할 경우에 보다 강화된 인증기법을 사용할 수도 있다.
나. 로그강화
시스템로그(wtmp, utmp, sulog, pacct등)와 www 로그를 수시로 백업하고 가능하다면 로그서버를 따로 운영하여 2중 관리하는 것도 바람직 하다.
다. 암호화 기능 이용
스니퍼링방지 스니퍼링을 통한 정보유출을 막기위하여 주요정보 송수신시 SSL, SHTTP등 암호화기능을 사용한다.
라. 웹서버의 소요비용 대비 보안기능
웹서버는 공개용일수록 보안의 헛점이 널리알려져있고 상용서버일 경우 덜 한편이다. 특히 보안기능이 강화된 상용서버의 경우 가격은 일반적으로 높지만 보안성은 높다고 할 수 있다.
마. 철저한 백업
수시로 정기적인 백업을 하여 해킹이나 재난으로 인한 사고에 대비한다.
바. 원격관리
웹서버의 관리는 콘솔에서 하는 것을 원칙으로하고 원격접근시 해당 로그를 남기도록 한다.
사. 침입탐지시 경고기능
임의의 사용자가 주요관리화일 접근시 관리자에게 알려주거나 네트워크를 통한침입시도가 있을 경우 경고기능을 추가한다. (침입탐지용 상용도구설치/운영)
아. 각종 보안도구의 설치/운영
공개용/상용 보안도구를 서비스의 특성에 맞게 설치, 운영한다. 시스템의 취약점을 점검해주는 도구 및 무결성점검도구는 반드시 설치한다.
1. 웹보안스캐너를 이용한 보안강화기법
보안스캐너(Security Scanner)란 시스템이 가진 해킹 등 보안취약점을 미리 사전에 진단하는 SW도구로서 기존의 보안 스캐너에는 SATAN, ISS v1.21와 같은 공개 보안스캐너와 ISS Suite, Ballista, Pingware, NetProbe, SecureNet PRO 등이 있다. 여기서 웹보안을 별도로 점검하는 스캐너에는 ISS, Ballista, SecureNet PRO 가 있다. 세가지중에서 웹 점검 항목들은 다음과 같다.
Guess CGI Bin
List CGI Bin
CGI Echo
Test IIS *.cgi bug
Httpd Port
Httpd Type
vulnerrable Httpd
Root Dot Dot
Index
Unresolved Links
Private HTML check
phftest-cgi
NCSA웹서버 버퍼오버플로우
Microsoft .bat/com
Shell인터프리터
WWW finger
Webcrawler Index
웹 서버 루트 디렉토리
URL 패스워드
Nph-test-cgi
AnyForm CGI
FormMail
ScriptAlias
Guestbook
Test-cgi
Nphg-test-cgi
Apache httpd cookie 오버플로우
Windows NT 웹사이트서버오버플로우
Windows 95 웹사이트서버오버플로우
php.cgi file printing
php.cgi 오버플로우
SGI wrap CGI
GET decodingphf
view-source
AnyForm
php
webdist
test-cgi
nph-test-cgi
win-c.exe
wrap
guestbook
nph-publish
formmail
shells
perl
finger
webgais
websendmail
glimpse
campas
2. 웹서버 안전관리SW를 통한 보안강화
가. 개요
웹서버 안전관리 SW는 웹서버 구축 운영시 안전관리를 도와주는 관리 프로그램으로서 최근 여러 SW가 소개되고 있다.
나. WebStralker-Pro
WebStralker-Pro는 침입/오용에 대한 대응 및 모니터링할 수 있도록 시스템-레벨에서의 보호기능과 침입차단시스템 같은 네트워크수준에서의 보호기능을 추가로 지원하는 웹서버 보안시스템으로 Trusted Information System에서 개발되었다.
- 시스템의 주요특징
WebStralker-Pro는 컴퓨터의 오용과 침입을 패턴매칭 방법으로 탐지하여 웹싸이트 공격을 대응 및 예방하는 시스템으로 [표 6]과 같은 침입에 대한 대응방법을 가지고 있다.
접근 보호장치를 불법으로 통과했을 때 탐지 및 대응
시스템 관리자권한 획득
시스템-레벨이나 관리자의 권한으로 침입했을 때 대응UNIX시스템용에서는 root권한을 얻고자 하는 시도시 즉시 대응
WindowNT시스템용에서는 관리자 계정 재지정
다른 시스템으로이동
민감한 정보가 있는 다른시스템으로 이동시 대응불법사용자가 웹서버에서 다른 시스템으로 이동시 대응
웹싸이트 파괴 잘못된 정보, 이미지를 게재할려는 행위에 대한 대응Web정보을 가지고 있는 파일을 보호(HTML, CGI 프로그램 등)
웹서버 정지 불법침입자가 웹서버를 죽이는 경우 즉시 대응웹서버가 정지했을 때 자동 재시작 및 상황을 웹관리자에게 전달
Webstalker-Pro시스템 자체방어
변경, 수정 및 공격을 자체 보안 메카니즘으로 시스템 자신방어시스템 구조 및 주요 기능
WebStralker-Pro는 시스템의 세부적인 활동을 모니터링하고, 사용자에 의해 정의된 보안정책과 비교, 시스템 감사흔적, 변화된 파일의 모든 상황 로그, 사용자와 이벤트가 포함된 모든 프로세스 생성, 시스템 활동에 대한 시간 등을 정의 할 수 있다. 시스템의 구성은 CGI program(htdoc, cgi-bin .gif, .html 등)으로 구성되어 있고, 사고를 방지 및 대응을 하기위해 Audit Trail, Event log를 수행한다. 특히 UNIX에서는 데몬, WindowNT에서는 service를 이용하고, 사고탐지로 Audit Trail, Event Log 기능을 이용하고 있으며, 보안사고 대응으로 Pager, SNMP Trap, WebServer Restart 등을 이용한다. 또한 다른 하드웨어와 소프트웨어과 외부 대응을 할 수 있는 TIS ARM제공과 보안정책은 웹서버에 저장(사고 방지대응 및 보안사고 정의 포함)할 수 있는 기능으로 구성되어 이다.
그리고 감사와 적극적인 대응모듈(ARM : Active Response Module) 기능을 추가로 제공하고 있다. 감사은 실시간으로 보안로그 정보감사, 설정한 보안정책과 비교 및 분석후 분석결과를 E-mail이나 보고서 등의 형태로 자동작성할 수 있으며, Audit Trail, Audit Events를 위해 시스템콜을 이용한다. 특히 유닉스에서는 failed/sucsess/invalid 패스워드, 부적절한 사용자와 윈도우NT에서는 시스템 재구동/다운, object open 등이 적절히 대처할 수 있다. 적극적인 대응모듈은 보안정책을 위반하고, 보호된 파일을 수정 및 생성했을 때 ARM으로 사고에 대해서 적극적으로 대응할 수 기능을 제공하고 있다. 특히 Cisco PIX Firewall에성의 ARM은 보안정책 위반시 침입차단시스템 재구성하고, Tivoil Framework10에서의 ARM은 주의전송(Notice Send), 로깅점프(Login Jump), 파일접근(File Access), 웹서버다운(Webserver Down) 등을 적절히 조치할 수 있는 기능이다.
다. Forcefield
Forcefield시스템에서는 강력한 시스템기반, 패킷 필터링 메카니즘, 무결성 점검, 접근 제어, 프라이버시 등을 기본적으로 제공하며, FTP, telent 접근 제한, 일회용패스워드(One-time password)를 사용하여 인증강화, 웹페이지의 내용, 운영체제 변화에 대한 시스템 무결성 시험 수행, ICMP, 소스 라우팅 패킷, 보호받지 않는 포트 사용시도 등에 관련된 로그, Smoke Alarm(alert), 관리 인터페이스를 제공하는 시스템으로 Gaunlet에서 개발되었다.
시스템의 주요특징
ForceField시스템은 [표 7]과 같이 견고한 운영체제, 접근통제, 무결성점검, 로깅과 기록, 사용자관리 측면에서 다양한 기능을 제공하고 있다.
Rlogin, Sendmail은 웹서비스를 위해서 disable 기능 지원
초기에 telnet, ftp disable하거나 필요시 개방
※ 원격지 접근요구 -> 원격지접근테이블 참조(사용자 인증) -> 수행 -> 에러메세지 표현(문제가 발생시)
구성 디렉트리 추가/삭제와 무결성을 위한 스케줄 엔트리 수사/삭제
DB초기화, 시행, 보고서 재생 등
예외사항에 대한 보고서, - 활동속성(TCP, UDP를 통한 Packet 검색)
source-routed packets, ICMP redirects
Telnet연결시도, ftp 연결시도, 인증시스템 수정
Root사용자 권한접근 시도, 대규모 로그, smoke alarms 등
challenge passwd를 사용한 secureNet Key(SNK) 및 소프트웨어
secureNet(SSNK)지원, one-password(seed/parse)의 S/Key
테스트를 위한 재사용 password, - 사용자 추가
(securID, SecureNet key, S/key 등을 가진 사용자 추가)
사용자 수정(사용자이름, 프로토콜, 패스워드 변경)
사용자 삭제, 사용가능 사용불가능하게 하는 기능 등
라. Trusted Web
인터넷상의 웹사용은 기본적으로 클라이언트/서버환경으로 구성되어 있다. 이때 발생되는 문제점과 침입차단시스템과 프로세스 인증(certification) 강화, WWW를 위한 보안서비스 강화(인트라넷 포함), 중요한 정보 및 민감한 정보에 대한 접근제어 등을 지원하는 시스템으로 Trusted Informatiom System에서 개발되었다.
Trusted Web시스템은 규칙기반의 웹페이지 내용접근통제, 웹서버와 응용프로그램 간의 패스워드를 공동관리할 수 있는 싱글사이온(Single-Sign-On)기능, 사용자 인증을 위한 RSA키를 사용하고, 서버 인증, 정보의 무결성 등의 기능을 제공한다.
마. 시스템 운영환경 및 비교
운영환경
Solaris 2.4,
Window NT 4.0
Solaris 2.5.1 Solaris 2.5.1apache 1.0, CERN 3.0,
NCSA 1.5, Netscape
Enterprise2.0,
NetscapeFasttrack
Server 2.0 or later
WindowNT :
ME 3.0, nescape 3.0
or later
Solaris :Netscape Enterprise
Server, Netscape
FastTrack Server
서버 :Solaris,WindowNT
(영문HTML)
클라이언트
Window95/NT, Solaris,
AIX, HP-UX(영문HTML)
웹서버 보안 제품 비교평가
웹서버를 설치하여 운영하는 것도 벅찬데 보안까지 신경을 쓰려면 웹관리자의 입장에서는 여간 까다로운 것이 아니다. 이 문서에서는 웹서버를 설치하는 것으로 마치는 것이 아니라 웹서버를 설치할 경우 네트워크상에서의 위치는 어디가 될 것이며 침입차단시스템, 라우터와는 어떻게 서로 연동되는지에 대한 부분을 살펴보았다. 또 웹서버를 설치할 경우에 고려되어야할 배스천호스트를 만드는 방법과 안전하게 웹서버를 운영하기위한 방법들을 알아보았다. 그리고 웹관련된 보안스캐너나 각종 보안도구들에대해 비교 분석해봄으로서 현재 관련기술의 수준이나 적용가능한 보안도구들에 대해서도 살펴볼 수 있었다. 요약하자면 관리자의 올바른 네트워크 구성, 웹서버용배스천호스트 구축, 안전한 웹서버 구축운영, 보안도구를 통한 보안강화로 웹서버는 기존의 일반적인 웹보안보다는 한차원 높은 홈페이지 보안환경을 구축할 수 있다.
[1] Robert S. Macgregor, Alberto Aresi, Andreas Siegert, "WWW.
Security", Prentice Hall, 1996
[2] Simson Garfinkel, "Web Security & Commerce, O'Reilly &Associates,
Inc. , 1997
[3] Aviel D. Rubin, Daniel Geer, Marcus J. Ranum, " Web Secuirty
Source Book", John Wiley & Sons Inc. , 1997
[4] http://webcomapre.internet.com/chart.html
[5] http://www.cs.unc.deu/Courses/wwwc/public/hanes/secuirty.html
[6] http://w3.org/Security/faq/www-security-faq.html
[7] http://home.netscape.com/newsref/std/SSL.html
[8] http://www.tis.com/webstalker
[9] http://www0.tis.com
[10] http://www.trustedweb.com
관련자료
-
이전
-
다음