Siri RHCSA Memasang, Mengkonfigurasi dan Mengamankan Pelayan Web dan FTP - Bahagian 9

Siri RHCSA Memasang, Mengkonfigurasi dan Mengamankan Pelayan Web dan FTP - Bahagian 9

Pelayan web (juga dikenali sebagai a Http pelayan) adalah perkhidmatan yang mengendalikan kandungan (laman web yang paling biasa, tetapi juga jenis dokumen lain) ke pelanggan dalam rangkaian.

Pelayan FTP adalah salah satu sumber tertua dan paling biasa digunakan (hingga ke hari ini) untuk membuat fail tersedia untuk pelanggan di rangkaian dalam kes -kes di mana tiada pengesahan diperlukan kerana FTP menggunakan nama pengguna dan kata laluan tanpa penyulitan.

Pelayan web yang terdapat di RHEL 7 adalah versi 2.4 pelayan http Apache. Bagi pelayan FTP, kami akan menggunakan daemon FTP yang sangat selamat (aka vsftpd) untuk mewujudkan sambungan yang dijamin oleh TLS.

RHCSA: Memasang, Mengkonfigurasi dan Mengamankan Apache dan FTP - Bahagian 9

Dalam artikel ini, kami akan menerangkan cara memasang, mengkonfigurasi, dan mengamankan pelayan web dan pelayan FTP di RHEL 7.

Memasang pelayan Apache dan FTP

Dalam panduan ini, kami akan menggunakan pelayan Rhel 7 dengan alamat IP statik 192.168.0.18/24. Untuk memasang Apache dan VSFTPD, jalankan arahan berikut:

# yum kemas kini && yum pasang httpd vsftpd 

Apabila pemasangan selesai, kedua -dua perkhidmatan akan dilumpuhkan pada mulanya, jadi kita perlu memulakannya secara manual pada masa ini dan membolehkan mereka memulakan secara automatik bermula dengan boot seterusnya:

# Systemctl Mula Httpd # Systemctl Dayakan Httpd # Systemctl Mula Vsftpd # Systemctl Dayakan Vsftpd 

Di samping itu, kita perlu membuka pelabuhan 80 dan 21, Di mana daemon web dan FTP mendengarkan, masing -masing, untuk membolehkan akses kepada perkhidmatan tersebut dari luar:

# firewall-cmd --Zone = public --add-port = 80/tcp --ParManent # firewall-cmd --zone = public --add-service = ftp --permanent # firewall-cmd--reload 

Untuk mengesahkan bahawa pelayan web berfungsi dengan betul, api penyemak imbas anda dan masukkan IP pelayan. Anda mesti melihat halaman ujian:

Sahkan pelayan web Apache

Bagi pelayan FTP, kita perlu mengkonfigurasi lebih jauh, yang akan kita lakukan dalam satu minit, sebelum mengesahkan bahawa ia berfungsi seperti yang diharapkan.

Mengkonfigurasi dan menjamin pelayan web Apache

Fail konfigurasi utama untuk Apache terletak di /etc/httpd/conf/httpd.Conf, Tetapi ia mungkin bergantung pada fail lain yang terdapat di dalamnya /etc/httpd/conf.d.

Walaupun konfigurasi lalai sepatutnya mencukupi untuk kebanyakan kes, adalah idea yang baik untuk menjadi biasa dengan semua pilihan yang tersedia seperti yang diterangkan dalam dokumentasi rasmi.

Seperti biasa, buat salinan sandaran fail konfigurasi utama sebelum mengeditnya:

# cp/etc/httpd/conf/httpd.conf/etc/httpd/conf/httpd.Conf.$ (tarikh +%y%m%d) 

Kemudian buka dengan editor teks pilihan anda dan cari pembolehubah berikut:

  1. ServerRoot: direktori di mana fail konfigurasi, ralat, dan log pelayan disimpan.
  2. Dengarkan: Mengarahkan Apache untuk mendengar alamat IP dan / atau pelabuhan tertentu.
  3. Termasuk: membolehkan kemasukan fail konfigurasi lain, yang mesti wujud. Jika tidak, pelayan akan gagal, berbanding dengan arahan termasuk optimum, yang diabaikan secara senyap -senyap jika fail konfigurasi yang ditentukan tidak wujud.
  4. Pengguna dan kumpulan: nama pengguna/kumpulan untuk menjalankan perkhidmatan HTTPD sebagai.
  5. Documentroot: Direktori yang mana Apache akan menyampaikan dokumen anda. Secara lalai, semua permintaan diambil dari direktori ini, tetapi pautan simbolik dan alias boleh digunakan untuk menunjuk ke lokasi lain.
  6. Nama pelayan: Arahan ini menetapkan nama hos (atau alamat IP) dan port yang digunakan oleh pelayan untuk mengenal pasti dirinya sendiri.

