기본 SSH 포트를 변경하는 이유는 무엇입니까?


답변:


27

가장 가능성이 높은 이유는 사람들이 찾은 SSH 로그인을 무작위로 무차별 적으로 시도하는 것을 어렵게 만드는 것입니다. 내 인터넷 연결 시스템은 기본 SSH 포트를 사용하고 내 로그는 다음과 같은 내용으로 채워졌습니다 (실제 로그 파일에서 발췌).

sshd[16359]: Invalid user test from 92.241.180.96
sshd[16428]: Invalid user oracle from 92.241.180.96
sshd[16496]: Invalid user backup from 92.241.180.96
sshd[16556]: Invalid user ftpuser from 92.241.180.96
sshd[16612]: Invalid user nagios from 92.241.180.96
sshd[16649]: Invalid user student from 92.241.180.96
sshd[16689]: Invalid user tomcat from 92.241.180.96
sshd[16713]: Invalid user test1 from 92.241.180.96
sshd[16742]: Invalid user test from 92.241.180.96
sshd[16746]: Invalid user cyrus from 92.241.180.96
sshd[16774]: Invalid user temp from 92.241.180.96
sshd[16790]: Invalid user postgres from 92.241.180.96
sshd[16806]: Invalid user samba from 92.241.180.96

요즘에는 DenyHosts 를 사용 하여 너무 많은 인증에 실패한 IP를 차단하지만 포트를 전환하는 것만 큼 쉽습니다. 이 종류의 거의 모든 무차별 대입 공격은 sshd가 다른 포트에서 수신 대기하는지 확인하기 위해 스캔을 방해하지 않습니다.


15

아니요, 모호한 전술에 의한 보안 입니다.

sshd 설정이 포트 22를 시도하는 바보 같은 스크립트 키즈를 직면하기에 충분하지 않은 경우 어쨌든 문제가 있습니다.

보다 합리적인 반응은 다음과 같습니다.

  • 사용자가 추측하기 어려운 강력한 암호를 사용하고 있는지 확인하십시오.
  • 암호 인증을 비활성화하고 (적어도 중요한 계정의 경우) 공개 키 인증 만 사용하십시오.
  • ssh-security 문제 및 업그레이드에주의하십시오

일부 사람들은 sshd가 시스템 로그에 기록하는 노이즈로 인해 짜증을 낼 수 있습니다.

Jan 02 21:24:24 example.org sshd[28396]: Invalid user guest from 212.129.23.128
Jan 02 21:24:24 example.org sshd[28396]: input_userauth_request: invalid user guest [preauth]
Jan 02 21:24:24 example.org sshd[28396]: error: Received disconnect from 212.129.23.128: 3: com.jcraft.jsch.JSchException: Auth fail [preauth]
Jan 02 21:24:24 example.org sshd[28398]: Invalid user ubnt from 212.129.23.128
Jan 02 21:24:24 example.org sshd[28398]: input_userauth_request: invalid user ubnt [preauth]
Jan 02 21:24:24 example.org sshd[28398]: error: Received disconnect from 212.129.23.128: 3: com.jcraft.jsch.JSchException: Auth fail [preauth

그런 다음 신호 대 잡음비를 다시 늘리기 위해 sshd 포트를 가리거나 자동 차단 솔루션 (DenyHosts, Fail2ban 또는 BlockHosts 등)을 사용하고 싶을 수 있습니다.

그러나 더 나은 대안이 존재합니다. 예를 들어 sshd 로그 노이즈가 예를 들어 기록되고 /var/log/sshd-attempts.log신호 (예 : 나머지 sshd 로그 메시지)가 /var/log/messages이전과 같이 기록되도록 syslog 데몬을 구성 할 수 있습니다 .

보안 관련 시스템에 복잡성을 더하면 악용 위험 이 높아 지므로 자동 차단 도구를 신중하게 고려해야 합니다. 실제로 수년 동안 각 DenyHosts , Fail2banBlockHosts에 대한 여러 DoS 취약성 보고서가 있습니다.


4
나는 "불분명 한 보안"이라는 것에 동의하지 않는다. 나는 그 대답이이 경우에 일반적인 오류라고 생각한다. @Michael의 추론은 일반적으로 다른 곳에 그것을 가지고있는 더 좋은 이유를 보여줍니다. 대부분의 스크립트 된 봇 공격을 제거하는 것입니다. 그렇다고 반드시 두려워하거나 결정된 공격자에 대해 효과적이라고 생각할 필요는 없습니다. 나는 그들이 실제로 들어 올까 걱정하지 않았다는 것을 알고있다. 그러나 모든 통나무 오두막집은 성가신 것이었다.
xenoterracide

1
@ xenoterracide : 로그 파일의 가독성에만 관심이 있다면 포트를 모호한 전술로 변경하는 대신 노이즈를 제외시키는 다른 좋은 대안이 있습니다. 의문의 일부가 아닌 IP 차단과 관련하여 : 보안 관련 시스템에 더 복잡성을 추가하면 악용 위험이 증가한다는 것을 참고하십시오. 예를 들어 seclists.org/fulldisclosure/2007/Jun/121 ossec.net/main/attacking-log-analysis-tools를 고려하십시오 . 예, DenyHosts가 이에 영향을 받았습니다.
maxschlepzig

1
가독성 만 생각하면됩니다. 올바르게 문서화 된 포트 변경은 모호성으로 인한 보안이 아닙니다.
xenoterracide

4

SSH 포트를 변경하는 것은 대부분 보안 극장 입니다. 그것은 당신에게 무언가를 한 퍼지 느낌을줍니다. 현관 매트 아래에 SSH 포트가 숨겨져 있습니다.

인터넷에서 SSH 서버를 실행하는 경우 어리석게 약한 암호, 약한 키 및 서버 이전 버전의 알려진 악용을 찾고있는 봇에서 로그에 실패한 로그인 시도가 많이 나타납니다 . 실패한 시도는 바로 실패한 시도입니다. 당신이 얼마나 취약한지를 평가하는 한, 그들은 전혀 관련이 없습니다. 당신이 걱정해야 할 것은 성공적인 침입 시도이며, 당신은 당신의 로그에서 볼 수 없습니다.

기본 포트를 변경하면 이러한 봇의 적중 횟수는 줄어들지 만 적절한 보안 (정기적으로 적용되는 보안 업데이트, 비교적 강력한 암호 또는 비활성화 된 암호 인증)에 의해 중지 된 가장 정교한 공격자 만 공격 할 수 있습니다. 유일한 장점은 로그 볼륨을 줄이는 것입니다. 이것이 문제인 경우 Denyhosts 또는 Fail2ban 과 같은 연결 속도를 대신 고려 하여 대역폭을 잘 활용하십시오.

기본 포트를 변경하면 방화벽 뒤에서 로그인 할 가능성이 줄어 듭니다. 방화벽은 임의의 다른 포트보다 기본 포트를 통해 서비스를 통과 할 가능성이 높습니다. HTTPS 서버를 실행하지 않는 경우 일부 방화벽은 포트 443에서 디코딩 할 수없는 트래픽을 허용하므로 포트 443에서 SSH 수신 대기 (또는 수신 TCP 요청을 포트 443에서 포트 22로 리디렉션)를 고려하십시오. HTTPS처럼.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.