[개념]
장애상황은 무조건 조치 부터 진행!
리눅스 포트 트래픽 증가 장애 상황
리눅스 서버에서 특정 포트의 트래픽이 급증하는 상황은 여러 가지 원인으로 인해 발생할 수 있습니다. 이는 서버의 성능 저하, 네트워크 지연, 심지어는 서비스 중단으로 이어질 수 있는 심각한 장애 상황입니다.
장애 시나리오: 웹 서버 포트(80번) 트래픽 증가
웹 서버를 운영 중인 리눅스 서버에서 80번 포트의 트래픽이 평소보다 10배 이상 증가했습니다. 시스템 관리자는 top 명령어로 CPU 사용량은 정상적인데, 네트워크 I/O만 급증하는 것을 확인했습니다.
원인 및 대처 방법
이러한 상황은 크게 두 가지 원인으로 볼 수 있으며, 원인에 따라 대처 방법이 달라집니다.
1. 합법적인 트래픽 증가 (플래시 크라우드)
대량의 사용자 유입이나 언론 보도, 이벤트 등으로 인해 갑자기 접속자가 폭증하는 상황입니다.
- 진단:
- netstat -an | grep :80 | wc -l 명령어로 연결된 세션 수를 확인합니다. 평소보다 세션 수가 급증했다면, 정상적인 트래픽 증가일 가능성이 높습니다.
- tcpdump -i eth0 port 80 -n -c 100 명령어로 패킷을 캡처하여 트래픽의 소스와 유형을 확인합니다.
- 대처 방법:
- 애플리케이션 스케일 아웃: 웹 서버(예: Apache, Nginx)의 워커 프로세스 수를 늘려 동시에 처리할 수 있는 요청 수를 증가시킵니다.
- 부하 분산: L4/L7 스위치나 클라우드 로드 밸런서를 사용하여 여러 서버로 트래픽을 분산합니다.
- 캐싱: 정적 콘텐츠나 자주 접근하는 동적 콘텐츠를 CDN(Content Delivery Network) 또는 Redis와 같은 캐시 서버에 저장하여 웹 서버의 부하를 줄입니다.
2. 비정상적인 트래픽 증가 (DDOS 공격 또는 포트 스캐닝)
악의적인 공격자가 서버의 특정 포트를 대상으로 대량의 트래픽을 보내는 상황입니다.
- 진단:
- tcpdump -i eth0 port 80 -n 'tcp[tcpflags] & (tcp-syn) != 0 and (tcp[tcpflags] & tcp-ack) = 0' 명령어를 실행하여 SYN 패킷이 비정상적으로 많이 들어오는지 확인합니다.
- netstat -an | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -n 10 명령어로 가장 많은 연결을 시도하는 IP 주소를 식별합니다. 특정 IP나 소수 IP 대역에서 연결이 집중된다면, 공격일 가능성이 높습니다.
- 대처 방법:
- 방화벽(iptables) 차단: 비정상적인 트래픽을 보내는 IP 주소나 IP 대역을 방화벽에서 즉시 차단합니다.
- L4/L7 스위치 또는 WAF 사용: DDoS Protection 기능이 있는 L4 스위치나 웹 애플리케이션 방화벽(WAF)을 사용하여 비정상적인 트래픽을 필터링합니다.
- 네트워크 대역폭 증설: 일시적인 대처 방법으로 네트워크 대역폭을 늘려 트래픽을 수용할 수 있는 용량을 확장합니다.
'기타' 카테고리의 다른 글
| 11. BPFDoor (0) | 2025.08.30 |
|---|---|
| 32. (장애) (1) | 2025.08.30 |
| 23. 가상화(cache miss와 경합) (0) | 2025.08.30 |
| 22. 서버 가상화 기술 (0) | 2025.08.30 |
| 12. DB 이중화 (0) | 2025.08.30 |