일반 사용자는 / etc / passwd를 읽을 수 있습니다. 이것이 보안상의 허점입니까?

ls -l /etc/passwd

준다

$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1862 2011-06-15 21:59 /etc/passwd

일반 사용자는 파일을 읽을 수 있습니다. 이것이 보안 허점입니까?



답변

실제 비밀번호 해시는 /etc/shadow일반 사용자가 읽을 수없는에 저장됩니다 . /etc/passwd시스템이 작동하려면 모든 사용자가 읽을 수있는 사용자 ID 및 쉘에 대한 기타 정보를 보유합니다.


답변

일반적으로 해시 된 비밀번호는 /etc/shadow대부분의 Linux 시스템에 저장 됩니다.

-rw-r----- 1 root shadow 1349 2011-07-03 03:54 /etc/shadow

( BSD 시스템/etc/master.passwd 에 저장되어 있습니다 .)

인증을 수행해야하는 프로그램은 여전히 root권한 으로 실행해야합니다 .

-rwsr-xr-x 1 root root 42792 2011-02-14 14:13 /usr/bin/passwd

setuid root시스템의 모든 해시 된 비밀번호를 포함 하는 프로그램과 하나의 단일 파일 을 싫어하는 경우 Openwall TCB PAM 모듈로 바꿀 수 있습니다 . 이것은 모든 단일 사용자에게 해시 된 암호를 저장하기위한 자체 파일을 제공 하므로 결과적으로 setuid root시스템 의 프로그램 수를 크게 줄일 수 있습니다.


답변

암호는 /etc/passwd몇 년 동안 저장되지 않았습니다 . 이름은 레거시이며 로컬 사용자 데이터베이스 기능은 그대로 유지되며 해당 목적을 위해 모든 사람이 읽을 수 있어야합니다 .


답변

어느 정도까지는 사용자를 식별 할 수 있습니다. 과거에는 비밀번호를 선택할 수도있었습니다. 그러나 실제로 크래킹 할 가치가있는 사용자 ID는root 있는 는 비밀번호 파일없이 잘 알려져 있습니다.

암호 파일 세계를 읽을 수있게하는 유틸리티는 일반적으로 위험보다 훨씬 큽니다. 세계가 읽을 수 없었더라도 기능적getent passwd 명령은 보안 이득을 무효화합니다.

루트가 아닌 사용자가 다른 사용자가 소유 한 파일을 식별하는 기능은 사라집니다. 소유 (passwd 파일의 사용자) 및 소유되지 않은 파일 (passwd 파일에없는 사용자)을 식별 할 수 있으면 파일 시스템의 내용을 검토하는 데 유용 할 수 있습니다. 적절한 setuid프로그램 으로이 문제를 해결할 수는 있지만 해당 프로그램을 통해 엄청난 공격 경로가 추가됩니다.

결국 그것은 균형의 문제이며,이 경우 균형이 암호 세계를 읽을 수있게하는 데 있다고 말합니다.