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


19
ls -l /etc/passwd

준다

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

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

답변:


49

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


3
실제로는 역사적으로 암호가 / etc / passwd에 유지되지 않았지만 이것은 무차별 대입 방식을 간단하게 만들었으므로 현대 시스템은 pam_unix와 유사한 / etc / shadon을 사용합니다.
symcbean

4
현대 리눅스 는을 사용합니다 /etc/shadow. BSD는을 사용 /etc/master.passwd합니다. Solaris는을 사용합니다 /etc/security/passwd. HP-UX는 사용 /.secure/etc/passwd하고 목록은 계속됩니다.
Chris S

16

일반적으로 해시 된 비밀번호는 /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시스템 의 프로그램 수를 크게 줄일 수 있습니다.


13

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


2
세계 가독성은 디자인 결정이며 필수는 아닙니다.
Ben Voigt

@Ben : 아무도 다른 사람의 파일을 식별 할 수 없다는 것이 합리적입니까? 요즘 NSS의 로컬 저장소이며 이름에도 불구하고 PAM은 아닙니다 .
geekosaur

1
권한이없는 사용자가 전체 사용자 목록을 열거하지 않고도 권한있는 서비스가 uid-> 이름 변환을 수행하는 것이 전적으로 가능합니다. 일부 OS는 해당 옵션을 선택합니다.
벤 Voigt

1
@joechip Current OS는 사용자를 서로 숨기도록 설계되지 않았습니다. 모든 사용자는 / etc / passwd보다 더 많은 방법으로 열거 될 수 있습니다. Linux의 경우 ls -la / home, MacOS X의 경우 ls -la / Users, Windows의 경우 디렉토리 C : \ Users 7, Unix 시스템의 경우 ps -afux 설계 선택 변경 Ben Voigt는 보안을 변경하지 않고 삶을 어렵게 만든다고 주장했습니다.
마술사

1
@Magicianeer-Windows 예제를 말하는 것이 옳지 않습니다. 다른 방법으로 사용자를 가져올 수 있지만 C : \ users 폴더를 보면 로그인 한 사용자 만 나열됩니다. 시스템 사용자가 아닙니다.
burnt_hand

6

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

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

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

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

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