Saya ingin sekali meninggalkan SELinux berjalan di server karena dugaan peningkatan keamanan.
Saya biasanya menonaktifkan SELinux untuk membuat segala sesuatu bekerja.
Bagaimana saya memberi tahu SELinux untuk mengizinkan koneksi MySQL?
Yang paling banyak saya temukan dalam dokumentasi adalah baris ini dari mysql.com:
Jika Anda menjalankan Linux dan Linux-Enhanced Linux (SELinux) diaktifkan, pastikan Anda telah menonaktifkan perlindungan SELinux untuk proses mysqld.
wow ... itu sangat membantu.
getsebool -a | grep mysql
6. Langkah-langkah tepat yang telah Anda ambil untuk mereproduksi iniJawaban:
Untuk memeriksa SELinux
Untuk melihat flag apa saja yang diatur pada proses httpd
Untuk memungkinkan Apache terhubung ke basis data jauh melalui SELinux
Gunakan opsi -P membuat perubahan permanen. Tanpa opsi ini, boolean akan diatur ulang ke 0 saat reboot.
sumber
setsebool -P httpd_can_network_connect 1
mungkin juga dibutuhkan. Ini disarankan di log saya dengan menjalankanausearch -m avc -ts today | audit2why
seperti yang disarankan dalam komentar oleh vnix27.Apakah Anda mendapatkan kesalahan? Apa rasa linux yang Anda gunakan? Konteks keamanan adalah tempat yang baik untuk memulai jika Anda mendapatkan kesalahan. ls -Z akan memberikan konteks ... Tapi pertanyaan Anda sangat kabur.
sumber
Tampaknya mengkonfigurasi selinux bukanlah hal sepele. Anda mungkin ingin memulai di sini .
menempatkan selinux ke mode permisif, di mana memungkinkan apa pun kecuali mencatat apa yang diizinkan. A reboot atau
kembali untuk memblokir apa pun yang tidak diizinkan oleh kebijakan.
Lihatlah dokumen kebijakan selinux ini untuk mySQL di Fedora .
sumber
Apakah Anda yakin itu selinux? Koneksi normal dari luar harus diizinkan oleh selinux. Jadi bisa juga firewall. Jika Anda memiliki layanan lokal yang mencoba terhubung ke mysqld, itu sesuatu yang berbeda: http://docs.fedoraproject.org/en-US/Fedora/13/html/Managing_Confined_Services/sect-Managing_Confined_Services-MySQL-Booleans.html
sumber
The
ausearch
perintah dapat membantu menemukan error log.sumber
Anda juga dapat membuat kebijakan lokal:
"Anda dapat membuat modul kebijakan lokal untuk memungkinkan akses ini. Izinkan akses ini untuk saat ini dengan mengeksekusi:"
grep httpd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
atau aktifkan secara global untuk sesi aktual:
atau permanen:
sumber