Najważniejsze wskazówki dotyczące serwera WWW: struktura katalogów i bezpieczeństwo

15

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.

JPrescottSanders
źródło
Znalazłem tę odpowiedź na serverfault.com i uznałem ją za bardzo przydatną. Wiele komentarzy jest świetną ciekawostką na ten temat.
MystaMax,

Odpowiedzi:

5

To, co zrobiłem na moim serwerze, aby mój użytkownik mógł od razu sftpować rzeczy, /var/wwwto:

sudo chgrp -R www-data /var/www
sudo usermod -aG www-data $(whoami)
sudo chmod -R 775 /var/www/*
sudo chmod 2775 /var/www

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.

maco
źródło
Byłaby to dobra metoda, ale tylko jeśli utworzysz inną grupę, z www-dataktó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/wwwmogą zostać zmienione. Po prostu zmień www-datana coś takiego web-users(i najpierw stwórz tę grupę sudo addgroup web-users).
Kees Cook
2

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 .

txwikinger
źródło
Doceniam te informacje, zdaję sobie sprawę, że są one ogólne, miałem nadzieję, że może być ogólne podejście do najlepszych praktyk dotyczących konfigurowania.
JPrescottSanders,
0

Kiedy mam tylko serwer Ubuntu, a wielu użytkowników używa go jako serwera WWW, usuwam /var/wwwkatalog, ponieważ dla mnie - /var/wwwto miejsce, w którym umieszczasz pliki internetowe na całym świecie. Aktualizuję /etc/skelkatalog, dodam folder publici privatez dowiązaniem symbolicznym www -> publici aktualizuję wszystkie moje wirtualne hosty DocumentRoots, aby wskazywały /home/<user>/public.

Nie widzę /var/wwwtu 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.

Marco Ceppi
źródło