18.5. Аудит дэд системийг удирдах нь

18.5.1. Аудит мөрүүдийг харах нь

Аудит мөрүүд нь BSM хоёртын хэлбэрээр хадгалагддаг бөгөөд өөрчлөх болон текст уруу хөрвүүлэхэд тусгай хэрэгслүүд ашиглах шаардлагатай. praudit(1) тушаал нь мөрийн файлуудыг хялбар текст хэлбэрт хөрвүүлдэг; auditreduce(1) тушаал нь аудит мөрийн файлыг шинжлэх, архивлах эсвэл хэвлэх зорилгоор багасгахад ашиглагддаг. auditreduce нь үйл явцын төрөл, үйл явцын ангилал, үйл явцын хэрэглэгч, огноо эсвэл цаг, файлын зам эсвэл обьектийн үйлдэл үзүүлсэн зэрэг төрөл бүрийн сонголтын параметрүүдийг дэмждэг.

Жишээ нь praudit хэрэгсэл нь заасан аудит бүртгэлийн бүх агуулгыг жирийн текстээр харуулна:

# praudit /var/audit/AUDITFILE

AUDITFILE нь харуулах аудит бүртгэл юм.

Аудит мөрүүд нь токенуудаас бүтэх аудит бичлэгүүдийн цувралаас тогтох бөгөөд praudit нь мөр болгонд нэгийг дараалуулан хэвлэнэ. Токен бүр аудит бичлэгийн толгойг агуулсан header эсвэл нэрийн хайлтаас гарсан файлын замыг агуулсан path зэрэг тусгай төрлийн байна. Дараах жишээ нь execve үйл явцыг харуулж байна:

header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
exec arg,finger,doug
path,/usr/bin/finger
attribute,555,root,wheel,90,24918,104944
subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
return,success,0
trailer,133

Энэхүү аудит нь амжилттай execve дуудлагыг илэрхийлж байгаа бөгөөд түүнд finger doug тушаал ажиллажээ. Нэмэлт өгөгдлийн токен нь цөм уруу бүрхүүлээс гарч боловсруулагдсан тушаалын мөрийг агуулна. path буюу замын токен нь цөмийн хайсан ажиллах файлын замыг агуулна. attribute буюу шинж чанарын токен нь хоёртын файлыг тайлбарлах ба тухайлбал програм setuid эсэхийг тодорхойлоход ашиглагдах файлын горимыг агуулна. subject буюу субьект токен нь субьект процессийг тайлбарлах бөгөөд аудит хэрэглэгчийн ID, идэвхитэй хэрэглэгчийн ID ба бүлгийн ID, жинхэнэ хэрэглэгчийн ID ба бүлгийн ID, процессийн ID, сессийн ID, портын ID болон нэвтрэлтийн хаяг гэсэн дарааллаар хадгална. Аудит хэрэглэгчийн ID ба жинхэнэ хэрэглэгчийн ID нь ялгаатайг анхаарах хэрэгтэй: robert гэдэг хэрэглэгч энэ тушаалыг ажиллуулахаасаа өмнө root бүртгэл уруу шилжсэн бөгөөд энэ нь эхний шалгуулсан хэрэглэгчийг ашиглан аудит хийгдсэн байна. Төгсгөлд нь return буюу буцах токен нь амжилттай ажиллагааг харуулж trailer нь бичлэгийг төгсгөнө.

praudit нь бас XML гаралтын хэлбэрийг дэмждэг бөгөөд үүнийг -x нэмэлт өгөгдлийг ашиглан сонгож болдог.

18.5.2. Аудитийн мөрүүдийг багасгах нь

Аудит бүртгэлүүд нь маш их байж болно, администратор зарим хэрэглэгчтэй холбоотой бичлэгүүд зэрэг хэсэг бичлэгүүдийг ашиглахын тулд шилж сонгохыг магадгүй хүснэ:

# auditreduce -u trhodes /var/audit/AUDITFILE | praudit

Энэ нь AUDITFILE файлд хадгалагдсан trhodes хэрэглэгчийн бүх аудитийн бичлэгүүдийг сонгож байна.

18.5.3. Аудит хянах эрхүүдийг томилох нь

audit бүлгийн гишүүд /var/audit дахь аудит мөрүүдийг унших эрхтэй; анхандаа энэ бүлэг нь хоосон байх бөгөөд тэгэхээр зөвхөн root хэрэглэгч аудит мөрүүдийг уншиж чадна. Аудит хянах эрхүүдийг хэрэглэгчдэд томилохын тулд хэрэглэгчдийг audit бүлэгт нэмж болно. Аудитийн бүртгэлийн агуулгыг хянах чадвар нь хэрэглэгчид болон процессуудын үйл хөдлөлийн дотоод уруу нэлээн гүнзгий ханддаг учир аудит хянах эрхүүдийг томилохдоо болгоомжтой хийхийг зөвлөж байна.

18.5.4. Аудит хоолойнуудыг шууд монитор хийх нь

