![Lihat 10 Aplikasi Mode Potret Terbaik untuk Android](/f/7cd69c1eecd5738030e841f69acd4867.jpg?width=100&height=100)
Untuk menjaga RHEL 7 sistem aman, Anda perlu tahu cara memantau semua aktivitas yang terjadi pada sistem tersebut dengan memeriksa file log. Dengan demikian, Anda akan dapat mendeteksi aktivitas yang tidak biasa atau berpotensi berbahaya dan melakukan pemecahan masalah sistem atau mengambil tindakan lain yang sesuai.
Di dalam RHEL 7, NS rsyslogd daemon bertanggung jawab atas pencatatan sistem dan membaca konfigurasinya dari /etc/rsyslog.conf (file ini menentukan lokasi default untuk semua log sistem) dan dari file di dalamnya /etc/rsyslog.d, jika ada.
Inspeksi cepat dari rsyslog.conf akan membantu untuk memulai. File ini dibagi menjadi 3 bagian utama: Modul (karena rsyslog mengikuti desain modular), Global arahan (digunakan untuk mengatur properti global daemon rsyslogd), dan Aturan. Seperti yang mungkin Anda tebak, bagian terakhir ini menunjukkan apa yang dicatat atau ditampilkan (juga dikenal sebagai pemilih) dan di mana, dan akan menjadi fokus kami di seluruh artikel ini.
Garis khas di rsyslog.conf adalah sebagai berikut:
Pada gambar di atas, kita dapat melihat bahwa pemilih terdiri dari satu atau lebih pasangan Fasilitas: Prioritas dipisahkan oleh titik koma, di mana Fasilitas menjelaskan jenis pesan (lihat bagian 4.1.1 di RFC 3164 untuk melihat daftar lengkap fasilitas yang tersedia untuk rsyslog) dan Prioritas menunjukkan tingkat keparahannya, yang dapat menjadi salah satu dari kata-kata penjelasan berikut:
Meskipun bukan prioritas itu sendiri, kata kuncinya tidak ada berarti tidak ada prioritas sama sekali dari fasilitas yang diberikan.
Catatan: Bahwa prioritas yang diberikan menunjukkan bahwa semua pesan dengan prioritas tersebut ke atas harus dicatat. Jadi, baris pada contoh di atas menginstruksikan rsyslogd daemon untuk mencatat semua pesan dari info prioritas atau lebih tinggi (terlepas dari fasilitasnya) kecuali yang milik surat, authpriv, dan cron layanan (tidak ada pesan yang datang dari fasilitas ini yang akan diperhitungkan) untuk /var/log/messages.
Anda juga dapat mengelompokkan beberapa fasilitas menggunakan tanda titik dua untuk menerapkan prioritas yang sama ke semuanya. Dengan demikian, baris:
*.info; surat.tidak ada; authpriv.none; cron.none /var/log/messages.
Dapat ditulis ulang sebagai
*.info; mail, authpriv, cron.none /var/log/messages.
Dengan kata lain, fasilitas surat, authpriv, dan cron dikelompokkan dan kata kuncinya tidak ada diterapkan pada ketiganya.
Untuk mencatat semua pesan daemon ke /var/log/tecmint.log, kita perlu menambahkan baris berikut baik di rsyslog.conf atau dalam file terpisah (lebih mudah dikelola) di dalamnya /etc/rsyslog.d:
daemon.* /var/log/tecmint.log.
Mari kita mulai ulang daemon (perhatikan bahwa nama layanan tidak diakhiri dengan D):
# systemctl restart rsyslog.
Dan periksa isi log kustom kami sebelum dan sesudah memulai ulang dua daemon acak:
Sebagai latihan belajar mandiri, saya sarankan Anda bermain-main dengan fasilitas dan prioritas dan mencatat pesan tambahan ke file log yang ada atau membuat yang baru seperti pada contoh sebelumnya.
Untuk mencegah file log tumbuh tanpa henti, logrotate utilitas digunakan untuk memutar, mengompres, menghapus, dan sebagai alternatif mail log, sehingga memudahkan administrasi sistem yang menghasilkan sejumlah besar file log.
Disarankan Baca:Cara Mengatur dan Mengelola Rotasi Log Menggunakan Logrotate di Linux
Logrotate berjalan setiap hari sebagai cron pekerjaan (/etc/cron.daily/logrotate) dan membaca konfigurasinya dari /etc/logrotate.conf dan dari file yang terletak di /etc/logrotate.d, jika ada.
Seperti kasus rsyslog, bahkan ketika Anda dapat menyertakan pengaturan untuk layanan tertentu dalam file utama, membuat file konfigurasi terpisah untuk setiap layanan akan membantu mengatur pengaturan Anda dengan lebih baik.
Mari kita lihat tipikalnya logrotate.conf:
Pada contoh di atas, logrotate akan melakukan tindakan berikut untuk /var/loh/wtmp: upayakan untuk memutar hanya sebulan sekali, tetapi hanya jika file tersebut setidaknya 1 MB dalam ukuran, lalu buat file log baru dengan izin yang disetel ke 0664 dan kepemilikan diberikan kepada root dan grup pengguna utmp. Selanjutnya, simpan hanya satu log yang diarsipkan, seperti yang ditentukan oleh direktif putar:
Sekarang mari kita pertimbangkan contoh lain seperti yang ditemukan di /etc/logrotate.d/httpd:
Anda dapat membaca lebih lanjut tentang pengaturan untuk logrotate di halaman manualnya (pria logrotate dan man logrotate.conf). Kedua file tersebut disediakan bersama dengan artikel ini dalam format PDF untuk kenyamanan membaca Anda.
Sebagai seorang insinyur sistem, terserah Anda untuk memutuskan berapa lama log akan disimpan dan dalam format apa, tergantung pada apakah Anda memilikinya. /var di partisi terpisah / volume logis. Jika tidak, Anda benar-benar ingin mempertimbangkan untuk menghapus log lama untuk menghemat ruang penyimpanan. Di sisi lain, Anda mungkin terpaksa menyimpan beberapa log untuk audit keamanan di masa mendatang sesuai dengan kebijakan internal perusahaan atau klien Anda.
Tentu saja memeriksa log (bahkan dengan bantuan alat seperti grep dan ekspresi reguler) bisa menjadi tugas yang agak membosankan. Untuk alasan itu, rsyslog memungkinkan kami untuk mengekspornya ke dalam database (OTB RDBMS yang didukung termasuk MySQL, MariaDB, PostgreSQL, dan Oracle.
Bagian tutorial ini mengasumsikan bahwa Anda telah menginstal MariaDB server dan klien di kotak RHEL 7 yang sama tempat log dikelola:
# yum perbarui && yum instal mariadb mariadb-server mariadb-client rsyslog-mysql. # systemctl aktifkan mariadb && systemctl start mariadb.
Kemudian gunakan mysql_secure_installation
utilitas untuk mengatur kata sandi untuk pengguna root dan pertimbangan keamanan lainnya:
Catatan: Jika Anda tidak ingin menggunakan MariaDB pengguna root untuk memasukkan pesan log ke database, Anda dapat mengkonfigurasi akun pengguna lain untuk melakukannya. Menjelaskan bagaimana melakukannya di luar cakupan tutorial ini tetapi dijelaskan secara rinci di pengetahuan MariaDB basis. Dalam tutorial ini kita akan menggunakan akun root untuk kesederhanaan.
Selanjutnya, unduh createDB.sql naskah dari GitHub dan impor ke server database Anda:
# mysql -u root -p < createDB.sql.
Terakhir, tambahkan baris berikut ke /etc/rsyslog.conf:
$ModLoad ommysql.dll. $ActionOmmysqlServerPort 3306. *.* :ommysql: localhost, Syslog, root,Kata Sandi AndaDi Sini
Mengulang kembali rsyslog dan server basis data:
# systemctl restart rsyslog # systemctl restart mariadb.
Sekarang lakukan beberapa tugas yang akan memodifikasi log (seperti menghentikan dan memulai layanan, misalnya), lalu masuk ke server DB Anda dan gunakan perintah SQL standar untuk menampilkan dan mencari di log:
GUNAKAN Syslog; SELECT ReceivedAt, Pesan DARI SystemEvents;
Dalam artikel ini kami telah menjelaskan cara mengatur logging sistem, cara merotasi log, dan cara mengarahkan ulang pesan ke database untuk pencarian yang lebih mudah. Kami berharap keterampilan ini akan membantu saat Anda mempersiapkan diri untuk ujian RHCE dan juga dalam tanggung jawab harian Anda.
Seperti biasa, umpan balik Anda lebih dari diterima. Jangan ragu untuk menggunakan formulir di bawah ini untuk menghubungi kami.