저는 집에 서버가 있고 동적 DNS를 사용하고 있으며 10년 넘게 아무런 문제 없이 사용하고 있습니다. 외부에서 ssh를 이용해서 로그인하는 데에는 문제가 없지만, 라우터를 자주 사용하지 않기 때문에 몇 달 전에 라우터의 포트를 비활성화했습니다.
이것이 내 문제입니다. SSH 및 192.168.1.xxx를 사용하여 내부 네트워크의 라우터 뒤에서 로그인할 수 있지만, 내 서버의 도메인 이름을 사용하여 로그인을 시도하면 외부 IP를 통해 로그인을 시도하며 다음과 같은 메시지가 나타납니다. 36.xxx .xx.xx 포트 22와 협상: 해당 견적에 대해 일치하는 키 교환 방법을 찾을 수 없습니다: diffie-hellman-group1-sha".
실제로 라우터에서 포트가 비활성화되었기 때문에 시간 초과 오류가 발생했다고 표시되어야 합니다.
이를 확인하기 위해 우분투를 사용하여 외부에서 로그인을 시도한 후 "ssh: 호스트 xxxx.com 포트 22에 연결 중: 연결 시간 초과"가 올바르게 표시되었습니다. Mac을 사용하여 내부에서 외부 IP에 연결하면 모든 것을 얻을 수 있습니다. 비밀번호 프롬프트로 이동했는데, 입력하면 거부되었다고 표시되나요?
내부에서 데비안을 사용하여 외부 IP에 연결하면 중간자 공격 가능성에 대해 경고합니다.
외부 IP를 사용하여 라우터 뒤에서 로그인을 시도한 후 로그인 시도를 거부했지만 외부에서는 예상대로 시간 초과 오류가 발생하는 경우 차단된 포트 22를 수신하고 연결을 제공하는 이유는 무엇입니까? 라우터가 손상되었나요?
답변1
요약하자면, 네트워크 내에서 연결할 때 세 가지 다른 동작을 관찰할 수 있습니다.
- 머신 A에서는 클라이언트와 서버가 일치하는 프로토콜 옵션을 지원하지 않기 때문에 SSH 연결을 설정할 수도 없습니다.
- 머신 D에서 클라이언트는 호스트 키 불일치로 인해 연결을 거부합니다.
- 시스템 M에서 SSH 연결이 설정되었지만 사용자 인증에 실패했습니다.
이 모든 것은 당신이 도달할 수 있다고 생각했던 호스트에 도달하지 못하고 있음을 나타냅니다. 일부 사람들이 이미 댓글에서 언급했듯이 네트워크 내부에서 외부 IP 주소에 액세스하면 실제로 라우터에 액세스하는 것입니다. (더 정확하게 말하면, 귀하는 귀하의NAT 장치— 가정 또는 소규모 사무실 네트워크의 경우 라우팅, NAT 및 모뎀을 수행하는 상자일 뿐입니다. )또한:
- A에서 연결을 설정할 수 없다는 사실은 액세스 중인 서버가 사용 가능한 옵션 중 일부만 지원하고(라우터에서 일반적으로 발생함) 한동안 업데이트되지 않았음을 나타냅니다. 라우터에서 일반적입니다) )—
diffie-hellman-group1-sha1
더 이상 사용되지 않음. - D 호스트 키 불일치가 감지되었다는 사실은 해당 호스트가 찾고 있는 호스트가 아니라는 분명한 표시입니다.
- M 연결에는 더 이상 사용되지 않는 프로토콜을 지원하고 해당 클라이언트에서 필요한 서버에 연결하지 않으므로 불일치가 표시되지 않으므로 문제가 없습니다.
known_hosts
( ) 파일에서 해당 공개 키를 삭제 해야 합니다ssh-keygen -R 36.xxx.xx.xx
. 그렇지 않으면 필요한 서버에 연결을 시도할 때 오류 메시지가 표시됩니다.
네트워크 내부에서 외부 IP 주소로 연결을 시도할 때 발생하는 상황은 NAT 장치 구성 방법에 따라 다릅니다. 일반적으로 IP 주소 중 하나에 대한 연결 요청을 확인하고 이를 자체 연결로 처리합니다. 이는 NAT 구성 방법에 따라 달라지며 일반적으로 인터페이스에 의해 구성되므로 외부에서 들어오는 연결 요청은 들어오는 리디렉션 규칙에 따라 변환되지만 내부에서 들어오는 연결 요청은 실제로 나가는 경우에만 변환됩니다. NAT 장치에 도착하면 변환을 수행합니다.
홈 라우터에서는 SSH 인터페이스를 제공하는 것이 일반적이며 이를 비활성화할 특별한 이유는 없습니다. 더 이상 사용되지 않는 프로토콜이라도 걱정할 필요가 없습니다. 이에 대한 공격은 "이론상"일 뿐이므로 피하는 것이 가장 좋지만 즉시 중단되지는 않습니다. 사실은 소프트웨어가 너무 오래되었다는 것입니다.예그러나 문제는 패치되지 않은 다른 보안 허점이 있을 수 있다는 것입니다. 라우터가 TCP 이상의 프로토콜 수준에서 외부 인터페이스의 어떤 것도 수신하지 않는지 확인하세요. 즉, NAT를 수행하되 SSH, 웹 인터페이스 등이 내부 IP 주소로 제한되어 있는지 확인하세요. WiFi가 있거나 물리적 네트워크를 신뢰할 수 없다면 내부 연결도 강화하세요.