/
Port Knocking 접근 제어 시스템에 자동 접근

Port Knocking 접근 제어 시스템에 자동 접근

Port Knocking 접근 제어는 미리 약속한 포트들에 대한 접촉(Knocking)을 통해 정해진 서비스의 허용 여부를 정하는 시스템입니다. (https://en.wikipedia.org/wiki/Port_knocking 참조)

SSH 등의 접속을 할 경우 미리 Port Knocking 과정을 거처야 하는데 다음 과정을 통해서 Xshell 세션 파일 실행함으로써 접속을 한번에 이룰 수 있습니다

Port Knocking: SSH 포트 개방 => SSH 세션 실행 => Port Knocking: SSH 포트 차단

 

  1. Port Knocking 클라이언트 프로그램 설치
    다음에서 프로그램을 다운로드 받아 윈도우에 설치합니다.
    https://www.epinox.de/en/windows/port-knocking-tool.html

  2. Port Knocking을 실행하기 위한 스크립트 파일을 생성합니다. ex)portKnocking.vbs

    sub main xsh.screen.synchronous true Dim SERVER '세션 이름에 호스트이름 혹은 IP 주소를 포함하면 스크립트에서 해당 부분을 사용할 수 있습니다. '세션 파일의 설명(description)에 호스트이름이나 IP 주소를 입력하여 사용할 수도 있습니다. '이 경우 xsh.session.Description 변수를 사용합니다. SERVER = split(xsh.session.SessionName, " ", -1)(0) xsh.screen.send "\"c:\\Program Files (x86)\\Port Knocking Tool\\knock.exe\" /delay:100 /usepcap "&SERVER&" 7000:tcp,8000:tcp,9000:tcp"&vbcr xsh.session.sleep 500 xsh.screen.waitforstring("[C:\~]$") xsh.screen.send "ssh "&SERVER&vbcr xsh.session.sleep 500 xsh.screen.waitforstring("[C:\~]$") xsh.screen.send "\"c:\\Program Files (x86)\\Port Knocking Tool\\knock.exe\" /delay:100 /usepcap "&SERVER&" 9000:tcp,8000:tcp,7000:tcp"&vbcr end sub
  3. Xshell에서 로컬 셸 세션 생성

    1. 프로토콜로 ‘LOCAL’을 선택합니다.

    2. Login Scripts에 위 2.의 스크립트 파일을 지정합니다.

       

    3. 접속하고자 하는 서버의 인증 정보를 설정합니다.

       

  4. 해당 세션을 실행합니다.