웹 서버 보안관리의 간소화를 위한 WebKnight 원격관리 시스템 구현 김 강 섭
목 차 연구 배경 연구 목표 연구 내용 결론 및 보완사항 시스템 구성 구현 시스템 시스템 보안설정 Database Webserver WebKnight Agent 시스템 보안설정 결론 및 보완사항
연구배경 웹 상에 존재하는 거대한 양의 정보를 대상으로 하는 웹 해킹 증가 추세 웹 상에 존재하는 거대한 양의 정보를 대상으로 하는 웹 해킹 증가 추세 중소기업의 웹 보안 솔루션 도입의 경제적 어려움 KrCERT 에서 WebKnight(무료 웹 방화벽 솔루션)의 도입 권장 WebKnight란? AQTRONIX사에서 개발한 Windows 웹 서버(IIS) 용 공개 웹 방화벽 웹서버OS 에 직접 설치되는 소프트웨어형 웹 방화벽으로 추가 비용이 들지 않음 탐지 시그니처가 공개되어 있으며 관리자가 직접 커스터마이징 (정책 수정, 추가, 삭제) 이 가능함
연구배경 WebKnight 도입 후 원격 운영관리 기능 지원하지 않는 단점 존재 다수의 서버 관리 시 업무 효율성 저하 이벤트 로그 통합, 관리 기능이 없어 전체적인 보안동향 파악의 어려움 WebKnight가 설치된 각각의 웹서버 OS에 직접 접속이 필요 가장 공격을 많이한 IP주소 조회 > 불가 웹 서버별로 공격건수를 비교 조회 ………
연구목표 원격 관리 시스템 구현 중소형 인터넷 서비스 환경에서 효율적인 중앙관리 가능 단일 인터페이스 보안정책 원격제어 보안 시스템 운영 인력 및 비용문제 해결 단일 인터페이스 보안정책 원격제어 공격 이벤트 전송 중앙관리 A서버 B서버 C서버 D서버 Webknight Webknight Webknight Webknight
WebKnight 시스템 구성 Internet data center 공격차단 로그발생 공격로그 실시간 e-mail전송 정책 파일 업로드 로그뷰 / 정책 수정 요청 공격로그 수집 Administrator WebServer DBMS WebUI제공
구현 시스템 – Database Database Table 구성 개발 환경 : CentOS 5.5 / MySQL 5.0.77 관리대상 WebKnight 정보 : 웹서버 관리자ID, PW, 이름,이메일 주소,웹서버주소,WebKnight접속포트 Serverlist 원격 관리 시스템 접속을 위한 계정 정보 : 접속계정ID, PW, 이름,권한(모니터링 전용 or 정책수정 가능) Account WebKnight 공격로그 정보 : WebKnight로그 라인값, 날짜, 시간, 웹서버명, 이벤트종류, 공격자IP, 사용자명, 웹 서버주소, 공격 세부정보 Logdb_N
구현 시스템 – WebServer Summary My Sites Rule Conf Log View Web UI 구성 개발 환경 : CentOS 5.5 / Apache 2.2.17 / PHP 5.1.6 부가 모듈 – GeoIP : 공격자 IP 국가 / 위치정보 참조 – Google Map API : 공격자 위치정보 지도 표시 – Google Chart API : 이벤트 건수 그래프 출력 구성도 Summary : WebKnight 이벤트 모니터링(전체) My Sites Rule Conf : WebKnight 정책 설정 UI Log View : WebKnight 이벤트 모니터링 Administration : 시스템 접근 계정 관리
구현 시스템 – WebServer XML Document HTML Document My Sites – Rule Configuration(1/2) XML format의 정책파일을 원격에서 수정하기 위하여 다운로드 후 HTML형식의 변환이 필요( PHP Program) Download XML속성이 Option일 경우 포멧변환 루틴 XML Document HTML Document XML Parsing
구현 시스템 – WebServer My Sites – Rule Configuration(2/2) 정책변경 이벤트 발생시 XML 수정 후 실시간 업로드 Click XML 수정 작업 수정된 WebKnight.xml Upload Internet data center WebKnight.xml 파일변경시 즉시 정책 적용 가능 WebKnight
구현 시스템 – WebServer My Sites – Logview(1/2) 로그파일에 대한 검색, 정렬, 통합기능 구현을 위해 MySQL DB형태로 변환 Download 하여 Field 별 분류 MySQL DB -> WebUI 출력 TXT -> MySQL DB
구현 시스템 – WebServer My Sites – Logview(2/2) Logview 접근 화면 SQL Query문을 이용하여 다양한 형태의 분석 값 출력이 가능 TOP 10 공격자 IP 위치정보 표시 웹서버 상태 모니터링 CPU사용량, 실시간 트래픽용량 (SNMP서비스 이용) 최근31일간 이벤트 발생 건수 이벤트 검색 기능 - 시간 필터 - 이벤트 필터 - 공격자 IP 필터 로그세부내용 출력
구현 시스템 – WebServer Summary 시스템에 등록된 전체 WebKnight에 대한 통합 모니터링 TOP 15 공격자 IP 순위 표시 WebKnight 연결상태 / 서버별 최근 이벤트 건수 공격 유형별 이벤트 통계 원격관리시스템 로그 내역 최근 24시간 이벤트 발생건수 최근 31일간 이벤트 발생 건수
구현 시스템 – WebKnight Agent 공격탐지 이벤트 발생시 관리자 이메일을 통해 실시간 차단내역 통보 1. WebKnight로그 파일 디렉터리 용량 감시( C program, Windows API이용) 2. 공격탐지 이벤트 발생(공격로그파일 용량 증가) WebKnight 3. 이벤트 발생 알림(HTTP LogAnalysis.php요청) 4. 로그 요청 5. 로그 정보 전달 6. e-mail 전송 원격관리시스템
시스템 보안 설정 원격 관리 시스템 구축시 발생할 수 있는 보안취약점 방지 시스템 접근시 계정 사용 목적에 따라 권한 제한 모니터링 권한(Read only)의 사용자일 경우 WebKnight정책수정 불가 IP접근 제한 정책 적용 (Whitelist방식) 관리자-시스템, 시스템-웹 서버간 정해진 IP접근만을 허용 HTTPS프로토콜 사용 패킷 스니핑으로 인한 정보유출 방지
결론 및 보완사항 결론 보완 사항 원격 관리 시스템을 통해 다수의 WebKnight솔루션 관리의 간소화 이벤트 로그 저장방식 변경으로 로그관리 기능이 강화(TXT -> MySQL) 다수의 WebKnight로그 통합분석으로 전체적인 공격동향 파악이 용이함 WebKnight Agent의 알림기능으로 언제 어디서든 공격상황 확인이 가능 보완 사항 원격관리 시스템에 대한 지속적인 보안 취약성 점검이 필요함 원격관리 시스템의 취약점을 이용한 웹 서버 공격 가능성을 방지