Langkah keselamatan pertama akan terdiri daripada mewujudkan pengguna dan kumpulan yang berdedikasi (i.e. Tecmint/Tecmint) untuk menjalankan pelayan web sebagai dan menukar port lalai ke yang lebih tinggi (9000 dalam kes ini):

ServerRoot "/etc/httpd" Dengar 192.168.0.18: 9000 Pengguna Tecmint Group Tecmint Documentroot "/var/www/html" ServerName 192.168.0.18: 9000 

Anda boleh menguji fail konfigurasi dengan.

# apachectl configtest 

Dan jika semuanya okey, Kemudian mulakan semula pelayan web.

# Systemctl mulakan semula httpd 

Dan jangan lupa untuk membolehkan pelabuhan baru (dan nyahdayakan yang lama) di firewall:

# firewall-cmd --Zone = public--remove-port = 80/tcp --permanent # firewall-cmd --zone = public --add-port = 9000/tcp --permanent # firewall-cmd--reload 

Perhatikan bahawa, disebabkan Selinux dasar, anda hanya boleh menggunakan port yang dikembalikan

# port semanage -l | grep -w '^http_port_t' 

untuk pelayan web.

Sekiranya anda ingin menggunakan port lain (i.e. Port TCP 8100), anda perlu menambahkannya Selinux konteks pelabuhan untuk httpd perkhidmatan:

# port semanage -a -t http_port_t -p tcp 8100 
Tambahkan port Apache ke dasar selinux

Untuk terus mengamankan pemasangan Apache anda, ikuti langkah -langkah ini:

1. Pengguna Apache sedang berjalan kerana tidak sepatutnya mempunyai akses ke shell:

# usermod -s /sbin /nologin tecmint 

2. Lumpuhkan penyenaraian direktori untuk mengelakkan penyemak imbas daripada memaparkan kandungan direktori jika tidak ada indeks.html hadir dalam direktori itu.

Edit /etc/httpd/conf/httpd.Conf (dan fail konfigurasi untuk tuan rumah maya, jika ada) dan pastikan bahawa Pilihan Arahan, baik di bahagian atas dan di tahap blok direktori, ditetapkan ke Tiada:

Pilihan tiada 

3. Sembunyikan maklumat mengenai pelayan web dan sistem operasi dalam respons HTTP. Edit /etc/httpd/conf/httpd.Conf seperti berikut:

Servertokens Prod Serversignature 

Sekarang anda sudah bersedia untuk memulakan kandungan dari anda /var/www/html direktori.

Mengkonfigurasi dan menjamin pelayan FTP

Seperti dalam hal Apache, fail konfigurasi utama untuk Vsftpd (/etc/vsftpd/vsftpd.conf) berkomentar dengan baik dan sementara konfigurasi lalai cukup untuk kebanyakan aplikasi, anda harus mengenali dokumentasi dan halaman lelaki (Man vsftpd.conf) Untuk mengendalikan pelayan FTP dengan lebih cekap (saya tidak dapat menekankannya cukup!).

Dalam kes kita, ini adalah arahan yang digunakan:

anonymous_enable = no local_enable = yes write_enable = yes local_umask = 022 dirmessage_enable = yes xferlog_enable = yes connect_from_port_20 = yes xferlog_std_format = ya chroot_local_user = yes allow_chroot = yesden_chroot = YA 

Dengan menggunakan chroot_local_user = ya, Pengguna tempatan akan (secara lalai) diletakkan di penjara chroot'ed di direktori rumah mereka selepas log masuk. Ini bermakna pengguna tempatan tidak akan dapat mengakses sebarang fail di luar direktori rumah mereka yang sepadan.

Akhirnya, untuk membolehkan FTP membaca fail di direktori rumah pengguna, tetapkan yang berikut Selinux Boolean:

# setsebool -p ftp_home_dir on 

Anda kini boleh menyambung ke pelayan FTP menggunakan klien seperti FileZilla:

Semak sambungan FTP

Perhatikan bahawa /var/log/xferlog Rekod log muat turun dan muat naik, yang bersetuju dengan penyenaraian direktori di atas:

Pantau muat turun dan muat naik FTP

Baca juga: Hadkan jalur lebar rangkaian FTP yang digunakan oleh aplikasi dalam sistem linux dengan meleleh

Ringkasan

Dalam tutorial ini, kami telah menerangkan cara menyediakan web dan pelayan FTP. Oleh kerana keluasan subjek, tidak mungkin untuk merangkumi semua aspek topik ini (i.e. Hos Web Maya). Oleh itu, saya cadangkan anda juga menyemak artikel yang sangat baik di laman web ini mengenai Apache.