추가 복잡성 문제: 기존의 단일 suid 바이너리 대신 루트로 실행되는 바이너리와 UNIX 소켓을 사용하는 두 개의 바이너리가 필요해짐. 이는 비대칭 암호화 작업을 포함하여 복잡성을 증가시킴.
시스템 보안: sudo 바이너리를 특정 그룹(wheel)으로 제한하고 권한을 조정하면, sshd 접근 방식과 유사한 보안 수준을 유지할 수 있음. 시스템 패키지 관리자가 sudo 권한을 망칠 경우, cron을 사용해 주기적으로 수정하거나 sudo를 직접 소스에서 설치하는 방법도 있음.
systemd의 run0: systemd의 "run0" 도구는 sudo와 유사하게 작동하지만 SUID가 아님. 대신 서비스 관리자가 명령을 실행하도록 요청함. 이는 ssh와 더 유사한 동작을 보임.
ssh와 sudo 비교: ssh를 통해 루트로 로그인하는 것이 sudo보다 더 안전한지 의문. sshd의 원격 사용자 접근을 막는 방법에 대한 논의가 필요함. sudo의 제한 사항과 비교했을 때, ssh 접근 방식이 더 취약할 수 있음.
네트워크 서비스 문제: ssh가 부팅 시 시작되지 않으면 콘솔 로그인도 불가능해짐. 이는 sudo나 su보다 더 많은 문제를 야기할 수 있음.
systemd run0와 유사한 접근: systemd의 run0 도구와 유사한 접근 방식이 있음.
sudo의 세부 제어: sudo는 명령어와 인수, 하위 셸 생성 등을 세부적으로 제어할 수 있음. 새로운 접근 방식은 이러한 세부 제어를 잃게 되며, 신뢰할 수 있는 키 관리가 더 어려움.
SSH 콘솔 설정: 전용 SSH 콘솔을 사용해 루트 접근을 관리하는 방법. Yubikey와 방화벽 설정을 통해 보안을 강화함.
SSH 프로토콜의 한계: SSH는 프로세스 생성이 프로토콜의 일부가 아니며, 로컬 리소스를 자식 프로세스로 전달할 수 없음. sudo 대체로 사용하려면 POSIX 스폰과 유사한 확장이 필요함.
사용자 관리: 사용자를 어린아이처럼 대하지 않고, 합리적인 기본값을 설정해 잠재적인 문제를 피하는 것이 중요함. 루트 접근이 필요하면 콘솔을 통해 로그인하는 것이 바람직함.
단일 사용자 모드 문제: 단일 사용자 모드에서 루트로 로그인할 수 없으면 시스템 복구가 어려워짐. 이는 시스템 업그레이드 중 발생할 수 있는 문제를 해결하는 데 필요함.
Hacker News 의견
추가 복잡성 문제: 기존의 단일 suid 바이너리 대신 루트로 실행되는 바이너리와 UNIX 소켓을 사용하는 두 개의 바이너리가 필요해짐. 이는 비대칭 암호화 작업을 포함하여 복잡성을 증가시킴.
시스템 보안: sudo 바이너리를 특정 그룹(wheel)으로 제한하고 권한을 조정하면, sshd 접근 방식과 유사한 보안 수준을 유지할 수 있음. 시스템 패키지 관리자가 sudo 권한을 망칠 경우, cron을 사용해 주기적으로 수정하거나 sudo를 직접 소스에서 설치하는 방법도 있음.
systemd의 run0: systemd의 "run0" 도구는 sudo와 유사하게 작동하지만 SUID가 아님. 대신 서비스 관리자가 명령을 실행하도록 요청함. 이는 ssh와 더 유사한 동작을 보임.
ssh와 sudo 비교: ssh를 통해 루트로 로그인하는 것이 sudo보다 더 안전한지 의문. sshd의 원격 사용자 접근을 막는 방법에 대한 논의가 필요함. sudo의 제한 사항과 비교했을 때, ssh 접근 방식이 더 취약할 수 있음.
네트워크 서비스 문제: ssh가 부팅 시 시작되지 않으면 콘솔 로그인도 불가능해짐. 이는 sudo나 su보다 더 많은 문제를 야기할 수 있음.
systemd run0와 유사한 접근: systemd의 run0 도구와 유사한 접근 방식이 있음.
sudo의 세부 제어: sudo는 명령어와 인수, 하위 셸 생성 등을 세부적으로 제어할 수 있음. 새로운 접근 방식은 이러한 세부 제어를 잃게 되며, 신뢰할 수 있는 키 관리가 더 어려움.
SSH 콘솔 설정: 전용 SSH 콘솔을 사용해 루트 접근을 관리하는 방법. Yubikey와 방화벽 설정을 통해 보안을 강화함.
SSH 프로토콜의 한계: SSH는 프로세스 생성이 프로토콜의 일부가 아니며, 로컬 리소스를 자식 프로세스로 전달할 수 없음. sudo 대체로 사용하려면 POSIX 스폰과 유사한 확장이 필요함.
사용자 관리: 사용자를 어린아이처럼 대하지 않고, 합리적인 기본값을 설정해 잠재적인 문제를 피하는 것이 중요함. 루트 접근이 필요하면 콘솔을 통해 로그인하는 것이 바람직함.
단일 사용자 모드 문제: 단일 사용자 모드에서 루트로 로그인할 수 없으면 시스템 복구가 어려워짐. 이는 시스템 업그레이드 중 발생할 수 있는 문제를 해결하는 데 필요함.