RHCSA Series Menginstal, Mengkonfigurasi, dan Mengamankan Web dan Server FTP - Bagian 9

RHCSA Series Menginstal, Mengkonfigurasi, dan Mengamankan Web dan Server FTP - Bagian 9

Server web (juga dikenal sebagai a Http server) adalah layanan yang menangani konten (paling sering halaman web, tetapi jenis dokumen lainnya juga) ke klien di jaringan.

Server FTP adalah salah satu sumber daya tertua dan paling umum digunakan (bahkan hingga hari ini) untuk membuat file tersedia untuk klien di jaringan dalam kasus di mana tidak ada otentikasi yang diperlukan karena penggunaan FTP nama belakang Dan kata sandi tanpa enkripsi.

Server web tersedia di RHEL 7 adalah versi 2.4 dari server http apache. Sedangkan untuk server FTP, kami akan menggunakan daemon ftp yang sangat aman (alias vsftpd) Untuk membuat koneksi yang diamankan oleh TLS.

RHCSA: Menginstal, Mengkonfigurasi, dan Mengamankan Apache dan FTP - Bagian 9

Di artikel ini kami akan menjelaskan cara menginstal, mengkonfigurasi, dan mengamankan server web dan server FTP di RHEL 7.

Menginstal server Apache dan FTP

Dalam panduan ini kami akan menggunakan server RHEL 7 dengan alamat IP statis 192.168.0.18/24. Untuk menginstal Apache dan VSFTPD, jalankan perintah berikut:

# yum update && yum instal httpd vsftpd 

Ketika instalasi selesai, kedua layanan akan dinonaktifkan pada awalnya, jadi kita perlu memulainya secara manual untuk saat ini dan memungkinkan mereka untuk memulai secara otomatis dengan boot berikutnya:

# Systemctl Mulai httpd # systemctl Aktifkan httpd # systemctl start vsftpd # systemctl Aktifkan vsftpd 

Selain itu, kita harus membuka port 80 Dan 21, Di mana Daemon Web dan FTP mendengarkan, masing -masing, untuk memungkinkan akses ke layanan tersebut dari luar:

# firewall-cmd --zone = public --add-port = 80/tcp --permanent # firewall-cmd --zone = public --add-service = ftp --permanent # firewall-cmd --road 

Untuk mengonfirmasi bahwa server web berfungsi dengan baik, nyalakan browser Anda dan masukkan IP server. Anda harus melihat halaman tes:

Konfirmasi Server Web Apache

Adapun server FTP, kita harus mengkonfigurasinya lebih lanjut, yang akan kita lakukan dalam satu menit, sebelum mengkonfirmasi bahwa itu berfungsi seperti yang diharapkan.

Mengkonfigurasi dan Mengamankan Server Web Apache

File konfigurasi utama untuk Apache berlokasi di /etc/httpd/conf/httpd.conf, tetapi mungkin mengandalkan file lain yang ada di dalam /etc/httpd/conf.D.

Meskipun konfigurasi default harus cukup untuk kebanyakan kasus, merupakan ide yang baik untuk menjadi terbiasa dengan semua opsi yang tersedia seperti yang dijelaskan dalam dokumentasi resmi.

Seperti biasa, buat salinan cadangan dari file konfigurasi utama sebelum mengeditnya:

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

Kemudian buka dengan editor teks pilihan Anda dan cari variabel berikut:

  1. Serverroot: Direktori tempat konfigurasi, kesalahan, dan file log server disimpan.
  2. Mendengarkan: menginstruksikan Apache untuk mendengarkan alamat IP dan / atau port tertentu.
  3. Termasuk: memungkinkan dimasukkannya file konfigurasi lainnya, yang harus ada. Jika tidak, server akan gagal, sebagai lawan dari Intertanceopsional Directive, yang secara diam -diam diabaikan jika file konfigurasi yang ditentukan tidak ada.
  4. Pengguna dan Grup: Nama pengguna/grup untuk menjalankan layanan httpd sebagai.
  5. Root document: Direktori dari mana Apache akan melayani dokumen Anda. Secara default, semua permintaan diambil dari direktori ini, tetapi tautan simbolik dan alias dapat digunakan untuk menunjuk ke lokasi lain.
  6. Nama server: Petunjuk ini menetapkan nama host (atau alamat IP) dan port yang digunakan server untuk mengidentifikasi dirinya sendiri.

Ukuran keamanan pertama akan terdiri dari menciptakan pengguna dan grup yang berdedikasi (i.e. tecmint/tecmint) untuk menjalankan server web sebagai dan mengubah port default ke yang lebih tinggi (9000 pada kasus ini):

