Praktik Terbaik Server Web: Struktur Direktori & Keamanan

15

Saya ingin menggunakan server Ubuntu sebagai server web, tetapi saya ingin memastikan saya mengikuti praktik terbaik untuk mengatur segalanya. Saya ingin memastikan saya mengatur direktori di lokasi terbaik dan memahami cara mengkonfigurasi keamanan yang sesuai pada folder itu. Saya ingin dapat FTP ke server dan mendorong file ke folder web, jadi saya ingin memahami bagaimana memastikan bahwa pengguna PureFTPd saya dapat memanipulasi file / direktori dalam folder web.

JPrescottSanders
sumber
Saya menemukan jawaban ini di serverfault.com, dan ternyata sangat bermanfaat. Banyak komentar adalah berita bagus untuk berurusan dengan topik ini.
MystaMax

Jawaban:

5

Apa yang saya lakukan di server saya sehingga pengguna saya bisa langsung masuk ke hal-hal /var/wwwadalah:

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

Ini akan membuat pengguna Anda menjadi grup yang memiliki kepemilikan grup di / var / www dan semua direktori turunannya, mengatur semuanya di / var / www secara rekursif untuk memungkinkan akses tulis grup Anda, dan mengatur bit setgid pada direktori / var / www sehingga semua file yang nanti dibuat di bawah / var / www mempertahankan kepemilikan grup yang sama alih-alih mengatur grup ke grup utama pembuat.

maco
sumber
Ini akan menjadi metode yang baik, tetapi hanya jika Anda membuat grup berbeda dari www-datayang merupakan grup yang server webnya sudah berjalan di bawah. Akibatnya, segala kompromi dari skrip server web berarti file-file di bawah /var/wwwdapat diubah. Ubah saja www-datasesuatu seperti web-users(dan buat grup itu terlebih dahulu, dengan sudo addgroup web-users).
Kees Cook
2

Ini pertanyaan yang sangat umum.

Jelas, Anda tidak ingin menjalankan server web Anda sebagai root. Namun, instalasi Ubuntu sudah melakukannya dengan cara yang benar.

Lebih lanjut, di situs web apache ada beberapa tips cara mengkonfigurasi direktori Anda dengan benar .

Dalam hal ftp. Anda ingin memastikan Anda menggunakan server ftp aman yang tidak mengirim nama pengguna dan kata sandi Anda dalam teks biasa melalui jaringan. Halaman bantuan Ubuntu memiliki tutorial cara mengatur server ftp tersebut .

txwikinger
sumber
Saya menghargai informasinya, saya menyadari itu adalah umum, saya berharap mungkin ada yang agak umum mengambil praktik terbaik untuk mengatur segalanya.
JPrescottSanders
0

Ketika saya baru saja memiliki server Ubuntu, dengan beberapa pengguna menggunakan server sebagai server web saya memo /var/wwwdirektori karena bagi saya - /var/wwwadalah tempat Anda meletakkan file web secara global. Saya memperbarui /etc/skeldirektori dan menambahkan folder publicdan privatedengan symlink www -> publicdan memperbarui semua host virtual saya DocumentRoots untuk menunjuk/home/<user>/public .

Saya tidak melihat /var/wwwsebagai tempat untuk meletakkan beberapa folder dan file tingkat pengguna. Untuk itulah /home/direktori dirancang! Itu membuat jalur dan struktur direktori bersih.

Marco Ceppi
sumber