루트 로그인을 비활성화하면 보안이 강화됩니까?


13

최근에 Linux에서 http://archives.neohapsis.com/archives/openbsd/2005-03/2878.html 에서 루트 사용자 로그인을 비활성화하는 것에 대한 주장을 발견했습니다.

모든 사람이 공개 키 인증을 사용하는 경우 루트 암호를 잃을 위험이 없다고 가정합니다.

ssh를 통해 루트 로그인을 비활성화하는 것이 항상 낫습니까?


1
"루트 로그인을 비활성화하면 내 보안 정책을 준수합니까?" 모든 사람의 정책은 여러 가지 이유로 다릅니다.
Alex Holst

답변:


10

짧은 대답은 공격 프로파일이 작을수록 좋습니다. 항상. 필요하지 않거나 sudo 또는 su와 같은 대안을 사용할 수 있으면 루트 로그인을 활성화하지 마십시오.

루트를 비활성화하고 sudo / su를 사용하는 데 유리한 한 가지 주장은 누가 무엇을하고 있는지 추적 할 수 있다는 것입니다. 한 명의 사용자-한 명의 로그인. 계정을 공유하지 마십시오.

해당 링크의 인수는 ssh가 아닌 로컬 로그인에만 해당되는 것으로 보입니다.


3
트래킹 포인트는 다음 sudo -i과 같습니다 : , 그리고 당신의 행동은 당신의 것이 아니라 근본으로 나타납니다
Fahad Sadah

2
그러나 당신은 그들의 원래 로그인 기록이 있습니다. 증거는 없지만 증거는 있습니다. 또한 사용자가 액세스하고 수행 할 수있는 작업을 제어 할 수 있습니다.
추후 공지가있을 때까지 일시 중지되었습니다.

OS 상황 당 한 명의 사용자는 어떻습니까? 시스템을 관리하는 사람은 한 명 뿐이며, 누가 이미 무엇을하고 있는지 추적 할 수 있습니다. 사용이 매우 ... 복잡한 예를 들어, bash는 문자열의 탈출을 도우 : unix.stackexchange.com/questions/551899/...
청동 남자

8

나는 두 번째 Dennis 포인트, 플러스 :

SSH를 통한 루트 로그인을 허용하면 무차별 암호 추측으로 루트를 공격 할 수 있습니다.

루트가 항상 있고 보상이 너무 높기 때문에 우선 순위 대상입니다. 사용자 이름을 먼저 추측해야하므로 문제의 난이도에 약간의 차수가 추가됩니다.


또한 대부분의 관리자 계정과 마찬가지로 루트이기 때문에 (x) 오류 후에 계정을 잠그도록 시스템을 설정하더라도 그렇지 않습니다. 대신 실패 후 IP를 차단할 무언가를 설정해야하지만 분산 된 무차별 대항에 도움이되지는 않습니다.
Joe H.

1
다른 계정과 마찬가지로 루트 계정의 이름을 바꿀 수 있습니다.
Fahad Sadah

@fahadsadah 일부 소프트웨어는 UID 0 == 루트로 가정합니다. 한때 OpenWRT 라우터에서 루트 이름을 바꾸려고 시도했는데 웹 인터페이스가 끊어졌습니다.
Gerald Combs

3
ssh를 통한 루트는 시스템이 무차별 대입하기 쉽다는 것을 자동으로 의미하지는 않습니다. PermitRootLogin without-password옵션이 설정된 시스템을 고려하십시오 .
Zoredache

4

콘솔 액세스 권한이없는 경우 루트 계정을 비활성화하지 마십시오. / etc / nologin이 작성되는 동안 파일 시스템이 가득 차고 부팅이 실패하면 루트 계정 만 시스템에 로그인 할 수 있습니다.

즉, 이러한 상황을 처리 할 수있는 콘솔 액세스 권한이있는 경우 아무도 사전 공격을 사용하여 루트 계정에 액세스 할 수 없으므로 루트 계정을 닫으면 두통을 줄일 수 있습니다 (제 경험에 따르면 요즘은 일정합니다- 누군가는 항상 노력하고 있습니다). 당신이 생각할 다른 것들 :

  • 여러 번 인증에 실패한 경우 (사전 공격으로부터 능동적으로 보호하기 위해) IP 주소에 대한 액세스를 자동으로 닫는 fail2ban과 같은 프로그램을 설치하십시오.
  • ssh 키만 사용하십시오.
  • 많은 머신을 관리하는 경우 cfengine 또는 기타를 사용하여 머신에 액세스 할 수있는 권한이 부여 된 공개 키를 관리하십시오.

