📌 내용

1. 왜 보안 툴을 따로 구성해야 하는가

우분투 서버는 기본적으로 “열린 상태”에 가깝습니다.
설치 직후 상태는 개발에는 편하지만, 운영 기준에서는 취약합니다.

특히 다음과 같은 환경에서는 리스크가 급격히 증가합니다:

  • Docker / MSA 구조
  • Reverse Proxy (Nginx)
  • 외부 포트 노출 (80, 443, DB 포트 등)
  • 개인 서버 / 클라우드 혼합 환경

👉 핵심 문제
“보안은 기본 제공되지 않는다. 직접 구성해야 한다.”


2. 보안 툴은 ‘목적별’로 나눠야 한다

실무에서 보안툴은 하나로 해결되지 않습니다.
다음 4가지 레이어로 나눠서 구성해야 합니다.


3. 서버 자체 점검 (Host Security)

🔹 Lynis — 서버 보안 상태 진단

 
sudo apt install lynis
sudo lynis audit system
 

✔ 역할

  • SSH 설정 점검
  • 파일 권한 검사
  • 커널 보안 옵션 분석

👉 결과
“현재 서버 보안 상태 리포트 자동 생성”


🔹 rkhunter — 침해 여부 확인

 
sudo apt install rkhunter
sudo rkhunter --check
 

✔ 역할

  • 루트킷 탐지
  • 백도어 여부 확인

👉 포인트
이미 침투된 상태를 탐지하는 용도


4. 접근 제어 (Network Security)

🔹 Fail2ban — 공격 자동 차단

 
sudo apt install fail2ban
 

✔ 기능

  • SSH brute force 차단
  • 반복 로그인 시도 IP 블락

👉 실무 필수
이거 없으면 로그인 공격 계속 들어온다


🔹 UFW — 방화벽

 
sudo ufw enable
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
 

✔ 원칙

  • 필요한 포트만 허용

👉 핵심
열려있는 포트 = 공격 표면


5. 취약점 스캐너 (Vulnerability Scan)

🔹 OpenVAS — 전체 취약점 분석

 
sudo apt install openvas
 

✔ 기능

  • CVE 기반 취약점 탐지
  • 네트워크 서비스 분석

👉 특징

  • 기업 수준 보안 리포트 생성
  • 다소 무겁지만 강력

🔹 Nmap — 포트 스캔

 
sudo apt install nmap
nmap -sV <서버IP>
 

✔ 확인 가능

  • 열려있는 포트
  • 서비스 버전

👉 실전 포인트

  • 5432 (Postgres)
  • 6379 (Redis)
  • 9200 (OpenSearch)

➡ 외부 노출 시 즉시 차단


6. 컨테이너 보안 (DevOps 핵심)

🔹 Trivy — 이미지 취약점 검사

 
trivy image nginx:latest
 

✔ 기능

  • Docker 이미지 CVE 탐지
  • 라이브러리 취약점 분석

👉 MSA 환경에서는 필수
이미지 하나로 전체 서비스 뚫릴 수 있음


🔹 Docker Bench — 설정 점검

 
git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
sudo sh docker-bench-security.sh
 

✔ 점검 항목

  • root 권한 사용 여부
  • 권한 설정
  • 네트워크 보안

7. 로그 기반 보안 (운영 단계)

🔹 Wazuh — 보안 모니터링

✔ 기능

  • 로그 분석
  • 침입 탐지
  • 알림

👉 특징

  • ELK 기반
  • SIEM 역할 수행

8. 실무 기준 추천 구성

✅ 최소 구성 (현실적)

  • Lynis
  • Fail2ban
  • UFW
  • Nmap
  • Trivy

👉 이 조합이면 기본 방어 가능


✅ 중급 구성

    • OpenVAS
    • Docker Bench
    • rkhunter

✅ 고급 (DevOps / SRE)

    • Wazuh
    • SIEM
    • Zero Trust 아키텍처

9. 실무에서 자주 터지는 보안 사고

다음은 실제로 자주 발생하는 케이스입니다:

  • DB 포트 외부 노출
  • Redis 인증 없이 공개
  • Docker root 실행
  • SSH 비밀번호 로그인 허용

👉 공통점
툴 부족이 아니라 기본 설정 미흡


10. 결론

보안은 툴을 많이 쓰는 것이 아니라
구조적으로 나누고 운영하는 것입니다.

  • Host → Lynis
  • Network → UFW / Fail2ban
  • Scan → OpenVAS / Nmap
  • Container → Trivy

👉 이 구조가 핵심입니다.


📌 한 줄 정리

“우분투 보안은 설치가 아니라 설계다.”

LIST

+ Recent posts