![vsftpd가 CentOS 사용자 홈 디렉터리를 NGINX 서버 블록 루트로 설정하는 것이 안전합니까?](https://linux55.com/image/33837/vsftpd%EA%B0%80%20CentOS%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%ED%99%88%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A5%BC%20NGINX%20%EC%84%9C%EB%B2%84%20%EB%B8%94%EB%A1%9D%20%EB%A3%A8%ED%8A%B8%EB%A1%9C%20%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94%20%EA%B2%83%EC%9D%B4%20%EC%95%88%EC%A0%84%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
이것이 내가 한 일입니다:
- CentOS 6.2 서버
- nginx가 설치됨
- vsftpd 설치
- vsftpd.conf에서 나는 설정했습니다.
chroot_local_user=YES
- 새로운 사용자 "bleh"를 만들었습니다.
- 디렉터리 생성
/home/bleh/public_html/
- virtual.conf에서 나는 location/{ 루트를 다음으로 설정했습니다.
/home/bleh/public_html/
- 드디어 해냈다
chmod 755 /home/bleh/
이거 안전한가요? 이것이 허용됩니까?
루트로 사용하려고 하면 다양한 권한 문제가 발생했습니다 /var/www/
. 위의 작업이 완료되어 서버에서 데이터를 전달하는 중입니다.
답변1
이는 몇 가지 이유로 보안이 취약할 수 있습니다.
/var
또는/var/www
이 자체 파티션에 있는 경우 특별한 제한 사항이 적용되어 설치되었을 수 있습니다. 예를 들어,noexec
또는 옵션을 사용하여 설치 되었을 수 있습니다nosuid
./home
이러한 제한이 없을 수도 있습니다.대부분의 경우 웹 사이트가 호스팅되는 디렉토리는 누구나 읽을 수 있어서는 안 됩니다. 일반적으로 콘텐츠의 소유자와 그룹만 읽을 수 있도록 설정해야 합니다. 웹 서버는 이러한 파일을 읽을 수 있는 사용자로 실행되어야 합니다.
서버 데이터와 사용자 데이터를 혼합하면 의도하지 않은 중요한 데이터 호스팅이 발생할 수 있습니다. 예를 들어 실수로 사용자
blah
의 데이터를 호스팅할 수 있습니다.