합병 기업의 통합 시스템 보안 점검
(정보시스템구축) 정보시스템 구축·운영 기반 정보보안 전문가 양성과정A23(4) 1회차
| 개요 | 전자상거래 시장에서 영향력을 확대해 온 Poni는 최근 T4ALL라는 오프라인 의류 판매 회사를 매입하여 PoniTA라는 온라인 의류 판매 및 패션 포럼 웹사이트를 신설했다. PoniTA는 성공적인 거래를 축하하고 기존 고객뿐만 아니라 대규모 신규 고객 유치를 위해 고객들을 대상으로 대규모 "Big Sales" 이벤트를 계획하는 중이다. 합병 이후, Poni는 T4ALL의 기존 서버와 데이터베이스를 자사의 네트워크 환경에 통합하여 Poni의 엔지니어들이 이를 관리할 수 있도록 재배치했다. 동시에, T4ALL의 온라인 팀이 필요 리소스에 접근할 수 있도록 새로운 망을 구축했으며, 기존 Poni와의 네트워크 연결도 설정되었다. 다만, 이러한 과정에서 두 회사의 서로 다른 IT 정책과 보안 수준 차이로 인해 시스템 통합 후의 취약점과 보안 리스크가 증가했다. 다가오는 "Big Sales" 이벤트는 PoniTA의 성공을 가늠할 중요한 기회지만, 대규모 트래픽 증가가 예상되며, 이는 시스템의 안정성과 보안성을 크게 시험할 것으로 보인다. 시스템 과부하, 고객 데이터 유출, 그리고 악의적인 사이버 공격 등 다양한 위협 요소를 예방하기 위해, 철저한 보안 점검이 필수적이라고 판단한 경영진은 사이버 보안 전문가인 "우리팀"에게 전사적 취약점 점검을 의뢰했다. |
|---|---|
| 구현기능 | [네트워크] 1. 기본 구현기능 - OSPF : 외부망의 라우터들은 OSPF 동적 라우팅을 사용해 경로 지정 - STP : PVST를 사용해 VLAN마다 Root Switch를 지정해 트래픽의 부하분산이 되도록 설정 - 장비 + 링크 이중화 : 외부에서 부터 들어오는 많은양의 WEB서버 요청을 감당하기 위해 이중화 설정(장비 이중화에는 VRRP 사용) 2. 보안 구현기능 - NAT : Static NAT를 설정해 외부에서 WEB서버를 접속할 때 공인 IP주소를 사용 NAT-PAT를 설정해 내부에서 외부로 인터넷 접속 시 공인 IP로 변환 되도록 설정 - VLAN : 부서마다 네트워크를 분리하여 Broadcast Traffic을 축소하고 보안성을 높임 - Firewall : iptables 정책을 활용해 기본적인 이상 트래픽 차단 외부 사용자는 WEB서버만 접근 가능, 내부 PC는 DMZ에 접근 가능, 일반 직원은 DNS 및 DB에 접근 불가, 방화벽을 라인형으로 구축하여 내부망으로 들어갈수록 보안을 강화 - VPN : 본사와 지사의 통신을 IPSec로 암호화 - IDS/IPS : SNORT를 활용해 WEB서버와 DMZ로 들어오는 트래픽 감지 및 차단 - LVS : (필요시) WEB서버의 고가용성을 위한 로드 밸런싱 솔루션 [서버] 1. 기본 구현기능 - DNS : DNS서버를 구축하여 직원들이 사용 가능한 내부 MAIL서버, FTPS서버 와 외부 사용자가 접근할 수 있는 WEB서버에 대한 정보 저장 - FTP : 기업 직원들이 FTP를 통해 파일을 주고 받을 수 있도록 FTP서버를 구성 - DHCP : 기업 내부 망에 있는 직원 PC에 대한 IP주소 부여를 목적으로 하는 DHCP서버를 기업 내부망에 구축 - MAIL : 기업 내부망의 직원들은 MAIL기능을 통해 서로 통신이 가능 - WEB : 외부 사용자한테 보여줄 웹페이지 기능 해당 웹에서 받는 정보들(회원/상품/주문)은 DB와 연동되어 DB에 자동으로 데이터 추가/삭제/수정 HTTP3로 가용성 확대 - DB : 상품, 회원, 직원, 주문 목록 생성 후 부서 및 직책에 따른 권한 설정 PHP(웹)와 연동되어 상품,회원,주문 목록 데이터가 갱신 시 자동으로 추가/삭제/수정 DB이중화를 통해 데이터 백업 및 가용성 확대 2. 보안 구현기능 - SSL : FTP, MAIL서버에 SSL을 추가하여 암호화된 통신 기능 지원 - HTTP/3 : WEB서버 통신의 암호화 및 가용성 확대 - WAF : 전문적으로 WEB Hacking을 막기위해 웹서버 Zone앞에 WAF 배치(WAPPLE 사용) [시스템] 1. 보안 구현기능 - (시간되면)SELinux : 시스템 제어를 할 수 있는 계정에 - (시간되면)PAM : 내부 서버 인증은 내부 주소만 가능하도록 추가 커스터마이징 - rsyslog : 지사에 공격에 대한 로그를 본사에 기록할 수 있도록 구현 [취약점 분석/모의해킹] - 네트워크, 시스템, 웹을 아래와 같은 방식으로 점검 및 공격해 취약점 발생지 확인 1. 방식 - White Box Testing 2. 정보수집 1.) DNS 정보수집 - nslookup, dig - Zone Transfer - Dictionary Attack > dnsenum 2.) 경로 정보 수집 - traceroute 3.) Scanning - Active Host Scanning > hping3, nmap - Port Scanning - Vulnerability Scanning > Metasploit, OpenVAS 3-1. 취약점 점검 및 공격 - Network 1.) Sniffing&Spoofing - ARP Spoofing or ARP Redirect - IP Spoofing - ICMP Spoofing(ICMP Redirect) - DHCP Attack(Starvation/ Spoofing) - DNS Spoofing, DNS Cache Poisoning 2.) Hijacking - TCP session Hijacking 3.) DoS / DDoS / DRDoS - Ping of Death - Land Attack - Smurf Attack - UDP Flooding - ICMP Flooding - SYN Flooding - TCP Connect Flood 3-2. 취약점 점검 및 공격 - System 1.) 악성코드 - Trojan Horse 2.) PW Cracking - John-the-Ripper - Hydra 3-3. 취약점 점검 및 공격 - WEB 1.) 정보수집 - Banner Grabbing - WEB Spidering 2.) Bypassing Client Side Validation 3.) WEB 인증 공격 - Brute Forcing(hydra) 4.) WEB 세션 공격 - WEB Session Hijacking 5.) Cross Site Scripting(XSS) - Stored - Reflected 6.) Cross Site Request Forgery(CSRF) 7.) SQL Injection - Non-Blind 8.) Directory Listing 9.) File Upload/ Download [통합 보안 솔루션] - Elastic Stack(로그 관리 포함) - UTM : (필요시) 작은 규모의 지사 내부망을 하나의 종합 솔루션으로 보안 [결과물] - 프로젝트 보고서 및 PPT - 취약점 분석 진단서 및 보고서 |
| 설계의 주안점 | BEFORE 네트워크와 서버를 구현할 때 모든 통신이 원활하게 되는지 확인 BEFORE 네트워크와 서버에서 찾을 수 있는 취약점을 발견하여 분석 발견한 취약점을 토대로, AFTER 네트워크와 서버를 구현한 후 대응 프로세스가 효과적으로 작동하는지 테스트 1. 네트워크 인프라 및 네트워크 안정성 - 지사에서 VPN을 통해 내부 서버 접속이 되는지 확인 - 내부 호스트가 인터넷 연결이 되는지 확인 - 외부 호스트가 WEB 서버 접속이 되는지 확인 - VLAN을 활용한 네트워크 분리가 보안성을 높이는 데 충분한지 확인 - Firewall, IDS/IPS, VPN 등의 보안 장비 및 정책이 공격 대응에 충분한지 평가 - 장비/링크 이중화가 잘 적용됐는지 확인 2. 서버 인프라 및 서버 안정성 - DB, FTP 등 핵심 서버의 보안 설정이 적절한지 확인(예: 접근 권한 설정, 암호화, 취약점 보안) - WEB 서버와 DB 서버 간의 데이터 연동 과정에서 보안 취약점(SQL Injection, XSS 등) 확인 3. 악의적인 공격 대응 능력 - SYN Flooding, UDP Flooding 등의 DDoS 공격에 대한 방어책(Limiting, SYN Cookie 등) 적용 여부 - IDS/IPS와 WAF가 실제로 웹 공격 및 네트워크 공격을 효과적으로 탐지 및 차단하는지 4. 공격 시나리오 기반 보안 테스트 수행 여부 - 화이트박스 테스트를 통해 실제 해킹 기법(ARP Spoofing, SQL Injection 등)이 적용 가능한지 확인 - 주요 시스템 및 네트워크 요소에 대한 취약점 점검 및 대응 조치가 충분한지 평가 - 공격 후 대응 프로세스가 효과적으로 작동하는지 테스트 |
| 사용기술 및 개발환경 |
[개발환경] - Physical : Windows 10 Pro 22H2 - 네트워크 가상화 : GNS3 2.2.5 - 서버 가상화 : VMware 17.5.0 - 웹 개발 환경 : Visual Studio Code 1.96.4 - 서버 운영체제 : Rocky Linux 9.3 - 취약점 분석 운영체제 : Kali Linux 6.11.2-amd64 - SNORT 운영체제 : Cent OS 6.7 - 취약 운영체제 : Windows 7 - 협업 툴 : github(소스 코드 공유), MEGA Drive(네트워크 및 서버 파일 등 대용량 파일 공유), Google Drive(문서 파일 공유) [네트워크] - OSPF - VLAN - PVST - VRRP - FRR : frr-8.5.3-4 - NAT / NAT-PAT - (필요시)LVS : ipvsadm-1.31-6 [서버] - DNS : bind-9.16.23-24 - DHCP : dhcp-server-4.4.2-19.b1 - Mail : postfix-3.5.25-1 + dovecot-2.3.16-14 - FTPS : vsFTPd + openssl-3.0.7-24 - HTTPS : HTTPD 2.4.62-1 + openssl 3.0.7-24 - HTTP/3 - WAS : php 8.0.30-1 - DB: mariaDB 10.5.22-1 [취약점 분석/모의해킹] - KISA_취약점_분석_평가_방법_상세가이드 참고 - nmap : 7.95+dfsg-1kali1 - Burpsuite : v2024.10.3 - OpenVAS : 23.13.1 + gvm-libs : 22.14.0 - Metasploit : v6.4.44-dev - John-the-Ripper : 1.9.0 - Hydra : v9.5-3 - hping3 : 3.a2.ds2-11~kali1 - yersinia : 0.8.2-2.2+b1 - nping : Nping 0.7.95 - dnsspoof : Version: 2.4 - arpspoof : Version: 2.4 - fragrouter : 1.7-3kali4 - ettercap : common/graphical 1:0.8.3.1-13 - sqlmap: 1.9-1 [보안] - iptables : iptables-nft-1.8.8-6 - rsyslog : 8.2102.0-117 - IPSec - SNORT : 2.9.16 - UTM : 9.401-11 - Elastic Stack : v8.17.1 - WAF(WAPPLE) : WAPPLES-5.0.0.13 - (시간 남으면)SELinux : 38.1.23 - (시간 남으면)PAM : 1.5.1-22 [확인용 프로그램] - FTP서버 접속 : FileZilla 3.64.0 - SSH 접속 : Windows XP Professional + putty0_60h - MAIL서버 접속 : thunderbird-128.4.0-1 - 네트워크 통신 : Wireshark 4.4.3 - traceroute : 1:2.1.6-1 |