SEC 보안 게이트웨이(10.147.20.30)
| 관문 | 도구 | 역할 | 사용 이유 |
|---|---|---|---|
| 1관문 | UFW | ip와 포트를 기준으로 트래픽 허용/차단 | 서버 접근 제한 위해 |
| 2관문 | Rate Limiting | 일정 시간에 많은 요청 → 차단 | |
| (초당 10번 이상 요청 → 429 에러로 차단) | Dos 공격 방어 위해 | ||
| 서버 과부하 방지 | |||
| fail2ban | 로그인 일정 횟수 이상 실패 → 차단 | ||
| (3번 실패 → 60초 차단) | Brute Force 공격 방지 | ||
| 3관문 | WAF | 요청 내용 분석하여 공격 패턴 → 차단 | 웹 공격(SQL Injection, XSS 등) 차단 |
| 4관문 | Auditd | 서버에서 일어나는 행동 기록 | 보안 감사 및 사후 추적을 위해 |
# 기본 정책
sudo ufw default deny incoming
sudo ufw default allow outgoing
# ZeroTier 통신 포트
sudo ufw allow 9993/udp
#22번 포트 허용 삭제
sudo ufw delete allow 22/tcp
# 2222포트 전체 허용
sudo ufw allow 2222/tcp
# 팀원별 ZeroTier IP
sudo ufw allow from 10.147.20.10 # ctrl (박성웅)
sudo ufw allow from 10.147.20.20 # haproxy (박수근)
sudo ufw allow from 10.147.20.30 # sec (이주희)
sudo ufw allow from 10.147.21.10 # core (조근희)
sudo ufw allow from 10.147.21.12 # node01 (조근희)
sudo ufw allow from 10.147.21.13 # node02 (조근희)
sudo ufw allow from 10.147.21.31 # cloud01 (김경훈)
sudo ufw allow from 10.147.21.32 # cloud02 (김경훈)
sudo ufw allow from 10.147.21.40 # vault (박수근)

허용되지 않은 22포트로 연결
# IP당 초당 10번 요청까지 허용
limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;
# 연결 수 제한 (IP당 최대 20개 동시 연결)
limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
# 초과 요청 응답 코드 (429 = Too Many Requests)
limit_req_status 429;
limit_conn_status 429;
------------------------------------------------------------------------
sudo vi /etc/fail2ban/jail.local #파일 수정
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 60s

for i in {1..50}; do curl -s -o /dev/null -w "%{http_code}\n" http://localhost/ & done; wait
다른 서버 (10.147.21.40)에서 접속→ 차단


ModSecurity: 여러 단서를 모아서 점수를 매기고 차단