Аудит хоолойнууд нь төхөөрөмжийн файлын систем дахь клон хийгдсэн псевдо төхөөрөмжүүд бөгөөд програмыг шууд явж байгаа аудит бичлэгийн урсгалд холбох боломж олгоно. Энэ нь голчлон халдлага илрүүлэх болон систем монитор хийх програмуудын зохиогчдын сонирхлыг татдаг. Гэхдээ администраторуудын хувьд аудитийн хоолойны төхөөрөмж нь аудитийн мөрийн файлын эзэмшил эсвэл үйл явцын урсгалыг зогсоох, бүртгэл эргүүлэх зэрэг асуудлуудтай холбогдолгүйгээр шууд монитор хийх эвтэйхэн боломжийг бүрдүүлдэг. Шууд явж байгаа аудитийн үйл явцын урсгалыг хянахдаа дараах тушаалын мөрийг ашиглана:

# praudit /dev/auditpipe

Анхандаа аудитийн хоолойны төхөөрөмжийн цэгүүдэд зөвхөн root хэрэглэгч хандах эрхтэй байдаг. audit бүлгийн хэрэглэгчид хандах боломжтой болгохын тулд devfs дүрмийг devfs.rules -д нэмнэ:

add path 'auditpipe*' mode 0440 group audit

devfs файлын системийг тохируулах талаар дэлгэрэнгүй мэдээллийг devfs.rules(5) -ээс харна уу.

Сануулга: Аудитийн үйл явцын буцааж өгөх давталтуудыг үүсгэх нь хялбар бөгөөд аудит үйл явц бүрийн үзэлт нь олон аудитийн үйл явцуудыг үүсгэхэд хүргэнэ. Жишээ нь, хэрэв сүлжээний бүх I/O аудит хийгдсэн бөгөөд praudit(1) нь SSH сессээс ажилласан бол үйл явц бүр хэвлэгдэхэд өөр үйл явцыг бас үүсгэх учраас үргэлжилсэн аудитийн үйл явцууд их хэмжээгээр үүсэх болно. Энэ асуудлыг бий болгохгүйн тулд нарийн тохируулаагүй I/O аудит хийх сессээс praudit-ийг аудитийн хоолойны төхөөрөмж дээр ажиллуулахыг зөвлөж байна.

18.5.5. Аудит мөрийн файлуудыг эргүүлэх нь

Аудит мөрүүд нь зөвхөн цөмөөр бичигдэх бөгөөд auditd аудит дэмоноор удирдагддаг. Администраторууд аудит бүртгэлүүдийг шууд эргүүлэхдээ newsyslog.conf(5) эсвэл бусад хэрэгслүүдийг ашиглан хийх ёсгүй юм. Харин audit удирдах хэрэгслийг ашиглан аудитийг унтраах, аудит системийг дахин тохируулах, болон бүртгэлийг эргүүлэх үйлдлүүдийг хийх боломжтой байдаг. Дараах тушаал аудит дэмонг шинэ аудит бүртгэл үүсгэж цөмийг шинэ бүртгэл уруу шилжихийг дохино. Хуучин бүртгэл нь төгсөж нэр нь өөрчлөгдөх бөгөөд дараагаар түүнтэй администратор ажиллах боломж бүрдэнэ.

# audit -n

Сануулга: Хэрэв auditd дэмон ажиллахгүй байгаа бол энэ тушаал нь амжилтгүй болох бөгөөд алдааны мэдээлэл үүсгэнэ.

Дараах мөрийг /etc/crontab -д нэмснээр cron(8) -оос арван хоёр цаг тутам эргүүлэх болно:

0     */12       *       *       *       root    /usr/sbin/audit -n

Шинэ /etc/crontab -ийг хадгалсны дараа өөрчлөлт үйлчилж эхлэх болно.

Файлын хэмжээн дээр тулгуурласан аудитийн мөрийн файлыг автоматаар эргүүлэх нь audit_control(5) дахь filesz тохиргоогоор хийгдэх боломжтой бөгөөд гарын авлагын энэ бүлгийн тохиргооны файлуудын хэсэгт тайлбарласан болно.

18.5.6. Аудит мөрүүдийг шахах нь

Аудит мөрийн файлууд асар их болох тусам мөрүүдийг аудит дэмоноор хаалгасны дараа шахах эсвэл архивлах нь зүйтэй юм. audit_warn скрипт нь аудитийн мөрүүдийг эргүүлэх үеийн цэвэр төгсгөл зэрэг төрөл бүрийн аудиттай холбоотой үйл явцуудад зориулан өөрчилсөн үйлдлүүдийг гүйцэтгэхэд ашиглагдана. Жишээ нь хаагдах үед аудит мөрүүдийг шахах дараах кодыг audit_warn скриптэд нэмж болно:

#
# Compress audit trail files on close.
#
if [ "$1" = closefile ]; then
        gzip -9 $2
fi

Бусад архивлах идэвхүүдэд мөрийн файлуудыг төв сервер уруу хуулах, хуучин мөрийн файлуудыг устгах эсвэл хэрэггүй бичлэгүүдийг хасч аудит мөрийг багасгах зэрэг орж болно. Аудит мөрийн файлууд цэвэрхэн дууссан тохиолдолд скрипт ажиллана, тэгэхээр буруу унтраасны дараа дуусаагүй мөрүүд дээр ажиллахгүй.

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.