GNU/Linux >> Belajar Linux >  >> Cent OS

Bagaimana cara memonitor file /etc/shadow dan /etc/passwd untuk perubahan dengan Auditd?

Audit sistem adalah tugas yang sangat penting yang harus menjadi bagian dari setiap server. Ini memungkinkan kami untuk mengaudit detail menit terkait dengan apa yang sebenarnya terjadi di dalam sistem. Sebagian besar administrator sistem mungkin mengetahui fungsi audit dasar seperti melihat file /var/log/secure untuk upaya login, tetapi jika menyangkut audit tingkat rendah, di sinilah pekerjaan harus dilakukan.

Beberapa kasus ketika audit sistem membantu adalah:

  • Menonton akses file :Kami ingin memiliki laporan tentang file atau direktori mana dalam server Anda yang telah diakses atau dimodifikasi dan pada jam berapa dan oleh pengguna mana. Ini adalah aspek penting khususnya jika kami ingin mendeteksi akses ke file penting dalam server kami atau ingin mengetahui siapa yang melakukan perubahan yang berdampak pada lingkungan produksi.
  • Memantau panggilan sistem :Setiap perintah yang kita ketik di belakang akan membuat panggilan sistem ke kernel.

Memantau /etc/shadow dan /etc/passwd untuk perubahan

1. Untuk memantau file /etc/shadow dan /etc/passwd, tambahkan 2 aturan di bawah ini ke dalam file aturan auditd /etc/audit/rules.d/audit.rule.

# vi /etc/audit/rules.d/audit.rule
-w /etc/shadow -p wa -k shadow
-w /etc/passwd -p wa -k passwd
Pada CentOS/RHEL 6, file konfigurasinya adalah /etc/audit/audit.rules bukannya /etc/audit/rules.d/audit.rules.

Perintah di atas mewakili yang berikut:

-w path-to-file -p permissions -k keyname

di mana izinnya adalah salah satu dari yang berikut:
r – membaca file
w – tulis ke file
x – jalankan file
a – perubahan atribut file (kepemilikan/izin)

2. Mulai ulang layanan auditd setelah menentukan 2 aturan di atas.

# service auditd restart
Catatan :Jangan gunakan perintah “systemctl” untuk mengelola audit layanan di CentOS/RHEL. Alih-alih gunakan perintah "layanan" lama. Alasan pembatasan ini adalah bahwa daemon audit harus mencatat setiap perubahan pada jejak audit termasuk memulai dan menghentikan daemon audit itu sendiri. Systemctl menggunakan dbus untuk berbicara dengan sistem yang menyembunyikan siapa yang mengeluarkan perintah dan sepertinya root melakukannya.

3. Gunakan perintah “auditctl -l” untuk memverifikasi aturan yang telah Anda tetapkan.

# auditctl -l
-w /etc/shadow -p wa -k shadow
-w /etc/passwd -p wa -k passwd

Verifikasi

File log /var/log/audit/audit.log mencatat semua pesan log terkait auditd. Anda dapat memeriksa file log ini untuk melihat apakah file shadow dan passwd diubah oleh seseorang. File ini bisa panjang dan sistem dapat menghasilkan banyak log di file ini. Untuk memfilter aturan yang kita minati, kita dapat menggunakan perintah "ausearch" dengan kunci yang kita tentukan saat mendefinisikan aturan. Misalnya:

# ausearch -k shadow
----
time->Sat Jun 16 06:23:07 2018
type=PROCTITLE msg=audit(1529130187.897:595): proctitle=7061737377640074657374
type=PATH msg=audit(1529130187.897:595): item=4 name="/etc/shadow" inode=551699 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=3 name="/etc/shadow" inode=636309 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=2 name="/etc/nshadow" inode=551699 dev=ca:01 mode=0100664 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:shadow_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=1 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130187.897:595): item=0 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=CWD msg=audit(1529130187.897:595):  cwd="/root"
type=SYSCALL msg=audit(1529130187.897:595): arch=c000003e syscall=82 success=yes exit=0 a0=7f443258a332 a1=7f443258a2bc a2=7f443a3517b8 a3=0 items=5 ppid=4320 pid=4486 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="passwd" exe="/usr/bin/passwd" subj=unconfined_u:unconfined_r:passwd_t:s0-s0:c0.c1023 key="shadow"

Demikian pula, untuk file /etc/passwd, kita dapat memfilter log menggunakan:

# ausearch -k passwd
time->Sat Jun 16 06:22:56 2018
type=PROCTITLE msg=audit(1529130176.633:589): proctitle=757365726164640074657374
type=PATH msg=audit(1529130176.633:589): item=4 name="/etc/passwd" inode=638208 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=3 name="/etc/passwd" inode=636309 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=2 name="/etc/passwd+" inode=638208 dev=ca:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:passwd_file_t:s0 objtype=DELETE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=1 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1529130176.633:589): item=0 name="/etc/" inode=132 dev=ca:01 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:etc_t:s0 objtype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=CWD msg=audit(1529130176.633:589):  cwd="/root"
type=SYSCALL msg=audit(1529130176.633:589): arch=c000003e syscall=82 success=yes exit=0 a0=7ffc0729ae70 a1=55f815c79ce0 a2=7ffc0729ade0 a3=55f815ce21a0 items=5 ppid=4320 pid=4481 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="useradd" exe="/usr/sbin/useradd" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="passwd"
Memahami Audit sistem dengan auditd


Cent OS
  1. perintah grpck – Hapus entri yang rusak atau duplikat di file /etc/group dan /etc/gshadow.

  2. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  3. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  1. /etc/passwd menampilkan pengguna dalam grup, tetapi /etc/group tidak

  2. Apa hubungan antara direktori /etc/init.d dan /etc/rcX.d di Linux?

  3. Di file /etc/hosts/ saya di Linux/OSX, bagaimana cara melakukan subdomain wildcard?

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Perbedaan antara /etc/hosts dan /etc/resolv.conf

  3. Cara mengatur /etc/issues untuk menampilkan alamat IP untuk eth0