🛡파일 변조 및 침입 탐지 도구 정리
1️⃣ Tripwire - 파일 변조 탐지 도구
✅ 기능: 시스템 파일 변조 여부 감지
✅ 원리:
- 기존 파일의 해시 값과 속성 정보를 저장 (스냅샷 생성)
- 이후 변경이 발생하면 현재 파일과 비교하여 변조된 파일을 탐지
- 실시간 탐지는 불가능하지만 정기적인 검사를 통해 변조 여부 확인
✅ 구성 요소:
- site.key → 설정파일 및 정책파일 암호화
- tw.cfg, tw.pol → 이진 설정 파일 (수정 불가)
- twcfg.txt, twpol.txt → 편집 후 암호화하여 tw.cfg, tw.pol로 변환
❗ 현재 CentOS 기본 패키지에 포함되지 않음
2️⃣ AIDE (Advanced Intrusion Detection Environment)
✅ 기능: Tripwire 대체 오픈소스 무결성 검사 도구
✅ 특징:
- 기본 리포지토리에 포함됨 (설치가 간편)
- RPM의 한계를 보완 (RPM은 직접 설치한 패키지만 검사 가능)
- 파일 체크섬과 권한 정보를 데이터베이스에 저장하여 변조 감지
- 데이터베이스를 암호화하고 읽기전용 매체에 보관 가능
✅ 설치 및 사용:
sudo yum install aide -y # CentOS에서 설치
sudo aide --init # 초기 데이터베이스 생성
sudo cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz # 데이터베이스 등록
sudo aide --check # 변경 사항 확인
3️⃣ PortSentry - 포트 스캔 탐지 도구
✅ 기능: 외부에서 시스템 포트 스캔을 감지하고 차단
✅ 특징:
- 실시간으로 포트 스캔 탐지 (nmap 같은 스캐너 차단)
- 침입자 IP를 /etc/hosts.deny에 추가하여 차단
- 관리자에게 이메일 알림 전송 가능
- 역공격 자동 실행 가능 (보안 위험성 있음)
✅ 설정 파일:
- /etc/portsentry/portsentry.conf
- /etc/hosts.deny (차단된 IP 저장)
✅ 설치 및 실행:
sudo yum install portsentry -y # 설치 sudo systemctl enable portsentry --now # 서비스 활성화
🔒 파일 변조 및 침입 탐지 도구 정리
서버의 보안을 강화하기 위해 파일 무결성 검사, 침입 탐지, 포트 스캔 방어 도구를 활용할 수 있습니다. 대표적인 보안 도구들을 정리했습니다.
📌 1. 파일 변조 탐지 도구 (무결성 검사)
도구기능특징Tripwire | 파일 변조 탐지 | 설정이 복잡하며, CentOS 기본 패키지에서 제외됨 |
AIDE (추천) | 파일 무결성 검사 | Tripwire 대체 가능, RPM보다 강력함, CentOS 기본 패키지 포함 |
Samhain | 파일 변조 감지 및 실시간 경고 | 실시간 모니터링 가능, 로그 중앙 관리 지원 |
OSSEC | 파일 무결성 검사 + 침입 탐지 | 실시간 감지 및 중앙 관리 가능 (HIDS) |
✅ 추천 도구:
- AIDE → 파일 변조 감지만 필요할 때
- OSSEC / Samhain → 실시간 모니터링이 필요할 때
📌 2. 침입 탐지 시스템 (HIDS & NIDS)
도구유형기능특징OSSEC | HIDS | 침입 탐지, 파일 무결성 검사, 로그 분석 | 실시간 모니터링 및 중앙 관리 가능 |
Wazuh | HIDS | OSSEC 기반 확장, SIEM 연동 가능 | 클라우드 환경 지원, 실시간 경고 |
Snort | NIDS | 네트워크 기반 침입 탐지 | 서명 기반 공격 탐지, 실시간 트래픽 분석 |
Suricata | NIDS | Snort와 유사, 높은 성능 | 멀티스레딩 지원, IDS/IPS 기능 포함 |
✅ 추천 도구:
- OSSEC / Wazuh → 호스트 기반 침입 탐지 필요할 때
- Snort / Suricata → 네트워크 침입 탐지 필요할 때
📌 3. 포트 스캔 및 네트워크 보안
도구기능특징PortSentry | 포트 스캔 탐지 및 차단 | nmap 등 포트 스캐너 탐지 가능 |
Fail2Ban | 로그인 실패 감지 및 차단 | SSH, FTP 등에서 반복 로그인 실패 시 IP 차단 |
RKHunter | 루트킷 탐지 | 숨겨진 악성코드 탐지, 정기적인 검사 필요 |
Chkrootkit | 루트킷 탐지 | RKHunter보다 가볍지만 기능이 제한적 |
✅ 추천 도구:
- PortSentry → 포트 스캔 방어
- Fail2Ban → SSH 무차별 대입 공격 방어
- RKHunter / Chkrootkit → 루트킷 탐지
🎯 결론: 상황별 추천 조합
✔ 파일 변조 감지 + 침입 탐지 → AIDE + OSSEC
✔ 네트워크 보안 + 포트 스캔 방어 → PortSentry + Fail2Ban
✔ 루트킷 및 악성코드 탐지 → RKHunter + Chkrootkit
✔ 실시간 침입 탐지 및 보안 강화 → Wazuh + Suricata
보안이 중요한 서버라면 HIDS + NIDS + 파일 무결성 검사를 함께 활용하는 것이 효과적입니다!
🔍 Rootkit 탐지 및 대응 방법
Rootkit은 해커가 서버에 침입한 후 백도어 설치 및 침투 흔적을 삭제하는 데 사용됩니다. 이러한 Rootkit을 탐지하기 위해 다양한 도구를 활용할 수 있습니다.
📌 1. Rootkit 탐지 도구
도구 | 기능 | 특징 |
Chkrootkit | 루트킷 탐지 | 간단한 스크립트 기반, 빠르게 검사 가능 |
RKHunter (Rootkit Hunter) | 루트킷 및 백도어 탐지 | 해시 값 비교를 통한 정밀 검사 가능 |
Chkproc | 악성 프로세스 탐지 | 변조된 ps 명령어로 숨겨진 프로세스 감지 |
Chkwtmp | 조작된 로그인 기록 탐지 | /var/log/wtmp 변조 여부 확인 |
✅ 추천 도구:
- 빠르게 Rootkit 탐지 → Chkrootkit
- 정밀하게 Rootkit 및 백도어 검사 → RKHunter
- 로그 변조 여부 확인 → Chkproc, Chkwtmp
📌 2. Chkrootkit 사용 방법
sudo yum install chkrootkit -y #설치
sudo chkrootkit #Rootkit 검사
sudo chkrootkit | grep INFECTED #특정 Rootkit 탐지
📌 3. RKHunter 사용 방법
sudo yum install rkhunter -y #설치
sudo rkhunter --update sudo rkhunter --propupd #데이터베이스 업데이트
sudo rkhunter --check #Rootkit 검사 실행
#검사 결과에서 [ Warning ] 메시지가 나오면 수동 확인 필요
📌 4. Chkproc & Chkwtmp 활용
sudo chkproc #Chkproc: 숨겨진 프로세스 탐지
sudo chkwtmp #Chkwtmp: 로그인 기록 변조 확인
🚀 추가적인 보안 강화 방법
✔ AIDE 활용 → 시스템 파일 변조 탐지
✔ Fail2Ban 설정 → SSH 로그인 실패 시 IP 차단
✔ PortSentry 사용 → 포트 스캔 탐지 및 차단
✔ 로그 모니터링 → /var/log/auth.log, /var/log/secure 확인
📊 로그 분석을 통한 침입 탐지
해커는 로그 파일을 변조하거나 삭제하여 침입 흔적을 감추는 경우가 많습니다. 따라서 정기적으로 로그를 분석하여 의심스러운 활동을 감지해야 합니다. 이를 위해 Logcheck, Logwatch, Loganalyzer 등의 도구를 사용할 수 있습니다.
📌 1. 주요 로그 분석 도구
도구기능특징
Logcheck | 실시간 로그 모니터링 및 경고 | 침입 징후 탐지 및 이메일 알림 지원 |
Logwatch | 일일 로그 요약 리포트 생성 | 시스템 로그 요약 및 관리자 보고 |
Loganalyzer | 웹 기반 로그 분석 | GUI 제공, 원격에서 로그 모니터링 가능 |
✅ 추천 도구:
- 실시간 침입 탐지 → Logcheck
- 일일 로그 요약 보고서 → Logwatch
- 웹 기반 로그 모니터링 → Loganalyzer
📌 2. Logcheck 사용 방법
sudo yum install logcheck -y #설치
sudo nano /etc/logcheck/logcheck.conf #구성 파일 설정
###REPORTLEVEL="server" → 감지 수준 설정 (워크스테이션/서버/파라노이드)
###SENDMAILTO="admin@example.com" → 경고 이메일 받을 주소 설정
sudo logcheck #수동 실행:
sudo crontab -e #정기적인 자동 실행 (crontab 설정)
0 * * * * /usr/sbin/logcheck #cron
###➡ 매시간 로그 검사 후 관리자에게 이메일 발송
📌 3. Logwatch 사용 방법
sudo yum install logwatch -y #설치
sudo logwatch --detail High --mailto admin@example.com # 일일 로그 보고서 생성
###로그 파일 및 설정 경로:
###/var/log/messages → 시스템 로그
###/etc/logwatch/conf/logwatch.conf → 설정 파일
###➡ 로그 요약 보고서를 자동으로 이메일 발송하도록 설정 가능
📌 4. Loganalyzer 사용 방법 (GUI 기반)
sudo yum install rsyslog-mysql loganalyzer -y #설치
##설정:
###MySQL 데이터베이스 구성
mysql -u root -p
CREATE DATABASE syslog; GRANT ALL PRIVILEGES ON syslog.*
TO 'sysloguser'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; EXIT;
###웹서버(Apache) 설정 후 접근
###http://server-ip/loganalyzer/ 접속
###GUI 환경에서 로그 조회 가능
🎯 결론: 상황별 추천 조합
✔ 실시간 침입 탐지 및 경고 → Logcheck
✔ 서버 운영 일일 요약 리포트 → Logwatch
✔ 웹 기반 로그 분석 및 관리 → Loganalyzer
📢 보안 강화 팁
- 로그 변조 방지: /var/log/ 디렉터리에 대한 무결성 검사 수행 (AIDE, Tripwire 활용)
- Rootkit 감지: RKHunter, Chkrootkit 병행 사용
- 로그 원격 백업: 별도 서버에 보관하여 해커가 로컬 로그를 변조해도 추적 가능
🔥 침입 감지(IDS) & 침입 예방(IPS) 및 네트워크 보안 원칙
네트워크 보안 시스템을 설정할 때 중요한 두 가지 원칙이 있습니다.
📌 1. Fail Safe vs. Safe Failure
원칙개념예시장점단점
Fail Safe | 오류 발생 시 안전한 대체 경로 제공 | 인증 서버 장애 시 다른 인증 방법 허용 | 사용자가 계속 서비스를 이용 가능 | 보안이 취약할 수 있음 |
Safe Failure | 오류 발생 시 시스템을 안전하게 유지 | 네트워크 공격 발생 시 서비스 차단 | 보안 강화 | 사용자의 서비스 이용이 제한될 수 있음 |
✔ Fail Safe 예시:
- 인증 서버에 문제가 생겨도 다른 방식으로 사용자가 로그인 가능하게 설정
- 일부 방화벽이 장애 발생 시 트래픽을 차단하지 않고 허용
✔ Safe Failure 예시:
- ARP Poisoning 공격 시 스위치가 허브처럼 동작하지만, 네트워크는 계속 유지됨
- 인증 실패 시 모든 네트워크 접속을 차단
📢 네트워크 보안 장비(FW, IDS, IPS)는 일반적으로 Fail Safe 원칙을 따릅니다.
📌 2. 침입 감지(IDS) & 침입 예방(IPS)
시스템기능특징예시 도구
IDS (Intrusion Detection System) | 침입 탐지 및 경고 | - 로그 분석 & 관리자 알림 - 실시간 차단은 하지 않음 |
Snort, Suricata, OSSEC |
IPS (Intrusion Prevention System) | 침입 탐지 + 차단 | - IDS 기능 + 자동 차단 - 실시간 대응 가능 |
Snort (IPS Mode), Suricata IPS, pfSense IPS |
✔ IDS와 IPS 차이점:
- IDS는 공격을 감지하지만 차단하지 않음 (관리자가 조치)
- IPS는 공격을 감지하고 자동으로 차단
✅ IDS + IPS 추천 조합:
- IDS만 사용 → Snort + 로그 분석
- 자동 차단 필요 → Suricata IPS + 방화벽
📌 3. 네트워크 보안 도구 정리
도구기능
Firewall(방화벽) | 네트워크 트래픽 필터링 |
Web Firewall(WAF) | 웹 공격 방어 (ex. ModSecurity) |
NAC (Network Access Control) | 네트워크 접근 통제 |
ESM (Enterprise Security Management) | 통합 보안 관리 |
UTM (Unified Threat Management) | 방화벽 + IDS/IPS + VPN 통합 |
📌 보안 최적화 팁:
✅ 방화벽 설정 강화 (기본적으로 모든 포트 차단 후 필요한 것만 허용)
✅ IDS/IPS 연계 운영 (탐지된 위협을 즉시 차단)
✅ 실시간 로그 분석 (Logwatch, OSSEC 활용)
✅ 최신 보안 패치 적용 (시그니처 업데이트 필수)
🛡 네트워크 보안 도구 정리
네트워크 보안 강화를 위해 다양한 도구가 존재하며, 각각의 역할이 다릅니다.
📌 1. 방화벽(Firewall) 🔥
네트워크를 보호하기 위해 특정 트래픽을 허용하거나 차단하는 보안 시스템
방화벽 종류설명
네트워크 방화벽 | 패킷 필터링 방식으로 외부에서 내부로 들어오는 트래픽을 차단 |
웹 방화벽 (WAF, Web Application Firewall) | 웹 애플리케이션 공격(SQL Injection, XSS 등) 방어 (ex. .htaccess, ModSecurity) |
호스트 기반 방화벽 | 개별 시스템(PC, 서버)에서 실행되는 방화벽 |
✅ 대표 도구: iptables, firewalld, pfSense, ModSecurity
📌 2. 바이러스월 (VirusWall) 🦠
내부 네트워크에서 바이러스 전파를 차단하는 역할을 하며, Proxy, Mail Relay 등을 통해 감염 방지
✅ 대표 도구: Trend Micro VirusWall, McAfee Web Gateway, Sophos UTM
📌 3. 침입 감지 시스템 (IDS, Intrusion Detection System) 🚨
💡 IDS는 침입을 탐지하지만 차단하지는 않음!
IDS 유형설명
네트워크 기반 IDS(NIDS) | 네트워크 트래픽을 모니터링하여 침입 감지 |
호스트 기반 IDS(HIDS) | 시스템 로그를 분석하여 침입 감지 |
✅ 대표 도구: Snort (NIDS), OSSEC (HIDS), Suricata
📌 4. 침입 예방 시스템 (IPS, Intrusion Prevention System) 🛑
💡 IDS 기능 + 실시간 차단 기능 추가!
IPS 특징설명
시그니처 기반 | 알려진 공격 패턴(서명)과 비교하여 차단 |
행위 기반 | 비정상적인 네트워크 행동 감지 후 차단 |
✅ 대표 도구: Suricata IPS, Snort IPS, pfSense IPS
📌 5. 통합 보안 관리 시스템 (ESM, Enterprise Security Management) 🏢
💡 기업 내 여러 보안 시스템을 통합 관리하는 솔루션
✅ 대표 도구: Splunk, IBM QRadar, ArcSight
📌 6. 통합 위협 관리 (UTM, Unified Threat Management) 🛡
💡 방화벽 + IDS/IPS + VPN + 안티바이러스 등 다양한 기능을 포함한 보안 장비
✅ 대표 도구: FortiGate UTM, Sophos UTM, Cisco Meraki
📌 7. 네트워크 접근 제어 (NAC, Network Access Control) 🔐
💡 네트워크에 연결되는 모든 장치를 통제하고 보안 정책 적용
✅ 대표 도구: Cisco ISE, Aruba ClearPass, Forescout
🛡 보안 핵심 용어 정리
정보 보안에서 자주 등장하는 위험(Risk), 위협(Threat), 취약점(Vulnerability) 개념을 명확히 이해하는 것이 중요합니다.
📌 1. 위험 (Risk) ⚠️
💡 "위협이 취약점을 이용해 자산에 손실을 발생시킬 가능성"
🔹 정의:
- 자산(asset)에 예상되는 위협(threat)으로 인해 손실이 발생할 가능성과 그 기대치
- 자산의 가치, 취약성, 위협 요소의 능력 및 보호 대책의 효과 등에 영향을 받음
✅ 예시:
- 중요한 고객 정보(DB 서버)가 해킹될 가능성이 존재함 → 위험 발생
- 방화벽이 제대로 설정되지 않아 외부 공격에 노출됨 → 위험 증가
📌 2. 위협 (Threat) 🚨
💡 "자산에 손실을 유발할 수 있는 행위나 사건"
🔹 정의:
- 직접적/간접적으로 자산에 피해를 줄 수 있는 요소
- 보안에 해를 끼칠 수 있는 행동이나 사건을 포함
✅ 예시:
- 해커가 시스템을 공격하는 행위
- 악성코드를 이용한 랜섬웨어 공격
- 내부 직원의 부주의로 인한 데이터 유출
📌 3. 취약점 (Vulnerability) 🔓
💡 "위협이 자산을 손상시킬 수 있도록 만드는 약점"
🔹 정의:
- 자산의 보안적 약점 (Weak Point)
- 소프트웨어 설계, 구현 오류, 운영상의 문제로 인해 발생
- 취약점이 많을수록 위험이 커짐
✅ 예시:
- 패치가 적용되지 않은 운영체제 (ex. 보안 업데이트 미적용)
- 약한 비밀번호 사용 (123456 같은 쉬운 비밀번호)
- 불필요한 서비스가 실행 중인 서버
📢 위험, 위협, 취약점의 관계 🔁
1️⃣ 취약점(Vulnerability) → 보안상의 약점 존재
2️⃣ 위협(Threat) → 해커가 취약점을 공격
3️⃣ 위험(Risk) → 공격이 성공하여 자산 손실 발생
📌 예시 상황:
- 웹 서버(자산)에 SQL Injection 취약점(취약점) 이 존재함
- 해커가 SQL Injection 공격(위협) 을 시도함
- 공격이 성공하여 고객 데이터가 유출됨 → 금전적 손실과 신뢰도 하락 (위험 발생)
🛡 침입 감지 및 예방 시스템(IDS/IPS) & 네트워크 모니터링 도구 정리
네트워크 보안에서 침입 감지 및 예방 시스템(IDS/IPS)과 방화벽(FW)은 필수적인 도구입니다.
이들 도구는 네트워크 트래픽을 감시하고 이상 행위를 탐지 및 차단하여 시스템을 보호합니다.
🔍 1. IDS(침입 감지 시스템) & IPS(침입 예방 시스템)
IDS와 IPS는 기본적으로 네트워크를 감시하지만, 차이점이 있습니다.
구분기능역할
IDS (Intrusion Detection System) | 네트워크의 이상 트래픽 감지 | 알림만 제공 (공격 감지 후 관리자에게 통보) |
IPS (Intrusion Prevention System) | 네트워크의 이상 트래픽 감지 후 차단 | 능동적으로 공격 차단 (예방 조치 수행) |
📌 예시:
- IDS: 침입 시도가 감지되면 관리자에게 경고를 보냄 (Snort)
- IPS: 침입 시도가 감지되면 자동으로 차단 (Fail2Ban)
🌐 2. 네트워크 모니터링 및 보안 도구
IDS/IPS 및 네트워크 보안을 위한 주요 도구들을 정리하면 다음과 같습니다.
🔹 (1) In-Line 방식 (NIC 1개, 네트워크 내부 감시)
- Snort 🛡 (IDS/IPS) → 네트워크 트래픽을 감시 및 차단
- Fail2Ban 🔒 (IPS) → 로그인 실패 감지 후 IP 차단
- Suricata ⚡ (IDS/IPS) → 고성능 침입 감지/예방 시스템
- OSSEC 🖥 (HIDS) → 호스트 기반 IDS
- ModSecurity 🔥 (WAF) → 웹 애플리케이션 방화벽
- PacketFence 🔑 (NAC) → 네트워크 접근 제어
- ELK Stack (ElasticSearch + Logstash + Kibana) 📊 → 로그 분석 및 시각화
🔹 (2) Out-of-Path 방식 (NIC 2개, 네트워크 외부 감시 및 차단)
- Linux FW (iptables, nftables) 🔥 → 리눅스 방화벽
- ASG (Astaro Security Gateway) 🏰 → 네트워크 보안 게이트웨이
- Untangle 🚦 → 통합 보안 솔루션
- Security Onion 🧅 → 네트워크 감시 및 분석
- FortiGate 🛡 → 강력한 하드웨어 기반 방화벽
- Endian 🔐 → 오픈소스 방화벽 및 UTM 솔루션
☁ (3) 클라우드 기반 네트워크 모니터링 도구
- Zabbix 📡 → 서버 및 네트워크 모니터링
- MRTG (Multi Router Traffic Grapher) 📈 → 트래픽 분석
- Cacti 🌵 → 네트워크 및 시스템 성능 모니터링
- Nagios 🎯 → 서버 및 네트워크 상태 점검
- Ganglia 📊 → 대규모 분산 시스템 모니터링
🚀 3. IDS/IPS의 대표적 도구들 - Snort & Fail2Ban
🛡 ① Snort (IDS/IPS) - 네트워크 침입 감지/예방 도구
- 네트워크 트래픽을 분석하여 이상 징후 감지
- 3가지 모드 지원:
- Sniffer Mode → 패킷을 단순 모니터링
- Logger Mode → 감지된 패킷을 로그로 저장
- IDS/IPS Mode → 침입 감지 및 차단 수행
✅ 설정 파일 위치
- /etc/snort/snort.conf → Snort의 기본 설정
- /etc/snort/rules/*.rules → 감지 룰 정의
🔒 ② Fail2Ban (IPS) - 서버 보호 및 침입 방어
- SSH, FTP, HTTP 등 특정 서비스에서 의심스러운 로그인 시도 감지
- 지정된 횟수만큼 로그인 실패 시 자동으로 IP 차단
- 로그 기반 동작: /var/log/auth.log 같은 파일 감시
✅ 설정 파일 위치
- /etc/fail2ban/fail2ban.conf → Fail2Ban의 기본 설정
- /etc/fail2ban/jail.local → 차단 정책 (IP, 서비스 등 설정)
📌 Fail2Ban의 차단 방법
- IP 차단: 의심스러운 접근이 감지되면 해당 IP를 차단
- 사용자 차단: 특정 사용자의 접근을 차단
- 서비스 차단: SSH, Telnet 같은 특정 서비스 차단
📢 💡 정리 & 결론
✅ IDS(침입 감지)와 IPS(침입 예방)의 차이점을 이해하자!
✅ Snort, Fail2Ban, Suricata 같은 IDS/IPS 도구를 익혀두자!
✅ 네트워크 모니터링 도구를 활용해 실시간 감시를 수행하자!
🚀 실무에서는 방화벽(FW) + IDS/IPS + 모니터링 도구를 함께 운영하여 보안을 강화하는 것이 일반적이다.
🔐 네트워크 보안의 핵심은 "이상 징후 감지 + 차단 + 실시간 모니터링"
'Linux 보안' 카테고리의 다른 글
리눅스 보안 5일차 핵심요약본 (0) | 2025.03.12 |
---|---|
리눅스 보안 5 (0) | 2025.03.12 |
리눅스 보안 4일차 핵심요약본 (0) | 2025.03.11 |
리눅스 보안 3 (1) | 2025.03.10 |
리눅스 보안 2 (0) | 2025.03.07 |