아니요, 더 높은 수준의 권한이 필요할 때 실제로 sudo하는 것이 실제로 좋은 보안 방법입니다. 이것이 대부분의 배포판에서 기본 로그인을 금지하고 실제로 sudo su
입력 하는 대신 강제로 로그인하는 이유입니다 su
. 보안상의 이점으로 sudo를 사용하도록 권장하고 싶습니다. 몇 가지 이유가 있습니다.
감사. sudo를 수행하면 시스템은 sudo를 수행 한 사람과 실행 한 명령을 기록 합니다. 이것은 당신이 되돌아 가서 무슨 일이 있었는지 알아 내야 할 때, 법무 부서 할당, 사악한 활동 잡기 또는 문제 해결 목적으로 (법적 서버가 AWOL로 가기 전에 어제 밤 7시에 있었던 일)?
Sudo 규칙. 사용자가 에스컬레이션 된 privleges로 무언가 를 실행해야한다고 해서 에스컬레이션 된 privleges로 모든 것을 실행해야한다는 의미는 아닙니다 . su를 사용하거나 휠에 사용자를 추가하면 모든 작업을 수행 할 수 있습니다. 그러나 sudo를 사용하면 와일드 카드 사용을 허용 하는 명령 별명 을 사용하여 사용자가 수행 할 수있는 작업과 수행 할 수없는 작업을 지정할 수 있으므로 사용자 권한을 부여하는 유연한 규칙에 따라 사용자는 일부 명령 만 사용할 수 있습니다.
경화. 루트를 비활성화 할 수 있습니다. 마찬가지로 모든 의도와 목적으로 존재하지 않으며 단일 사용자 모드에서만 유용하고 사용할 수 있습니다-서버를 재부팅해야합니다 (그리고 이것이 허용되는 유일한 이유는 암호 복구입니다). sudo su
더 이상 작동하지 않습니다. 루트 쉘을 / bin / nologin 으로 설정 하면됩니다 . 이는 많은 루트 에스컬레이션 취약점을 방지하는 좋은 방법입니다. 물론 이것은 위의 글 머리 기호를 올바르게 사용한다고 가정합니다 (그리고 보안 관리자에게 해를 끼치 지 만 특정 관리자에게 모든 권한을 부여 할 수 있습니다).
물론 이러한 것은 보안 모델의 일부일뿐입니다. 예를 들어, 전체 관리 권한을 가진 사용자가없는 경우가 아니면 로그 서버와 syslog를 사용하여 로그를 즉시 발송하지 않는 한 사용자가 로그와 기록을 삭제할 수 있습니다 (아마도 가능할 수 있음). 그런 다음 고양이를 가방에 넣을 방법이 없습니다. 물론 중앙 인증 디렉토리 구조를 사용하면 다시 작동합니다. 하나의 계정을 손상 시키면 로그 서버를 포함하여 조직의 모든 서버에서 손상됩니다 .
요컨대, 보안은 복잡하지만 sudo는 보안 환경을 설계하는 데 유용한 도구이므로 더 많은 사람들이 최대한 활용해야합니다.
sudo
: "sudo : 죄송합니다, sudo를 실행하려면 tty가 있어야합니다"