[개념]

 

장애상황은 무조건 조치 부터 진행!

 

 

 

리눅스 포트 트래픽 증가 장애 상황

리눅스 서버에서 특정 포트의 트래픽이 급증하는 상황은 여러 가지 원인으로 인해 발생할 수 있습니다. 이는 서버의 성능 저하, 네트워크 지연, 심지어는 서비스 중단으로 이어질 수 있는 심각한 장애 상황입니다.

장애 시나리오: 웹 서버 포트(80번) 트래픽 증가

웹 서버를 운영 중인 리눅스 서버에서 80번 포트의 트래픽이 평소보다 10배 이상 증가했습니다. 시스템 관리자는 top 명령어로 CPU 사용량은 정상적인데, 네트워크 I/O만 급증하는 것을 확인했습니다.


원인 및 대처 방법

이러한 상황은 크게 두 가지 원인으로 볼 수 있으며, 원인에 따라 대처 방법이 달라집니다.

1. 합법적인 트래픽 증가 (플래시 크라우드)

대량의 사용자 유입이나 언론 보도, 이벤트 등으로 인해 갑자기 접속자가 폭증하는 상황입니다.

  • 진단:
    • netstat -an | grep :80 | wc -l 명령어로 연결된 세션 수를 확인합니다. 평소보다 세션 수가 급증했다면, 정상적인 트래픽 증가일 가능성이 높습니다.
    • tcpdump -i eth0 port 80 -n -c 100 명령어로 패킷을 캡처하여 트래픽의 소스와 유형을 확인합니다.
  • 대처 방법:
    1. 애플리케이션 스케일 아웃: 웹 서버(예: Apache, Nginx)의 워커 프로세스 수를 늘려 동시에 처리할 수 있는 요청 수를 증가시킵니다.
    2. 부하 분산: L4/L7 스위치나 클라우드 로드 밸런서를 사용하여 여러 서버로 트래픽을 분산합니다.
    3. 캐싱: 정적 콘텐츠나 자주 접근하는 동적 콘텐츠를 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 대역에서 연결이 집중된다면, 공격일 가능성이 높습니다.
  • 대처 방법:
    1. 방화벽(iptables) 차단: 비정상적인 트래픽을 보내는 IP 주소나 IP 대역을 방화벽에서 즉시 차단합니다.
    2. L4/L7 스위치 또는 WAF 사용: DDoS Protection 기능이 있는 L4 스위치나 웹 애플리케이션 방화벽(WAF)을 사용하여 비정상적인 트래픽을 필터링합니다.
    3. 네트워크 대역폭 증설: 일시적인 대처 방법으로 네트워크 대역폭을 늘려 트래픽을 수용할 수 있는 용량을 확장합니다.

'기타' 카테고리의 다른 글

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

+ Recent posts