안부,
주앙 미구엘 네 베스


1

SSH를 통해 루트 로그인을 비활성화하는 것이 좋습니다.

손상된 PKI 시스템 (예 : SSH가있는 공개 키)이 있습니다. SSH에는 이미 원격 인증 결함이 있었기 때문에 루트 손상이 발생할 수있었습니다. 소프트웨어 PKI는 하드웨어 기반 PKI보다 약합니다. 호스트 컴퓨터가 손상되면 대상 서버도 쉽게 넘어 질 수 있습니다. 또는 SSH에 새로운 결함이있을 수 있습니다. 루트 로그인을 제한함으로써 권한 에스컬레이션을 수행하기 위해 공격자가 필요한 시간을 연장 할 수도 있습니다.

역사적으로 많은 관리자들이 네트워크에 들어가기 위해 배스 천 호스트 (기본적으로 게이트웨이)를 사용했다가 나중에 상자로 이동했습니다. 다양한 운영 체제와 함께 높은 보안 배포판 (예 : OpenBSD)을 요새 호스트로 사용하면 심층 방어 및 다양성 방어 (전체 네트워크를 손상시킬 가능성이 적은 하나의 취약점)가 제공됩니다.

직렬 집중 장치, 직렬 스위치 또는 기타와 같이 네트워크에 대역 외 연결을 고려하십시오. 필요한 경우 관리 인터페이스의 백업 가용성을 제공합니다.

나는 편집증과 보안 상태이므로 IPSEC VPN 또는 Type1 VPN을 사용하고 SSH를 인터넷에 노출시키지 않고 그 위에 SSH를 실행할 가능성이 높습니다. 네트워크 하드웨어에 VPN을 설치하면 구현 과정에서이를 단순화 할 수 있습니다.


0

우리는이 질문을 다른 시점에서 조사해야합니다.

우분투는 기본적으로 루트 계정을 비활성화합니다. 이는 루트로 SSH를 통해 로그인 할 수 없음을 의미합니다. 그러나 우분투 CD를 가진 사람이라면 누구나 부팅하고 루트 액세스 권한을 얻을 수 있습니다.

가장 좋은 타협은 SSH 액세스가 비활성화 된 루트 계정을 활성화하는 것입니다. SSH를 사용하여 루트 액세스가 필요한 경우 일반 사용자로 로그인하고 sudo를 사용하십시오. 이렇게하면 원격 보안을 손상시키지 않으면 서 박스에 대한 액세스를 보호 할 수 있습니다.


2
누군가 CD로 컴퓨터를 부팅 할 때 이미 너무 늦었 기 때문에 이미 컴퓨터를 ed습니다. 그렇다면 암호화 된 데이터 파티션이 가장 좋습니다.
Kamil Kisiel

1
"컵 홀더"에 접근 할 수 있으면 ssh가 필요하지 않습니다.
추후 공지가있을 때까지 일시 중지되었습니다.

@Kamil Kisiel은이를 막기 위해 도로 블록을 넣을 수 없다는 것을 의미하지 않습니다. 문구는 무엇입니까? 그들이 당신의 상자를 만질 수 있다면, 그들은 그것을 소유 할 수 있습니다. 그러나 우리는 사물을 원근법에 넣어야합니다. @Dennis Williamson 의견을 더 설명해 주시겠습니까?
Natalie Adams

어떤 도로 블록? 자신의 CD로 부팅하는 경우 암호가 필요하지 않습니다. 파일 시스템을 읽었습니다.
Kamil Kisiel

0

예, 루트 권한으로 로그인이 감사 기능을 위해 비활성화되어야한다고 말하고 싶습니다. 이 컴퓨터의 유일한 시스템 관리자 인 경우 누가 누구에게 무엇을했는지 결정하는 것은 쉽지 않지만 10 명이 상자를 관리 할 권한이 있고 모두 루트 암호를 알고 있으면 문제가 있습니다.

root의 사용 가능 여부에 상관없이 root 또는 다른 사용자는 암호를 사용하여 원격으로 로그인 할 수 없습니다. fail2ban은 느린 무차별 봇넷에 대해 아무런 작업도 수행하지 않으며 IPv6에서는 전혀 작동하지 않습니다. (ssh 프로토콜 버전 1 및 이전 버전의 2 버전은 ssh 세션 내에서 대화식 암호 프롬프트에 대한 암호 추측 공격에 취약했지만 더 이상 최근 ssh 구현에서는 그렇지 않은 것으로 보입니다.)

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