본문 바로가기
Linux 보안

리눅스 보안 5일차 핵심요약본

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

🛡 네트워크 보안 도구 정리 및 활용

🔹 1. Suricata - 침입 탐지 및 카드 번호 감지

Suricata는 Snort의 업그레이드 버전으로, IDS(침입 탐지 시스템)IPS(침입 방지 시스템) 역할을 수행하는 강력한 네트워크 보안 도구입니다.

특징

  • Snort 룰과 호환됨
  • 멀티스레딩 지원으로 더 빠르고 강력한 탐지 성능 제공
  • DPI(Deep Packet Inspection), 파일 추출 기능 지원

카드 번호 감지 예제
Suricata는 **정규표현식(PCRE)**을 활용하여 네트워크에서 특정 패턴을 감지할 수 있습니다.

📌 MasterCard & Amex 번호 감지 룰

# MasterCard 탐지 alert tcp any any -> any any (pcre:"/5\d{3}(\s|-)?\d{4}(\s|-)?\d{4}(\s|-)?\d{4}/"; msg:"MasterCard number detected in clear text"; sid:9000001; rev:1;) # Amex 탐지 alert tcp any any -> any any (pcre:"/3\d{3}(\s|-)?\d{6}(\s|-)?\d{5}/"; msg:"American Express card number detected in clear text"; sid:9000003; rev:1;)

💡 활용: 네트워크에서 신용카드 정보 유출 감지 및 차단 가능 🚀


🔹 2. DenyHosts - SSH 무차별 대입 공격 방어

DenyHosts는 SSH 로그인 실패 횟수를 분석하여 공격 IP를 차단하는 보안 도구입니다.

기능

  • 무차별 대입 공격(Brute-force Attack) 방어
  • /etc/hosts.deny를 이용하여 악성 IP 차단
  • 특정 IP만 허용하여 보안 강화 가능

📌 설정 예제

1) 접근 제어 설정 (TCP Wrapper 활용)

# /etc/hosts.deny (모든 접속 기본 차단) ALL : ALL # /etc/hosts.allow (특정 IP만 허용) sshd : 192.168.111.100 # 특정 호스트 허용 mysqld : 192.168.111.* # 특정 네트워크 허용

✅ 특정 네트워크 및 호스트에 대해서만 접속을 허용하여 보안을 강화할 수 있음

2) DenyHosts 설치 및 설정

# Ubuntu/Debian sudo apt update && sudo apt install denyhosts
# 설정 파일 수정 sudo nano /etc/denyhosts.conf
# 주요 설정 변경 DENY_THRESHOLD_INVALID = 5
# 존재하지 않는 사용자로 5회 실패 시 차단 DENY_THRESHOLD_ROOT = 3 # root 계정으로 3회 실패 시 차단
# 서비스 재시작 및 활성화 sudo systemctl restart denyhosts sudo systemctl enable denyhosts

✅ SSH 보안을 강화하여 무차별 대입 공격 방어 가능! 🚀


🔹 3. 방화벽 설정 (ACL & iptables) 및 로그 모니터링

방화벽(iptables) 설정 개념

  • 기본적으로 모든 접근 차단(Deny All)허용할 IP/포트만 명시적으로 추가
  • ACL(Access Control List)도 같은 원리 적용

📌 iptables 설정 예제

# 특정 IP 허용 iptables -A INPUT -s 192.168.1.100 -j ACCEPT # SSH(22번 포트) 허용 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 모든 나머지 차단 iptables -A INPUT -j DROP

✅ 네트워크 접근을 세부적으로 제어하여 보안 강화 가능! 🔒

📌 실시간 로그 모니터링 (tail 명령어 활용)

# SSH 보안 로그 확인 tail -f /var/log/secure

실시간 침입 탐지 가능 👀


🔹 4. OSSEC - 침입 탐지 시스템(IDS)

OSSEC은 호스트 기반 침입 탐지 시스템(HIDS) 으로, 시스템 로그를 분석하고 보안 이벤트를 감지합니다.

기능

  • 파일 무결성 검사로그 분석
  • 에이전트 기반 시스템으로 다수의 서버 관리 가능
  • Kubernetes, Docker 환경에서도 활용 가능

📌 OSSEC 설치 및 설정 (Ubuntu 20.04 기준)

# OSSEC 설치 wget -qO - https://updates.atomicorp.com/installers/atomic | sudo bash sudo apt install ossec-hids-server # 설정 파일 수정 sudo nano /var/ossec/etc/ossec.conf # 서비스 실행 sudo systemctl restart ossec sudo systemctl enable ossec

실시간 보안 모니터링 & 로그 분석 가능! 🚀


🔹 5. ModSecurity - 웹 방화벽(WAF)

ModSecurity는 웹 서버(Apache, Nginx 등) 에서 동작하는 웹 방화벽(WAF) 입니다.

기능

  • SQL Injection, XSS 공격 탐지 및 차단
  • 웹 요청을 분석하여 악성 요청 필터링
  • DDoS 공격 방어

📌 설치 및 설정 (Ubuntu 20.04 + Apache2 기준)

# ModSecurity 설치 sudo apt update sudo apt install libapache2-mod-security2 # 설정 파일 활성화 sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf sudo nano /etc/modsecurity/modsecurity.conf # 보안 룰 활성화 SecRuleEngine On # Apache 재시작 sudo systemctl restart apache2

웹 애플리케이션 보안 강화 가능! 🛡


🔹 6. SQL Injection 공격 & 방어

SQL Injection 개요

  • SQL 문을 조작하여 데이터베이스를 침투하는 공격
  • 로그인 우회, 데이터 탈취 등의 위험 존재

📌 공격 예제 (Error-Based SQL Injection)

Username: admin Password: ' OR '1'='1' --

✅ '1'='1' 조건이 항상 참(True)이므로 불법 로그인 성공

📌 방어 방법

1) 입력값 검증 & 필터링

$username = mysqli_real_escape_string($conn, $_POST['username']); $password = mysqli_real_escape_string($conn, $_POST['password']);

특수문자 필터링을 통해 공격 방어 가능

2) Prepared Statement (바인딩 쿼리) 사용

$stmt = $conn->prepare("SELECT * FROM users WHERE username = ? AND password = ?"); $stmt->bind_param("ss", $username, $password); $stmt->execute();

입력값을 직접 SQL에 넣지 않으므로 공격 원천 차단

3) 웹 방화벽(WAF) 활용 (ModSecurity 적용)
4) 최소 권한 원칙 적용 (DB 계정 권한 제한)


🔥 네트워크 보안 및 관리 도구 정리

NAC(Network Access Control) 도구 → PacketFence
로그 모니터링 도구 → ELK Stack (ElasticSearch + Logstash + Kibana)
방화벽 및 IPS → Endian Firewall

📌 네트워크 보안을 위해 다양한 도구를 조합하여 활용하면 더욱 강력한 보안 체계를 구축할 수 있음! 🚀

반응형

'Linux 보안' 카테고리의 다른 글

리눅스 보안 5  (0) 2025.03.12
리눅스 보안 4일차 핵심요약본  (0) 2025.03.11
리눅스 보안 4  (0) 2025.03.11
리눅스 보안 3  (1) 2025.03.10
리눅스 보안 2  (0) 2025.03.07