chroot
이 옵션을 사용하여 FTP 서버를 구성하면( vsftpd
실행조차 되지 않음) 인터넷상의 사람들은 쓰기 가능한 FTP 루트를 갖는 것이 얼마나 안전하지 않은지 소리칠 것입니다.
왜 나쁜지에 대한 설명이 누락되었나요?
누군가 이 주제를 더 확장하고 위험이 무엇인지, chroot 디렉토리에 쓸 수 있는 방법을 설명할 수 있습니까?권한이 없는 사용자악용될 수 있나요?
답변1
이 공격은 구어체로 "Howling Beast" 공격으로 알려져 있으며, 다음 권고에서 이에 대한 자세한 내용을 읽을 수 있습니다.
이 기능을 사용하려면 chroot(2)
FTP 서버가~ 해야 하다루트 권한이 있습니다. 그런 다음 권한이 없는 클라이언트는 /etc
chroot 서버 프로세스 내에서(또는) 생성될 파일을 요청합니다. /lib
이러한 디렉터리에는 일반적으로 동적으로 로드된 라이브러리와 DNS 확인자, 사용자/그룹 이름 검색,등.클라이언트가 생성한 파일은 다음과 같습니다.아니요내부에진짜 /etc/
그리고 /lib
시스템의 디렉토리 -하지만 이내에, chroot
이 클라이언트에서 생성된 파일그건 진실이야.
따라서 악의적인 클라이언트는 프로세스를 chroot하는 FTP 서버에 연결하고 해당 chroot 내에 필요한 디렉터리/ /lib
파일을 생성 /etc
하고 일부 동적 라이브러리의 악의적인 복사본을 업로드한 다음 서버에 특정 작업을 수행하도록 요청하여 사용을 시작합니다. 새로운 동적 라이브러리(일반적으로 사용자/그룹 검색 등을 위한 시스템 기능을 사용하는 디렉토리 목록). 서버 프로세스는 악성 라이브러리를 실행하고,그리고왜냐하면 서버가여전히 루트 액세스 권한이 있을 수 있음, 악성 라이브러리 코드는 원하는 모든 작업을 수행하기 위해 추가 액세스 권한을 가질 수 있습니다.
/etc
그렇지 /lib
않으므로 주의해 주십시오오직디렉토리를 살펴보십시오. 문제는 시스템 라이브러리가 파일 위치에 대해 가정하는 것에 관한 것입니다. 따라서 다양한 플랫폼에는 보호할 추가 디렉터리가 있을 수 있습니다.
/etc/
예를 들어, ProFTPD는 이제 그러한 디렉토리 생성을 금지합니다./lib
루트할 때, 이러한 공격을 완화합니다.