서버 보안 아키텍처 구축: Wazuh, 방화벽, Fail2Ban, Logwatch 활용
1. 개요: 왜 보안 아키텍처가 필요한가?
서버를 운영하는 기업이나 개인이라면 보안 위협으로부터 데이터를 보호하는 것이 중요합니다. 이번 글에서는 파일 무결성 점검(Wazuh), 침입 탐지 및 방어(방화벽), 로그 분석(Fail2Ban & Logwatch) 를 활용하여 4대의 서버에 최적화된 보안 아키텍처를 구축하는 방법을 소개합니다.
2. 최종 보안 아키텍처 개요
이번 보안 아키텍처에서는 Wazuh를 활용한 무결성 점검, 방화벽을 통한 침입 방지, Fail2Ban 및 Logwatch를 이용한 로그 분석을 주요 요소로 삼습니다.
✅ 보안 솔루션 개요
기능 | 사용 도구 | 역할 |
파일 무결성 점검 (FIM) | Wazuh | 서버 내 파일 변경 감지 |
침입 탐지/방어 (IDS/IPS) | 방화벽 | 네트워크 레벨에서 위협 차단 |
로그 분석 및 대응 | Fail2Ban | 악의적인 로그인 시도 차단 |
시스템 로그 분석 | Logwatch | 주기적인 서버 로그 요약 제공 |
3. Wazuh를 활용한 파일 무결성 점검 (FIM)
🔹 Wazuh란?
Wazuh는 오픈소스 보안 플랫폼으로, 파일 무결성 점검(FIM), 로그 분석, 위협 탐지 등의 기능을 제공합니다.
중앙 서버(Wazuh Manager)와 각 서버에 설치하는 Wazuh Agent로 구성됩니다.
🔹 Wazuh 아키텍처
- Wazuh Manager: 중앙에서 로그를 수집하고 분석
- Wazuh Agent: 각 서버에 설치되어 파일 무결성을 감시
- Elasticsearch + Kibana: 수집된 데이터를 저장하고 시각화 (선택 사항)
🔹 설치 방법
📌 Wazuh Manager (중앙 서버) 설치
curl -sO https://packages.wazuh.com/4.x/wazuh-install.sh
sudo bash wazuh-install.sh --wazuh-manager
📌 Wazuh Agent (클라이언트 서버) 설치
curl -sO https://packages.wazuh.com/4.x/wazuh-install.sh
sudo bash wazuh-install.sh --wazuh-agent
TIP: 중앙 서버의 Wazuh Manager와 연결을 위해 agent-auth 명령어를 사용해야 합니다.
🔹 파일 무결성 감시 설정
Wazuh의 /var/ossec/etc/ossec.conf 파일을 수정하여 특정 디렉터리를 감시할 수 있습니다.
<syscheck>
<directories check_all="yes">/etc,/var/www,/home</directories>
</syscheck>
이렇게 설정하면 /etc, /var/www, /home 폴더 내 파일 변경 사항을 감지할 수 있습니다.
4. 방화벽을 활용한 침입 탐지 및 방어
🔹 기본 원칙
침입 탐지 및 방어(IDS/IPS)를 별도의 솔루션 없이 방화벽을 활용하여 대체할 계획입니다. 이를 위해 iptables 또는 UFW를 설정합니다.
🔹 iptables 설정 예시
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
위 설정은 192.168.1.100에서만 SSH 접속을 허용하고, 나머지는 차단하는 것입니다.
🔹 UFW 설정 예시
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw enable
이렇게 하면 기본적으로 모든 트래픽을 차단하고, SSH(22), HTTP(80)만 허용하게 됩니다.
5. 로그 분석 및 자동 차단: Fail2Ban & Logwatch
🔹 Fail2Ban으로 SSH 브루트포스 공격 방어
Fail2Ban은 반복적인 로그인 실패 시 특정 IP를 차단하는 역할을 합니다.
📌 설치 및 설정
sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
/etc/fail2ban/jail.local 파일에서 [sshd] 설정을 활성화합니다.
[sshd]
enabled = true
bantime = 3600
findtime = 600
maxretry = 5
이 설정은 로그인 실패 5회 시 1시간 동안 IP 차단하는 기능을 합니다.
🔹 Logwatch로 서버 상태 모니터링
Logwatch는 서버 로그를 분석하여 요약된 보고서를 제공하는 도구입니다.
📌 설치 및 실행
sudo apt install logwatch -y
sudo logwatch --detail high --mailto admin@example.com --range today
위 명령을 실행하면 오늘의 로그 분석 결과가 메일(admin@example.com)로 전송됩니다.
6. 결론 이 보안 아키텍처의 장점
이제 서버에 대한 보안 아키텍처가 완성되었습니다. 이 구성의 주요 장점은 다음과 같습니다.
✅ 파일 무결성 점검: Wazuh를 활용해 핵심 파일 변경 감지
✅ 침입 방지: 방화벽을 활용한 네트워크 기반 보호
✅ 로그 분석: Fail2Ban을 통해 공격을 자동 차단하고, Logwatch로 서버 상태 모니터링
✅ 오픈소스 기반: 비용 절감과 커뮤니티 지원 활용 가능
이번 보안 아키텍처는 단순하지만 효과적인 보안 환경을 구축할 수 있는 실용적인 방법입니다. 추가적으로 보안 강화를 원한다면 Wazuh의 ELK 스택 활용, 추가적인 IDS/IPS 솔루션 적용을 고려할 수도 있습니다.
'IT > 보안' 카테고리의 다른 글
시스템 및 네트워크 보안을 위한 핵심 보안 도구 가이드 (0) | 2025.03.21 |
---|---|
파일 무결성(File Integrity)을 검증하는 방법 (0) | 2025.03.20 |
권한 상승(Privilege Escalation) 공격이란 무엇이며, 어떻게 방어할 수 있을까? (0) | 2025.03.20 |
이메일 한 통에 회사 기밀이 털린다! APT 공격의 무서운 실체 (0) | 2025.03.20 |
리눅스 서버 보안 설정 완벽 가이드: 해킹을 막는 필수 설정 10가지 (0) | 2025.03.18 |
댓글