가상 SSH 서버?

가상 SSH 서버?

실제 시스템 계정의 자격 증명을 사용하더라도 모든 로그인을 거부하는 가상 SSH 서버를 찾고 있습니다. 검색을 하다가 허니팟을 발견했는데, 해커들이 게임을 하고 있다는 사실을 깨닫지 못하게 하고 싶었습니다. "실제" SSH 서버가 다른 포트에서 실행되더라도 그들이 실제 서버를 찾았다고 생각하기를 바랍니다.

이 작업을 수행할 수 있는 소프트웨어를 알려 주시겠습니까?

더 나은 접근 방식은 Fail2ban을 통합하여진짜그들이 실제 서버에 접속하고 있다고 생각해보세요!

편집: 차이점이 있다면 Debian Linux를 실행하고 있습니다.

답변1

/etc/ssh/sshd_config를 사용하십시오.

# Fake std port, blocked:
Port 22
# non-std port for real service:
Port 222    
[....]

Match LocalPort 22
      DenyUsers *

일반적인 로그 파일에서 시도/거부를 확인할 수 있으며 Fail2ban과 같은 도구를 계속 사용할 수 있습니다.

답변2

모든 SSH 서버가 이를 수행할 수 있지만 로그인을 허용하지 않도록 주의 깊게 구성해야 합니다. OpenSSH 또는 로그 검색 소프트웨어에 대한 올바른 로그 메시지를 내보낼 수 있는 방법을 사용하십시오. 그러나 이로 인해 호스트 설정이 복잡해질 수 있습니다. 예를 들어 하루 26시간 근무하는 시스템 관리자는 가짜 서버를 실제 서버와 혼동하여 합법적인 사용자를 차단하거나 실제 인증을 허용하도록 가짜 서버를 잘못 구성할 수 있습니다. 문서화(더 많은 작업!)는 이러한 문제를 제한하는 데 도움이 될 수 있습니다.

영리한 공격자는 포트가 인터넷에 직접 노출되어 있다고 가정하여 결국 다른 포트에서 SSH를 찾을 것이므로 이 방법은 특히 다른 소스에서 실제 로그인 자격 증명을 얻은 경우에는 적합하지 않을 수 있습니다. 너무 많은 봇이 모든 포트에서 비밀번호를 추측하고 SSH 로그인 배너를 표시한 후 시간이 초과되거나 무언가로 충분할 수 있는 간단한 스크립트에는 신경 쓰지 않지만 단순히 TCP/22를 차단하고 실제 포트에서 실행하는 것만으로도 충분합니다. SSH 서버 포트를 이동하면 더 많은 CPU와 일부 네트워크 대역폭이 낭비됩니다(역시 VPN이나 ​​다른 계층 뒤가 아니라 직접 사용할 수 있다고 가정). 간단한 서버에는 보안 구멍이 없는 것이 바람직하며 CPU를 너무 많이 낭비하지도 않고 소켓을 너무 많이 소모하지도 않아야 합니다. 그것은 다음과 같이 보일 수 있습니다

#!/usr/bin/env expect
# fakesshd - present a banner and not much else (we hope)

set listenport 2222
set message SSH-2.0-OpenSSH_9.0
set close_milliseconds 9999

# if on OpenBSD, https://github.com/thrig/tcl-pledge
#package require pledge
#pledge {dns inet stdio} NULL

proc banner {socket clientaddr clientport} {
    global close_milliseconds message
    puts $socket $message
    flush $socket
    after $close_milliseconds close $socket
}

socket -server banner $listenport
vwait the_heat_death_of_the_universe

그러나 일반 사용자 또는 모니터링 시스템이 잘못된 SSH 포트에 연결될 수 있으며, 그러면 해당 IP 주소가 블랙리스트 또는 IP 평판 시스템에 포함될 수 있습니다. 아마도 좋은 결과는 아닐 것입니다. 과로한 시스템 관리자는 잘못된 포트에 연결한 다음 실제로 처리해야 할 다른 사항 외에도 오류의 원인을 디버깅하는 데 시간을 낭비할 수도 있습니다.

따라서 멍청한 봇은 신경 쓰지 않고(그냥 끄나요?), 똑똑한 공격자는 실제 포트를 찾거나(포트를 이동하거나 VPN 뒤에 배치하려면 더 많은 작업을 수행해야 함), 아니면 신경 쓰지 않습니다. 포트. 보안의 또 다른 허점("안녕하세요, 저는 IT 부서의 Bob입니다. SSH 구성을 알려주실 수 있습니까? 검토 중입니다.")으로 인해 시스템 관리자는 물론 사용자의 삶도 더욱 어려워집니다. 여기서는 장점이 별로 보이지 않습니다.

관련 정보