"su" 또는 "sudo" 실패 시 엄청난 인증 지연

"su" 또는 "sudo" 실패 시 엄청난 인증 지연

su저는 시스템 관리자로 새로운 일을 시작하려고 하는데 또는 에 냉각 기능을 구현하는 것에 대해 생각해 왔습니다 sudo. 대기 시간은 사용자가 첫 번째 시도 실패 후 몇 초 동안 이러한 명령을 사용하지 못하게 하며, 시도가 실패할 때마다 대기 시간이 늘어납니다.

이 개념의 기본 아이디어는 권한이 있는 사용자가 처음에는 틀렸지만 두 번째에는 올바르게 할 수 있다는 것입니다. 쿨다운은 상대방이 폭력적인 변형을 사용하는 것을 방지하고 지연시킵니다.

내 접근 방식에 결함이 있습니까? sudo 명령을 수정된 스크립트로 바꾸는 것이 현명합니까? 아니면 실행 파일 자체를 패치해야 합니까?


편집: Google에서 이 내용을 검색했지만 찾을 수 없습니다. SO, SuperUser.SE 및 Security.SE도 마찬가지입니다. 이 질문이 ServerFault에 부적절하다고 생각되면 표시해 주세요.

답변1

내 접근 방식에 결함이 있습니까? sudo 명령을 수정된 스크립트로 바꾸는 것이 현명합니까? 아니면 실행 파일 자체를 패치해야 합니까?

예, 귀하의 접근 방식에는 결함이 있습니다. 의견에서 지적했듯이 보안의 첫 번째 규칙은 다음과 같습니다.스스로 구축하지 마십시오. 코드를 이미 테스트한 것만큼 철저하게 테스트할 기회는 없으며 su, sudo코드를 거의 정확하게 작성하더라도 실제로 어딘가에서 일부 극단적인 경우를 놓칠 가능성이 높습니다. (돈을 받더라도 보안에 중요하지 않은 코드를 올바르게 작성하는 것은 충분히 어렵습니다.) 그냥 하지 마세요.

대신에,PAM pam_faildelay모듈 사용. 이를 통해 지연을 구성할 수 있고 지연을 인터리브할 수 있으며, 그렇지 않더라도 코드를 복사하고 인터리브된 지연을 구현하는 것이 su및 를 대체하는 것보다 오류 발생 가능성이 거의 확실합니다 sudo. 수행 중인 작업이 정확히 무엇인지 모른다면 기존의 유사한 모듈(PAM에 연결된 모든 항목은 보안 허점을 초래할 위험이 있음)을 기반으로 하더라도 PAM 모듈을 생성하는 것을 권장하지 않지만 적어도 혼란을 일으키지는 않을 것입니다. 기본 시스템 유틸리티를 사용하여 처음부터 자신만의 논리를 추가하려고 합니다.

게다가 다음과 같이시옹 링펑루트 액세스 권한을 얻는 다른 방법도 많이 있다는 점을 지적하세요.

답변2

sudo와 su가 루트 권한을 얻는 유일한 방법은 아닙니다. PAM을 사용해 보세요. 나는 이것이 바이너리를 패치하는 것보다 더 낫다고 믿습니다.

관련 정보