SSH 비밀번호 인증이 보안 위험인 이유는 무엇입니까?

SSH 비밀번호 인증이 보안 위험인 이유는 무엇입니까?

OpenSSH 구성에 대한 대부분의 가이드에서는 키 기반 인증을 위해 비밀번호 인증을 비활성화하도록 권장합니다. 하지만 제 생각에는 비밀번호 인증에는 키 없이도 어디서나 연결할 수 있다는 큰 장점이 있습니다. 항상 강력한 비밀번호를 사용하면 보안 위험이 발생하지 않습니다. 아니면 그래야 할까요?

답변1

비밀번호 또는 키 기반 인증에는 장단점이 있습니다.

예를 들어 어떤 경우에는 키 기반 인증이더 적은비밀번호 인증보다 안전합니다. 다른 경우에는 비밀번호 기반이 덜 안전합니다. 어떤 경우에는 하나가 더 편리하고 다른 경우에는 덜 편리합니다.

모든 것은 다음과 같이 요약됩니다. 키 기반 인증을 수행하면~ 해야 하다암호로 키를 보호하세요. ssh-agent를 실행하지 않는 한(ssh-agent를 사용하면 매번 암호를 입력할 필요가 없습니다) 편의성 측면에서 아무 것도 얻을 수 없습니다. 보안은 논쟁의 여지가 있습니다. 공격 벡터는 이제 서버에서 귀하, 귀하의 계정 또는 개인 컴퓨터로 이동했습니다. (...) 이러한 것들은 침입하기가 더 쉬울 수도 있고 그렇지 않을 수도 있습니다.

이것을 결정할 때 고정관념에서 벗어나 생각해 보세요. 보안 측면에서 이득을 얻거나 잃는 것은 나머지 환경 및 기타 조치에 따라 다릅니다.

편집: 아, 방금 홈 서버에 대해 이야기하고 계시다는 걸 봤습니다. 나는 같은 상황에 있었습니다. "비밀번호" 또는 "키가 달린 USB 스틱"이 항상 나와 함께 있었습니까? 나는 전자로 갔다하지만SSH 수신 포트를 22가 아닌 다른 포트로 변경했습니다. 그러면 전체 네트워크 범위를 무차별 대입하는 모든 불충분한 스크립트 키드가 중지됩니다.

답변2

SSH 키를 사용하면 비밀번호 로그인과 비교하여 한 가지 고유한 기능이 있습니다. 허용되는 명령을 지정할 수 있습니다. 이는 ~/.ssh/authorized_keys서버에서 파일을 수정하여 수행할 수 있습니다 .

예를 들어,

command="/usr/local/bin/your_backup_script.sh", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

해당 특정 키를 사용하는 `/usr/local/bin/your_backup_script.sh" 명령만 허용합니다.

키에 허용되는 호스트를 지정할 수도 있습니다.

from="yourclient,yourotherclient", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

또는 두 가지를 결합합니다.

from="yourbackupserver", command="/usr/local/bin/your_backup_script.sh", ssh-rsa auiosfSAFfAFDFJL1234214DFAfDFa...

키를 사용하면 특정 계정의 비밀번호를 공개하지 않고도 일부 사용자(예: 컨설턴트)에게 서버에 대한 임시 액세스 권한을 부여할 수도 있습니다. 컨설턴트가 작업을 마친 후 임시 키를 제거할 수 있습니다.

답변3

네트워크 내에서만 비밀번호 인증을 허용함으로써 두 가지 장점을 최대한 활용할 수 있습니다. 끝에 다음을 추가하십시오 sshd_config.

PasswordAuthentication no
Match Address 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
    PasswordAuthentication yes

답변4

SSH 키는 비밀번호에 대한 중간자 기반 공격을 방지합니다.

키로 로그인을 시도하면 서버는 공개 키를 기반으로 챌린지를 구성하여 클라이언트에 보냅니다. 이를 해독하고 보낼 적절한 응답을 구성합니다.

귀하의 개인 키는 서버로 전송되지 않으며 이를 수신하는 사람은 해당 단일 세션을 가로채는 것 외에는 아무것도 할 수 없습니다.

비밀번호를 사용하면 귀하의 자격 증명을 갖게 됩니다.

내 솔루션은 USB 키의 암호화된 파티션에 적합한 형식의 휴대용 SSH 키를 갖는 것입니다. 이를 통해 다음과 같은 작업을 수행할 수 있습니다
. 키를 분실한 경우 해당 키를 쉽게 철회할 수 있습니다.
액세스할 수 있는 서버를 제한
하고 계속 가지고 다닐 수 있습니다.

마운트 소프트웨어를 설치하는 것은 어렵지만(truecrypt)

관련 정보