Catatan Khusus untuk Unduh di SElinux

Catatan untuk pengguna SELinux

Untuk menginstal pada distro Fedora berbasis (RHEL, CentOS, dll) ada dua pilihan utama:

  1. Menginstal dari repositori melalui perintah yum install drupal.
  2. Menginstal sendiri.

Petunjuk instalasi akan bervariasi sedikit tergantung pada pilihan Anda, seperti yang akan versi yang Anda berakhir dengan dalam beberapa kasus.

Agar sesuai dengan pedoman FHS pada komponen sistem arsitektur independen (http://www.pathname.com/fhs/pub/fhs-2.3.html # THEUSRHIERARCHY) vs transient penempatan data (http://www.pathname.com/fhs / pub/fhs-2.3.html # THEVARHIERARCHY) dan untuk menegakkan Fedora-ish sistem segregasi Fedora dan turunannya menempatkan bagian kode sistem seperti Drupal dan Wikimedia di / usr / share dan elemen data (seperti file / dan gambar /) di / var / www. Bagian ini terikat bersama-sama melalui serangkaian symlink, sebagai konsep pengembangan asli belakang Drupal dan sistem lain seperti tidak mengambil FHS memperhitungkan (ada kesenjangan generasi / budaya yang cukup besar antara pengembang inti Unix dan pengembang web - dan embedding kode untuk sejauh ini dalam apa yang digunakan untuk menjadi public file data (file html. menjadi php file dan. benar-benar melewati cgi-bin) tidak pernah memikirkan ketika FHS pada awalnya dipahami). Hal ini dapat membingungkan bagi pendatang baru.

Dalam kedua kasus, penempatan kode Drupal (semua file php.) Dalam filesystem tidak relevan dengan fungsi SELinux. Daemon Apache, httpd, memiliki kelompok konteks dalam struktur kebijakan SELinux Fedora. Setiap file atau direktori yang Apache perlu berinteraksi dengan harus ditempatkan dalam konteks jenis * httpd_. Yum akan menangani hal ini untuk Anda jika Anda melakukan instalasi drupal yum install dan kekakuan dari / var / www hirarki filesystem akan melakukannya untuk Anda jika Anda membongkar langsung ke sub-direktori di sana. Namun, instalasi kasus luar ini di mana SELinux diatur untuk menegakkan tetapi kebijakan default SELinux yang baik terlalu terbelakang (Ubuntu, misalnya) atau nonexistant (Slackware / LFS + SELinux - ya, beberapa orang melakukan hal ini) harus membuat perubahan pada mereka sendiri:
chcon-R-t httpd_sys_content_t / path / to / drupal / files

Daerah lain di mana SELinux bisa perjalanan satu up izin kebijakan dasar untuk memungkinkan Apache untuk melakukan hal-hal seperti email kirim (untuk mencegah sistem dikompromikan dari menjadi proksi spam generator - masalah yang jauh lebih umum daripada administrator baru yang paling Ubuntu tampaknya menyadari) , membuat panggilan di seluruh soket jaringan untuk server database (cara yang mengagumkan untuk memotong perlindungan password dan mencuri data pengguna dari sebuah situs), atau langsung mengubah file atas nama script (entri ke dua yang pertama).

Untuk mengaktifkan ini daftar kecil namun kemampuan menjaga sistem Anda jika tidak dikurung dengan kebijakan SELinux diatur ke "menegakkan" menjalankan tiga perintah berikut:

# Setsebool-P httpd_can_network_connect_db = 1
# Setsebool-P httpd_can_sendmail = 1
# Setsebool-P httpd_unified = 1

Sayangnya, dalam terburu-buru bersemangat untuk mendapatkan sesuatu dengan cepat, kebanyakan orang yang memilih untuk meningkatkan keamanan SELinux yang dengan memilih distro berbasis Fedora  biasanya melemparkan semua keuntungan mereka pada tanda pertama dari konflik SELinux SELinux dengan memutar off bukannya menggali lebih lanjut ( karena belajar 4 atribut keamanan file lebih sulit - dan diakui, SELinux jarang dijelaskan sehingga hanya dalam sumber daya yang tersedia).

Di luar pemberian ijin Apache untuk melakukan hal-hal Drupal perlu bekerja dengan benar (tiga perintah setsebool) dan kemudian memberitahu SELinux mana izin ini harus menerapkan (perintah chcon atas), proses instalasi tidak berbeda dari setiap sistem lainnya. Hal ini berguna untuk diingat jika Anda mengalami instalasi FHS-compliant mana / var / www / html / drupalxx sebagian besar kosong tapi untuk beberapa symlink dan folder data (seperti config /) bahwa semua kode berakhir di / usr / berbagi dan konseptual tidak ada yang benar-benar berubah.
tl; dr referensi: http://zxq9.com/archives/442

 

">Honeypot