ServerRoot "/etc/httpd" Dengarkan 192.168.0.18: 9000 Pengguna Tecmint Group Tecmint DocumentRoot "/var/www/html" Servername 192.168.0.18: 9000 

Anda dapat menguji file konfigurasi dengan.

# Apachectl ConfigTest 

dan jika semuanya OKE, Kemudian restart server web.

# Systemctl restart httpd 

Dan jangan lupa untuk mengaktifkan port baru (dan menonaktifkan yang lama) di firewall:

# firewall-cmd --zone = public ---bemove-port = 80/tcp --permanent # firewall-cmd --zone = public --add-port = 9000/tcp --permanent # firewall-cmd --road 

Perhatikan bahwa, karena Selinux kebijakan, Anda hanya dapat menggunakan port yang dikembalikan oleh

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

untuk server web.

Jika Anda ingin menggunakan port lain (saya.e. Port TCP 8100), Anda harus menambahkannya ke Selinux konteks port untuk httpd melayani:

# Sarganage Port -a -t http_port_t -p TCP 8100 
Tambahkan Port Apache ke Kebijakan Selinux

Untuk lebih mengamankan instalasi Apache Anda, ikuti langkah -langkah ini:

1. Pengguna Apache berjalan karena seharusnya tidak memiliki akses ke shell:

# USERMOD -S /SBIN /NOLOGIN TECMINT 

2. Nonaktifkan daftar direktori untuk mencegah browser menampilkan konten direktori jika tidak ada indeks.html hadir di direktori itu.

Edit /etc/httpd/conf/httpd.conf (dan file konfigurasi untuk host virtual, jika ada) dan pastikan bahwa Pilihan Petunjuk, baik di level blok direktori dan di atas, diatur ke Tidak ada:

Opsi tidak ada 

3. Sembunyikan informasi tentang server web dan sistem operasi di respons http. Edit /etc/httpd/conf/httpd.conf sebagai berikut:

Servertokens Prod ServerSignature Off 

Sekarang Anda siap untuk mulai melayani konten dari Anda /var/www/html direktori.

Mengkonfigurasi dan Mengamankan Server FTP

Seperti dalam kasus Apache, file konfigurasi utama untuk Vsftpd (/etc/vsftpd/vsftpd.conf) dikomentari dengan baik dan sementara konfigurasi default sudah cukup untuk sebagian besar aplikasi, Anda harus berkenalan dengan dokumentasi dan halaman pria (Man vsftpd.conf) Untuk mengoperasikan server FTP lebih efisien (saya tidak bisa cukup menekankan hal itu!).

Dalam kasus kami, ini adalah arahan yang digunakan:

anonymous_enable = tidak local_enable = ya write_enable = yes local_umask = 022 dirmessage_enable = ya xferlog_enable = ya connect_from_port_20 = ya xferlog_std_format = yes chroot_local_user = yes owritableg_chroot = no -listen = no -lING = noPer = noPer = noPer = noPFERP = YA YADLOG_CHRITEBLOG_CHROOT = nOPFOR = nOPFOR = noPFOR = nOPFOR = nOPROCPERPERPERPERPERPEREF6 = YAKROCOR = YAKROCOR = YAKROCOR = YAKROCOR = YAKROCOR = yes = no -ne -ne 

Dengan menggunakan chroot_local_user = ya, Pengguna lokal akan (secara default) ditempatkan di penjara chroot di direktori rumah mereka tepat setelah login. Ini berarti bahwa pengguna lokal tidak akan dapat mengakses file apa pun di luar direktori home yang sesuai.

Akhirnya, untuk mengizinkan FTP membaca file di direktori home pengguna, mengatur yang berikut Selinux Boolean:

# setSebool -p ftp_home_dir on 

Anda sekarang dapat terhubung ke server FTP menggunakan klien seperti FileZilla:

Periksa koneksi FTP

Perhatikan bahwa /var/log/xferlog Log Records Unduhan dan Unggah, yang setuju dengan daftar direktori di atas:

Monitor FTP Unduh dan Unggah

Baca juga: Batasi bandwidth jaringan FTP yang digunakan oleh aplikasi dalam sistem Linux dengan tetesan

Ringkasan

Dalam tutorial ini kami telah menjelaskan cara mengatur web dan server FTP. Karena luasnya subjek, tidak mungkin untuk mencakup semua aspek topik ini (i.e. host web virtual). Jadi, saya sarankan Anda juga memeriksa artikel bagus lainnya di situs web ini tentang Apache.