본문 바로가기

서버 보안 아키텍처 구축: Wazuh, 방화벽, Fail2Ban, Logwatch 활용

액트 2025. 3. 21.
반응형

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 솔루션 적용을 고려할 수도 있습니다.

반응형

댓글