ssh 보안을 높이려면 어떻게해야합니까? 키와 비밀번호를 모두 요구할 수 있습니까? 암호를 입력하도록 요구하는

소규모 서버 네트워크가 있으며 일반 보안을 강화하고 싶습니다. VPN을 설정할 시간 / 돈 / 망상증이 충분하지 않습니다. 시스템의 보안을 강화할 수있는 기본 방법은 무엇입니까?

한 가지는 사용자가 자신의 키를 보내고 암호를 입력하도록 요구하는 것일 수 있습니다. “ssh key password”에 관한 모든 것이 비밀번호없이 sshing하는 것에 관한 것이기 때문에 구글에게는 다소 어렵다. 🙂

내가 항상 가지고 싶었던 한 가지 계획은 들어오는 연결이 dyndns ip 주소의 허용 목록에서만 가져와야한다는 것입니다. 아이디어의 생각에 일부 보안 책임자가 토할 것이라는 것을 알고 있지만 문제의 사실은 상자를 악용하는 데 상당한 복잡성을 더할 수 있다는 것입니다.

어떻게 생각해? 거기에 또 뭐가 있습니까?



답변

비밀번호와 키를 사용한 로그인은 “키만으로”와 동일합니다. 키를 만드는 동안 암호를 입력하라는 메시지가 표시됩니다. 비워두면 비밀번호를 묻지 않습니다. 암호를 입력하면 로그인 할 때마다 암호를 묻는 메시지가 표시됩니다.

보안에 대해 우려가 있다면이 포럼에서 1 조 번 언급 된 다음 조언 중 일부를 고려하십시오.

  • 루트에 대한 ssh 로그인 비활성화
  • 정의 된 IP 주소 (iptables, hosts.allow, …)에서만 ssh 액세스 허용
  • ssh 포트를 다른 포트로 이동하십시오 (보안보다 더 모호하지만 작동합니다)
  • 외국 로그인 시도를 모니터링하고 그에 따라 대응
  • 시스템을 최신 상태로 유지

업데이트 : OpenSSH 서버에서 공개 키와 로컬 시스템 암호를 모두 요구하는 방법은 여기의 답변을 참조하십시오 .


답변

내가 흥미로 웠던 한 가지 아이디어는 포트 노킹입니다 . 기본적으로 ssh 연결을 설정하려면 ssh 서버가 연결 요청을 승인하기 전에 먼저 다른 포트 시퀀스를 조사해야합니다. 올바른 포트 순서를 사용하지 않으면 응답이 없으므로 ssh 서버가 실행되고 있지 않은 것처럼 보입니다. 일련의 포트는 사용자 정의 할 수 있으며 원하는 사용자와 공유 할 수 있습니다. 다른 사람은 효과적으로 연결할 수 없습니다.

나는 이것을 직접 시도하지는 않았지만 (실제로 많지는 않지만) 들었던 것에서 오버 헤드는 무시할 수 있고 가시성 프로파일을 엄청나게 낮 춥니 다.


답변

SSH에서 직접 활성화하는 것과 관련된 패치 및 많은 관련 토론 :

암호 확인 스크립트를 ForceCommand구성 옵션 과 함께 사용하면 수정없이 수행 할 수도 있습니다 .

마지막으로 모듈이 없지만 공개 키 인증을 PAM으로 옮긴 경우 PAM이 인증에 성공하기 전에 두 단계를 모두 통과해야 할 수 있습니다.


답변

그냥 사용

RequiredAuthentications publickey, password

에서 sshd_config당신이 ssh.com에서 SSHD를 사용하는 경우. 이 기능은 OpenSSH에서 사용할 수 없습니다.


답변

당신은 또한 사용할 수있는 일회용 암호를 보안을 강화할 수 있습니다. 이를 통해 사용자는 안전하지 않은 터미널에서 로그인 할 수 있으며, 이전에 다음 비밀번호를 생성 한 경우 키로거가있을 수 있습니다. 또한 구식 Java MIDP 전화에도 설치할 수있는 암호 생성기가 있으며 항상 휴대 할 수 있습니다.


답변

IP 제한없이 sshd, rdp 또는 이러한 관리 서비스를 실행하지 않는 것이 좋습니다. 실제로 VPN을 통해 연결하는 관리자에게 이러한 서비스에 대한 액세스를 제한하는 것이 좋습니다.


답변

RHEL 또는 CentOS 6.3을 실행하는 경우 키와 비밀번호가 모두 필요하다는 원래의 질문과 관련하여 이제 가능합니다. RHEL 6.3 릴리즈 노트는 그것이 당신의 sshd_config를이 추가의 문제, 그것을 설명

RequiredAuthentications2 publickey,password