본문 바로가기
Linux 보안

리눅스 보안 4

by Mostlove 2025. 3. 11.
728x90
반응형

🛡파일 변조 및 침입 탐지 도구 정리

1️⃣ Tripwire - 파일 변조 탐지 도구

기능: 시스템 파일 변조 여부 감지
원리:

  1. 기존 파일의 해시 값과 속성 정보를 저장 (스냅샷 생성)
  2. 이후 변경이 발생하면 현재 파일과 비교하여 변조된 파일을 탐지
  3. 실시간 탐지는 불가능하지만 정기적인 검사를 통해 변조 여부 확인

구성 요소:

  • 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가지 모드 지원:
    1. Sniffer Mode → 패킷을 단순 모니터링
    2. Logger Mode → 감지된 패킷을 로그로 저장
    3. 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의 차단 방법

  1. IP 차단: 의심스러운 접근이 감지되면 해당 IP를 차단
  2. 사용자 차단: 특정 사용자의 접근을 차단
  3. 서비스 차단: 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