얼마 전 나는 루트로 비밀번호를 썼기 때문에 루트로 로그인하여 어떤 일을 할 수 있었다. 이제 인터넷에 서브 서비스를 공개 할 예정이므로 보안을 강화하기 위해 루트 로그인을 비활성화하고 싶습니다. 나는 이것을하는 몇 가지 방법을 보았지만 ( sudo passwd -l root
,으로 다루는 것 등 /etc/shadow
), 그것이 최선의 가장 현명한 방법이 무엇인지 말하는 곳은 없습니다. 나는 sudo passwd -l root
했지만 이것이 이것이 init 스크립트에 영향을 줄 수 있다고 말하는 충고를 보았으며 액세스를 거부하지 않고 로그인하려고하면 여전히 암호를 요구하기 때문에 보안이 안전하지 않다는 조언을 보았습니다. 그래서 그것을 달성하는 방법은 무엇입니까?
편집 : 명확히하기 위해 루트로 로컬 로그인을위한 것입니다. SSH를 통한 원격 로그인을 이미 비활성화했습니다. SSH를 통해 루트로 로그인하려고 시도해도 여전히 루트 암호를 묻는 메시지가 표시됩니다 (항상 실패 함). 그게 나쁜가요?
답변
루트를 비활성화하는 것이 잠재적 인 문제의 가치가 있다는 것은 논쟁의 여지가 있습니다. 그런 식으로 구성된 서버를 테스트 한 적이 없습니다. 선호하는 것은 루트 로컬 액세스 만 허용하는 것입니다. 공격자가 서버에 물리적으로 액세스 할 수 있으면 설치를 “보안”하기 위해 수행 한 모든 작업을 잊을 수 있습니다.
다음 을 포함하도록 ssh
편집 /etc/ssh/sshd_config
하여 루트 액세스를 비활성화하십시오 .
PermitRootLogin no
만지는 /etc/shadow
, chsh -s /bin/false root
모두 간단한 부팅 가능한 CD / 썸 드라이브로 취소 될 수 있습니다.
귀하의 의견에 따라 업데이트 :
에서 help.ubuntu.com : “기본적으로 루트 계정 암호는 우분투에 잠겨 있습니다 .” 자세한 내용은 “루트 계정 다시 비활성화”섹션을 참조하십시오. 루트 계정의 상태를 재설정하려면 설치 기본값으로 다음 명령을 사용하십시오.
sudo usermod -p '!' root
답변
ssh를 통한 원격 로그인을 참조한다고 가정합니다. 다음 줄을 추가하십시오 /etc/ssh/sshd_config
.
PermitRootLogin no
ssh 서비스를 다시 시작하십시오.
sudo service ssh restart
그것은 일을해야하고 루트 계정을 그대로 유지할 수 있습니다 (또는 필요하다고 생각되면 비활성화하십시오).
답변
주요 질문은 여러 번 답변되었지만 2 차 답변은 없습니다. SSH는 보안 기능으로 비활성화 된 후 root를 입력 한 후 비밀번호를 묻습니다. lkjfiejlksji로 로그인하려고하면 트리거됩니다.
이것은 누군가가 사용자 이름의 더미를 테스트하지 못하게하고 시스템에서 유효한 사용자 이름을 찾으려고 시도하기위한 것입니다. 그러나 보안상의 관점에서 SSH를 통한 루트를 비활성화 한 경우, fail2ban과 같은 무차별 탐지 프로그램을 설정하고 누군가가 루트로 로그인하려고 시도하는 경우이를 차단하도록 설정합니다. 추가 공격 시도
답변
암호화 된 비밀번호를 / etc / shadow에서 * (첫 번째 ‘:’다음의 두 번째 필드)로 바꾸는 것이 가장 좋은 방법입니다 (IMHO). 또한 ssh에 대한 루트 로그인을 비활성화하고 (ssh를 통해 루트로 로그인하는 것이 불가능 함) ssh를 인증서 로그인으로 제한 할 수 있습니다. 이는 비밀번호 기반 로그인보다 훨씬 안전합니다.
대부분의 경우 SSH는 외부에서 액세스 할 수있는 유일한 서비스로 루트 로그인이 가능하므로이 문이 잠겨 있습니다.
이를 더 제한하기 위해 fail2ban과 같은 것을 설치하면 여러 번의 로그인 시도 실패 후 특정 시간 동안 IP 주소를 금지 할 수 있습니다.
답변
JR 등
귀하의 AllowUsers가 나를 https://help.ubuntu.com/community/SSH/OpenSSH/Configuring으로 안내했습니다.
sudo vi / etc / ssh / sshd_config
PermitRootLogin yes (아니오로 변경)
(파일 하단에 줄 추가) DenyUsers user1 user2
저장 후 종료
sudo 서비스 ssh 재시작
내 문제를 해결했습니다. 모두 감사합니다.
답변
로컬 루트 로그인을 비활성화하려면 / etc / passwd를 수정하고 / bin / bash를 / bin / false로 바꾸십시오. 그러나 테스트하지 않았으므로 루트 세션을 열어두고 테스트 한 다음 이상한 부작용이 있으면 다시 변경하십시오.
답변
재 : 보안.
IMHO 당신이 할 수있는 것, 보안, 현명한 상자를 뽑고, 네트워크에서 연결을 끊고, 3 인치 두께의 방탄 초경-철 상자 안에 용접하는 것이 부족합니다.
만약 사람들이 국방부, CIA, FBI, Citibank를 해킹 할 수 있다면, 우리 중 나머지는 필멸의 삶을 훨씬 더 잘 할 수 없습니다.
재 : SSH 보안.
ssh를 통한 루트 액세스를 금지 할뿐만 아니라 “AllowUsers”매개 변수를 my 및 only username으로 설정했습니다. 이 방법으로 내 사용자 외에는 아무도 ssh를 통해 로그인 할 수 있습니다. 이것은 내 경우처럼 중복 될 수 있습니다. 어쨌든 루트가 아닌 하나의 사용자 만 만듭니다.
불행히도, 다른 사람들이 이전에 여러 번 말했듯이, 누군가가 상자에 물리적으로 접근하자마자 모든 베팅은 종료됩니다!
SSH 로그인을위한 인증서 교환? 흠. . . . 잘 들린다. 어떻게합니까?
짐 (JR)