Chciałbym wykorzystać serwer Ubuntu jako serwer WWW, ale chcę się upewnić, że postępuję zgodnie z najlepszymi praktykami dotyczącymi konfiguracji. Chcę upewnić się, że ustawiłem katalog w najlepszej lokalizacji i rozumiem, jak skonfigurować odpowiednie zabezpieczenia w tym folderze. Chciałbym móc przesyłać FTP na serwer i wypychać pliki do folderów internetowych, więc chciałbym zrozumieć, w jaki sposób zapewnić, że mój użytkownik PureFTPd może manipulować plikami / katalogami w folderach internetowych.
filesystem
security
server
websites
JPrescottSanders
źródło
źródło
Odpowiedzi:
To, co zrobiłem na moim serwerze, aby mój użytkownik mógł od razu sftpować rzeczy,
/var/www
to:Spowoduje to umieszczenie użytkownika w grupie, która ma własność grupy na / var / www i wszystkich jego katalogach potomnych, ustawi rekurencyjnie wszystko w / var / www, aby umożliwić twojemu grupowemu dostępowi do zapisu, i ustawi bit setgid w katalogu / var / www dzięki czemu wszystkie pliki utworzone później w / var / www zachowują tę samą własność grupy, a nie ustawiają grupy na grupę podstawową twórcy.
źródło
www-data
której jest grupa, pod którą działa już sam serwer WWW. W rezultacie każdy kompromis skryptów serwera WWW oznacza, że pliki poniżej/var/www
mogą zostać zmienione. Po prostu zmieńwww-data
na coś takiegoweb-users
(i najpierw stwórz tę grupęsudo addgroup web-users
).To bardzo ogólne pytanie.
Oczywiście nie chcesz uruchamiać serwera WWW jako root. Jednak instalacja Ubuntu robi to już we właściwy sposób.
Ponadto na stronie internetowej Apache znajduje się kilka wskazówek, jak poprawnie skonfigurować katalog .
W odniesieniu do ftp. Chcesz się upewnić, że używasz bezpiecznego serwera ftp, który nie wysyła twoich nazw użytkowników i haseł zwykłym tekstem przez sieć. Na stronach pomocy Ubuntu znajduje się samouczek, jak skonfigurować taki serwer ftp .
źródło
Kiedy mam tylko serwer Ubuntu, a wielu użytkowników używa go jako serwera WWW, usuwam
/var/www
katalog, ponieważ dla mnie -/var/www
to miejsce, w którym umieszczasz pliki internetowe na całym świecie. Aktualizuję/etc/skel
katalog, dodam folderpublic
iprivate
z dowiązaniem symbolicznymwww -> public
i aktualizuję wszystkie moje wirtualne hosty DocumentRoots, aby wskazywały/home/<user>/public
.Nie widzę
/var/www
tu miejsca na umieszczenie wielu folderów i plików na poziomie użytkownika. Do tego/home/
przeznaczony jest katalog! Utrzymuje ścieżki i struktury katalogów w czystości.źródło