Review

서버 운영 시 공격(무차별대입,brute force)

페이지 정보

작성자 DocsArchives
작성일 2025.09.18 18:44
분류 daily
787 조회

본문

SSH나 메일 서버로 들어오는 Brute-Force(무차별 대입) 공격은 자동화된 봇이 수많은 계정명/비밀번호 조합을 시도해 접근권을 획득하려는 공격입니다. 개인·중소규모 서버에서도 빈번하게 발생하며, 성공하면 데이터 유출·스팸 송신·서비스 중단 등 심각한 피해로 이어질 수 있습니다. 아래 글은 공격의 원리, 징후, 그리고 현실적으로 적용 가능한 단계별 방어(설정·도구·운영 관행)를 정리하였습니다.


1) Brute-Force 공격이란? (간단한 원리)

  1. 공격자는 인터넷을 스캔해 포트(예: SSH 22, SMTP 25/587/465)를 연 서버를 찾습니다.

  2. 자동화 스크립트(봇넷 포함)가 계정(usernames) 목록과 자주 쓰이는 비밀번호(또는 사전)를 대입합니다.

  3. 일정 횟수 이상의 시도로 접근에 성공하면 공격자는 쉘 접근이나 메일 릴레이 권한을 획득합니다.

  4. 획득한 권한으로 추가 침투(백도어 설치), 스팸 발송, 암호화폐 채굴 등을 수행합니다.

핵심: 사람이 직접 하는 공격이 아니라 봇이 반복·병렬로 시도하므로 유효한 방어 없이 서비스만 열어두면 시간문제입니다.


2) 흔한 징후(탐지 포인트)

  • 인증 실패 로그 증가: /var/log/auth.log, /var/log/secure에 실패(FAILED) 항목이 짧은 시간에 급증.

  • 원격 IP가 여러 곳에서 다수의 계정에 실패 시도.

  • 메일 서버의 큐(queued) 급증 또는 외부로 대량 발송됨.

  • 서버 리소스(특히 CPU·네트워크) 비정상적 증가.

  • 알려지지 않은 계정이 생성되거나 crontab, /tmp에 이상 파일 생성.

로그 기반 탐지는 가장 기본이므로 반드시 중앙로그/모니터링(예: rsyslog, ELK, Promtail+Loki 등)을 도입하세요.


3) 우선 적용해야 할 기본 방어(꼭 할 것부터)

  1. 암호 기반 인증 금지 → 공개키(SSH key)만 허용

  • /etc/ssh/sshd_config에서:

  • 공개키는 ~/.ssh/authorized_keys에만 등록.

PasswordAuthentication noPermitRootLogin noPubkeyAuthentication yes

  1. 관리자/루트 직접 로그인 비허용

    • PermitRootLogin no로 설정하고 일반 계정 + sudo 사용.

  2. 강력한 비밀번호 정책(메일 계정 포함)

    • 길이, 복잡도, 재사용 금지, 정기 변경(불필요한 빈도는 피함).

  3. 포트 변경(포트 히딩)은 보조책

    • 22 → 비표준 포트로 변경하면 스크립트 잡음은 줄지만 근본 방어는 아님.

  4. 패치·업데이트 유지

    • OpenSSH, Postfix/Dovecot 등 관련 소프트웨어는 최신 보안 패치 적용.


4) 메일 서버(SMTP/IMAP/POP) 특화 방어

  1. 인증 사용 강제(STARTTLS/TLS)

    • TLS로 인증 암호화. 포트 587/465 사용 권장.

  2. 스팸·릴레이 방지

    • SMTP 릴레이는 인증된 사용자와 내부 IP로 제한.

    • 외부로의 대량 발송 모니터링 및 발송 쿼터 설정.

  3. SPF / DKIM / DMARC 설정

    • 도메인 인증으로 스푸핑/피싱 피해 완화.

  4. 로그인 실패 차단(메일도 fail2ban으로 모니터링 가능)

  5. Greylisting / RBL(Realtime Blackhole Lists): 악성 발송 IP를 자동적으로 필터링.


5) 추가 방어 및 고급 기법

  • IP 화이트리스트(관리자) + 차단 리스트 적용: 외부 접근이 극히 제한적이면 가장 안전.

  • 포트 노킹 또는 VPN 전용 접속: SSH 접근을 내부망 또는 VPN을 통해서만 허용.

  • 공개키 대신 인증서 기반 SSH (OpenSSH Certificate Authority): 대규모 환경에서 관리 편의성과 보안성 향상.

  • 다중 인증(2FA): 가능하면 SSH-OTP(예: Google Authenticator) 또는 하드웨어 키 사용(비밀번호 금지와 병행).

  • 침해대응 계획: 침해 시 계정 변경, 백업 검증, 악성 스크립트 제거, 법적·운영 보고 루틴 준비.


6) 운영 관행 — 사람 때문에 뚫리는 것을 줄이는 법

  • 불필요한 계정·서비스는 제거/비활성화.

  • SSH 키 관리를 중앙화(키 사용 이력·만료 관리).

  • 정기적인 로그 리뷰와 알람(로그인 실패 급증 시 SMS/메일 경고).

  • 백업은 오프라인 또는 원격지에 보관(랜섬·내부유출 대비).

  • 직원·사용자에게 무차별 대입 위험 및 비밀번호 관리 교육 실시.


7) 침해 의심 시 즉각 조치 체크리스트

  1. 의심 IP 차단(iptables 또는 방화벽).

  2. 모든 관리자 비밀번호와 키 재발급/교체.

  3. 로그(SSH, mail, syslog) 원본 보존 후 포렌식.

  4. 의심 파일/크론/서비스 제거 및 재설치 고려.

  5. 외부 신고(필요 시) 및 고객 통지 프로세스 점검.


마무리(권장 우선순위)

  1. PasswordAuthentication → 즉시 비활성화(공개키 전환).

  2. Fail2ban/iptables로 자동 차단 설정.

  3. 메일은 TLS + 인증 필수화, SPF/DKIM/DMARC 적용.

  4. 로그 중앙화 및 알람 체계 구축.

  5. 정기 점검과 사용자 교육.


OS 쪽 문서에 mail 서버 공격과 ssh 무차별 대입 공격을 진행 IP에 대해 리스트를 남길 예정 입니다. 


내용은 아래 관련 링크를 참조해 주세요.



댓글 0
홈으로 전체메뉴
전체 검색
회원가입