FreeBSD гарын авлага
Өмнөх | Бүлэг 18. Аюулгүй байдлын үйл явцад аудит хийх нь | Дараах

# 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> хаягаар цахим захидал явуулна уу.