랜섬웨어 사전예방 SMB포트 차단 방법

     

     

    이번에는 랜섬웨어의 사전예방 방법인 SMB포트 차단방법을 알아보겠습니다.

    마이크로소프트의 윈도우 운영체제의 SMB 취약점을 이용한 이슈가 발생되었으며, SMB 취약점을 이용하여 전파되는 만큼, 취약한 컴퓨터의 경우 부팅시 감염될 수 있습니다.

     

     

     

     

    랜섬웨어란?

    랜섬웨어는 일종의 맬웨어(악성 소프트웨어)로 사용자의 동의없이 해당 컴퓨터에 불법으로 설치됩니다.

    불법으로 설치된 랜섬웨어는 해당 컴퓨터를 원격으로 잠글 수 있습니다

    그러면 팝업 창이 뜨면서 컴퓨터가 잡겼으니 금액을 지불하지 않으면 컴퓨터에 접속할 수 없다는 경고가 나타납니다

     

    랜섬웨어(Rensom Ware)란? http://server-talk.tistory.com/124

     

    우선 랜섬웨어 사전예방 SMB포트 차단방법 진행의 앞서 SMB와 NetBIOS의 대한 이해가 필요하여 SMB와 NetBIOS의 대한 소개와 사용목적의 대하여 먼저 알아보겠습니다.

     

     

    SMB 관련포트 : 137(TCP, UDP), 138(TCP, UDP), 139(TCP, UDP), 445(TCP, UDP)

     

     

     

     

     

     

       NetBIOS란?

     

     

     

     

    NetBIOS란? 네트워크 상에서 자원을 읽고 쓸 목적으로 제시되었습니다 

    별개의 컴퓨터 상에 있는 어플리케이션들이 근거리 통신망 내에서 서로 통신을 할 수 있게 해주는 프로그램 입니다.

     

    주로 네트워크 상에서 파일이나 프린터를 공유 할 때 사용되고 있으며, NetBIOS를 사용할 시 139 포트가 오픈되고 139포트를 통해 시스템의 정보들이 유출 될 수있습니다.

     

     

    NetBIOS에서 제공하는 서비스

     

    이름명명법

     

    1) 네임서비스(Name service) - 137 포트

    UDP 또는 TCP의 137포트 번호 사용하거나, 자신의 이름을 알리때 사용

     

     

     

    ● 통신 모드

     

    1) 데이터그램(Datagram) 모드 서비스 - 138 포트

    NetBIOS 응용에게 비신뢰적으로, 비순서적으로, 비연결성으로 메세지 전달

     

    2) 세션(Session)모드 서비스 - 139 포트

    NetBIOS 응용 양단간에 신뢰적으로 메세지를 전달토록하는 서비스

     

     

     

     

       SMB란?

     

     

     

     

    SMB는 Server Massage Block의 약자이며, 마이크로소프트와 Intel에서 만든 프로토콜입니다.

     

    SMB (Server Massage Block)는 윈도우 시스템이 다른 시스템과 파일, 디렉토리, 주변 장치 등의 자원을 공유할 수 있도록 하기 위해 개발되었습니다.

    클라이언트는 서버에게 파일 서비스를 요규하고, 서버는 그에 대한 응답으로 자신의 파일 시스템이나 프린터와 같은 여러가지 로컬 자원을 클라이언트가 사용할 수 있도록 공개합니다.

     

     

    SMB는 NetBIOS의 사용 포트를 사용할 수 없게 되면 TCP 445 포트를 사용하게 됩니다. 그러므로 NetBIOS와 SMB의 사용해제 작업을 따로 진행 하여야 합니다.

     

     

       Windows 방화벽에서 SMB에 사용되는 포트 차단 - TCP

     

     

     

     

    윈도우 + R 키를 입력하여 실행 창에 wf.msc 통해 "고급 보안이 포함된 Windows Defender 방화벽"으로 접근합니다

     

     

     

     

    "고급 보안이 포함된 Windows Defender 방화벽"으로 들어오시면 좌측의 인바운드 규칙을 선택한 후 우측의 새 규칙을 선택합니다.

     

     

     

     

    SMB에 사용되는 포트를 차단하기위해 포트를 선택후 다음으로 진행합니다.

     

     

     

    이제 가장 중요한 부분인 포트 입력부분입니다. TCP 선택후 특정 로컬포트를 체크후 137-139, 445를 입력후 다음으로 진행합니다.

     

     

     

     

    연결 차단을 체크 후 다음으로 진행합니다.

     

     

     

    도메인, 개인, 공용 모두 체크후 다음으로 진행합니다.

     

     

     

    이제 차단을 적용할 정책명을 입력하는란 입니다. 여기서 훗날 방화벽 정책을 쉽게 확인하기 쉽게 정책명을 알아보기 슆게 적용하시기 바랍니다.

     

     

     

     

    정책적용을 모두완료하신후 인바운드 규칙으로 들어가시면 위에서 차단한 TCP-SMB-차단 정책이 Windows 방화벽에 정책명으로 적용된것을 확인하실 수 있습니다.

     

     

     

       Windows 방화벽에서 SMB에 사용되는 포트 차단 - UDP

     

     

    "고급 보안이 포함된 Windows Defender 방화벽"에서 좌측의 인바운드 규칙을 선택한 후 우측의 새 규칙을 선택합니다.

     

     

     

    SMB에 사용되는 포트를 차단하기위해 포트를 선택후 다음으로 진행합니다.

     

     

     

     

    이제 가장 중요한 부분인 포트 입력부분입니다. UDP 선택후 특정 로컬포트를 체크후 137-139, 445를 입력후 다음으로 진행합니다.

     

     

     

     

    연결 차단을 체크 후 다음으로 진행합니다.

     

     

     

     

    도메인, 개인, 공용 모두 체크후 다음으로 진행합니다.

     

     

     

     

    이제 차단을 적용할 정책명을 입력하는란 입니다. 여기서 훗날 방화벽 정책을 쉽게 확인하기 쉽게 정책명을 알아보기 슆게 적용하시기 바랍니다.

     

     

     

     

    정책적용을 모두완료하신후 인바운드 규칙으로 들어가시면 위에서 차단한 TCP-SMB-차단 정책이 Windows 방화벽에 정책명으로 적용된것을 확인하실 수 있습니다.

    Posted by Server-talk 서버이야기
    • SMB 공격 타겟 포트

      UDP 137, 138

      - 137 : NetBIOS 이름 확인
      - 138 : NetBIOS 데이터그램 서비스

      TCP 139, 445

      - 139 : NetBIOS 세션 서비스
      - 445 : SMB

      당신 글처럼
      TCP 137-139, 445 로
      한꺼번에 퉁치는 것이 아니오

      두개는 UDP 로 차단,
      다른 두개는 TCP 로 차단 해야함


      그리고 오늘밤 당신에게 모의시전을 해봐도 되겠소? 위 4개의 포트 이외의 공격으로 ㅎㅎ

      • 방문해주셔서 감사합니다^^


        TCP 에 대한 차단에 대한 내용만 있고, UDP 대한 부분이 빠졌었었네요

        댓글에 남겨주신 내용을 확인하여 수정하였으며, 잘못된 부분 혹은 오타인 부분을 댓글을 통해 알려주시면 바로 수정 하도록 하겠습니다


        감사합니다.

    • 잘보았습니다
      2021.08.26 01:10

      선생님 감사합니다

      인바운드만 설정하고 아웃바운드에서는 따로 설정 안해줘도 될까요?

      안해줘도 된다면 왜 아웃바운드에서는 안해줘도 되는지 간단한 이유가 궁금합니다!

      • 방문해주셔서 감사합니다^^


        방화벽에서 인바운드(외부사용자 -> 사용자)는 외부에서 트래픽이 들어오는 정책이고 아웃바운드(사용자 -> 외부 사용자)는 는 트래픽이 나가는 정책입니다

        먼저 인바운드에서는 위 포스팅 내용과 같이 SMB는 디렉토리, 주변장치는 자원을 공유하는 기능이고 SMB의 차단을 진행하였으니 클라이언트(외부 사용자)가 접근이 불가하게 됩니다


        아웃바운드에서 SMB 차단에 결론부터 말씀드리면 위의 포스팅내용과 같이 아웃바운드 항목을 선택하셔서 차단을 권장드리고 싶네요

        그러나 아웃바운드에 대해 차단에 대한 내용을 작성하지 않은 이유는 SMB는 통신을 클라이언트(외부사용자)가 요청했을때 SMB 통신에 대해 인바운드로 차단되어 있기때문에 응답하지 않게 되고,

        반대로 사용자가 SMB를 통해 데이터를 요청해도 데이터를 그에 따른 통신에 외부에 데이터요청에 따른 응답을 인바운드를 통해 차단되게 되어 응답을 하지 않게됩니다


        그러나 아웃바운드 정책은 엔지니어들마다 편차가 있어서 조심스럽네요


        감사합니다.!