공개 키 인증이 활성화된 컴퓨터가 있습니다. 어딘가에 인증 키가 있습니다 ~/.ssh/authorized_keys
.
실수로 내 사용자(루트 액세스 권한 없음)를 사용하여 악성 스크립트/프로그램을 실행한 것이 걱정됩니다. 스크립트는 자동으로 수정될 수 있으므로 ~/.ssh/authorized_keys
공격자가 해당 사용자에 대한 원격 액세스 권한을 영구적으로 확보하고 시스템을 추가로 공격할 수 있습니다.
~/.ssh/authorized_keys
인증키( )의 기본 위치에 보안상의 문제가 있나요 ?각 사용자의 인증 키를 보다 안전한 방식으로 저장하는 다른 방법이 있습니까(예: 새 호스트를 허용하려면 루트 액세스 필요)?
답변1
이 시스템에 대한 루트 액세스 권한이 있으면 다음 명령을 사용하여 SSH 파일과 디렉터리를 변경할 수 없도록 만들 수 있습니다.chattr
주문하다,예를 들어:
sudo chattr +i ~/.ssh/authorized_keys
sudo chattr +i ~/.ssh
이렇게 하면 인증 키 파일이 수정되거나, 이름이 바뀌거나, 삭제되거나 덮어쓰여지는 것을 방지할 수 있습니다. 루트만이 불변성 플래그를 설정 해제할 수 있으므로 일반 사용자로 실행하는 스크립트가 authorized_keys
파일에 키를 삽입하는 것을 방지합니다.
답변2
sshd 구성 파일에는 다음 옵션이 있습니다.AuthorizedKeysFile
토큰을 사용하려면 다음과 같이 설정할 수 있습니다.
AuthorizedKeysFile /etc/sshd.keyfiles/%u.key
다음 단계는 이 폴더를 Puppet/Ansible/etc 시스템에 추가하고 폴더에 있는 모든 파일의 변경 사항을 추적하는 것입니다.
답변3
"mount --bind"를 사용하여 ssh가 홈 폴더를 스푸핑하는 것을 방지하는 방법은 무엇입니까? 테스트를 수행하고 기본 폴더를 다른 폴더가 아닌 다른 하드 드라이브에 마운트했습니다. ssh-copy-id 명령을 사용한 후 클라이언트의 키를 /home/.ssh/authorized_keys로 올바르게 가져왔고 "sudo chmod 755 ~"를 사용하여 홈 폴더의 액세스 권한을 변경한 후 매력처럼 작동했지만 더 이상 작동하지 않습니다. 비밀번호를 입력해야 합니다.