Linux 시스템 보안 기초 · 38/50편

이 글은 리눅스 시스템 기초 · 파일 · 권한 · 사용자 관리 · 서비스 · 프로세스 관리 시리즈를 선행 학습으로 두고, 동일한 개념을 보안관제(SOC) 관점에서 한 단계 확장합니다.

선행 학습

1. 들어가며

침해된 서버는 대개 '밖으로' 연결합니다 — 공격자 서버(C2)에 명령을 받으러, 또는 데이터를 유출하러. 그래서 outbound(나가는) 연결 분석은 침해 탐지의 핵심입니다. 이번 편은 established 연결에서 이상을 찾습니다.

2. 핵심 개념

비정상 연결의 판별 기준:

  • 상대 IP: 알려진 악성/생소한 외부 IP, 위협 인텔 매칭
  • 포트: 비정상 포트(4444, 1337 등) 또는 정상 포트 위장(443으로 C2)
  • 프로세스: 그 연결을 만든 프로세스가 정상인가(웹서버가 왜 외부로 연결?)
  • 방향/지속성: 주기적 비컨(beacon) 패턴
정상 outbound                    의심 outbound (C2)
apt → 미러서버:443               /tmp/.x → 203.0.113.10:4444
  (패키지 업데이트)                 (은닉 프로세스가 외부 연결)
                                     │
                                     └ 프로세스+상대+포트 모두 이상

3. 동작 원리

ss는 현재 established 연결과 그 소켓을 소유한 프로세스를 함께 보여줍니다. 침해 분석에서는 이 '연결-프로세스' 쌍을 봅니다. C2 통신은 종종 은닉 프로세스(27편)나 예상 밖 프로세스(예: 웹서버 자식)가 외부 IP로 연결하는 형태로 나타납니다.

정교한 C2는 443/80 같은 정상 포트를 위장에 씁니다. 그래서 '포트만'으로 판단하지 말고, 연결을 만든 프로세스의 정상성과 상대 IP의 평판을 함께 봐야 합니다.

4. 명령어 실습

# 확립된 연결 + 프로세스
sudo ss -tnp state established

# 외부(비사설) IP로의 연결만 대략 필터
sudo ss -tnp state established | grep -vE '127\.|10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.'

# 특정 프로세스가 만든 연결
sudo lsof -i -nP -p <PID> 2>/dev/null

5. 실행 결과

의심 outbound 탐지 형식입니다. (예시 출력 — C2 연결 가정)

$ sudo ss -tnp state established
ESTAB 0 0 192.168.10.20:51002  203.0.113.10:4444  users:(("x",pid=8123,fd=4))

은닉 프로세스 x(27편)가 외부 IP 203.0.113.10:4444로 연결 중입니다. 포트 4444와 은닉 프로세스 조합은 리버스 쉘/C2의 강한 정황입니다. 상대 IP는 즉시 IOC로 등록하고 차단합니다. (본 실습 컨테이너에는 이런 연결이 없어 형식 예시입니다.)

6. 보안 관점 — 정상 사용 vs 악용

  • 정상: 업데이트·API 등 예측 가능한 목적지로의 연결.
  • 침해 징후:
    • 은닉/임시경로 프로세스의 외부 연결
    • 비정상 포트 또는 주기적 비컨
    • 대량 outbound(데이터 유출)
    • 위협 인텔에 매칭되는 상대 IP/도메인

outbound 분석은 방화벽 egress 정책(39편)과 결합할 때 가장 강력합니다.

7. 탐지 방법

  • established 연결의 상대 IP·포트·프로세스 확인
  • 외부 IP 연결을 위협 인텔과 대조
  • 주기적 비컨 패턴 분석(시간 간격)

8. SOC 관점 — SIEM · Wazuh · IOC

C2 탐지는 SOC의 핵심 임무입니다. 호스트 auditd connect(이 시리즈 user_connect 키)와 네트워크 IDS (Suricata) 로그를 결합하고, 상대 IP/도메인을 위협 인텔(예: 알려진 C2 목록)과 대조합니다. Wazuh는 established 연결을 수집·상관분석하며, 매칭된 악성 IP는 active-response로 차단할 수 있습니다.

9. 실습 체크리스트

[ ] established 연결의 상대 IP 확인
[ ] 연결 소유 프로세스 정상성 확인
[ ] 외부 IP를 위협 인텔과 대조
[ ] 비컨(주기) 패턴 점검

10. 핵심 정리

  • 침해 서버는 대개 밖으로 연결한다(C2·유출).
  • 포트만이 아니라 '프로세스+상대 IP+패턴'을 함께 본다.
  • 정교한 C2는 443/80으로 위장한다.
  • 은닉 프로세스의 외부 연결은 강한 침해 정황이다.
  • 호스트 connect 감사와 네트워크 IDS를 결합해 탐지한다.

11. 다음 편

다음 편에서는 39. Linux Firewall 보안 를 다룹니다. 이런 연결을 통제하는 리눅스 방화벽(nftables/iptables/firewalld)의 관계를 정리합니다.


본 실습은 격리된 테스트 VM(Rocky Linux / Ubuntu, VMware) 및 테스트 계정 환경을 기준으로 하며, 운영 서버를 대상으로 하지 않습니다. 실행 결과는 실제 캡처와 예시 출력을 명확히 구분해 표기합니다.

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글