Как да проверите целостта на файл или директория с AIDE в Linux

Когато използвате множество операционни системи, идеално е винаги да имате инструменти, които ни позволяват да поддържаме централизиран и директен контрол върху нея. Един от най -деликатните въпроси е безспорно сигурността и целостта на файловете, тъй като това гарантира наличността и надеждността на файловете.

Днес Solvetic ще говори за практически инструмент, наречен AIDE, чрез който ще бъде възможно да се провери целостта на файл или директория в различните дистрибуции на Linux и по този начин да бъдете сигурни в пълната надеждност на избрания файл.

Какво е AIDEAIDE ((Advanced Intrusion Detection Environment) е програма за проверка на целостта на файлове и директории в Linux среди, която ни позволява като администратори да поддържаме специфичен контрол върху тях.
Неговата работа се състои в създаване на база данни, проектирана от правилата за регулярни изрази, които са налични в конфигурационните файлове. След като тази база данни бъде инициализирана, тя може да се използва за проверка на целостта на необходимите файлове.

Атрибути на файла AIDEAIDE отговаря за изграждането на базата данни от файловете, посочени в aide.conf, който е конфигурационният файл на AIDE. Базата данни AIDE съхранява няколко файлови атрибута, в които имаме:

  • тип файл
  • разрешителни
  • потребител и група
  • размер на файла
  • mtime, ctime и atime
  • размер на растежа
  • брой връзки и име на връзката.

В допълнение, AIDE създава криптографска контролна сума или хеш на всеки файл, използвайки един или комбинация от следните алгоритми за преглед на съобщения: sha1, sha256, sha512, md5, rmd160, tiger, haval, crc32, както и атрибутите acl, xattr, selinux , и e2fsattrs могат да се използват, когато са изрично активирани по време на компилиране.

AIDE има няколко алгоритми за обобщение на съобщения, които се използват за проверка на целостта на файла. Всички обичайни атрибути на файла също могат да бъдат проверени за несъответствия в него. AIDE може да чете бази данни от по -стари или по -нови версии.

AIDE функцииИзползвайки този инструмент, ние имаме следните характеристики:

  • Поддържани алгоритми за обобщение на съобщения като: md5, sha1, rmd160, tigger, crc32, sha256, sha512, whirlpool (допълнително с libmhash: gost, haval, crc32b)
  • Поддържани атрибути на файлове: Тип на файла, Разрешения, Inode, Uid, Gid, Име на връзката, Размер, Номер на блок, Брой връзки, Mtime, Ctime и Atime
  • Той поддържа поддръжка за Posix ACL, SELinux, XAttrs и разширени атрибути на файлова система, ако поддръжката е компилирана в обикновен текст и конфигурационни файлове на база данни за опростяване
  • Той има поддръжка за регулярни изрази за избирателно включване или изключване на файлове и директории, за да бъде наблюдаван
Можете да компресирате базата данни gzip, ако поддръжката на zlib е компилирана в отделен статичен двоичен файл за конфигурации за наблюдение клиент / сървър.

AIDE е включен в следните UNIX дистрибуции

  • Debian
  • Gentoo
  • MacPorts
  • FreeBSD
  • CentOS / RedHat
  • IPCop
  • OpenSUSE

Важно е да се изясни, че AIDE не може да осигури абсолютна сигурност при промяната във файл, тъй като като всеки друг системен файл, базата данни и / или двоични файлове на AIDE също могат да бъдат променени с помощта на подходящи инструменти.

1. Инсталиране на AIDE на Linux


AIDE е наличен в официални хранилища за най -популярните дистрибуции на Linux, за това можем да го инсталираме с помощта на мениджър на пакети според избрания дистрибутор, както следва:
 apt install aide (Debian / Ubuntu) yum install aide CRHEL / CentOS) dnf install aide (Fedora) zypper install aide (OpenSUSE) emerge aide (Gentoo)

В този случай използваме Ubuntu. Там въвеждаме буквата S, за да приемем изтеглянето и инсталирането на AIDE. След като бъде инсталиран, ще видим следното:

Както виждаме, основният конфигурационен файл е /etc/aide/aide.conf. За да видите инсталираната версия, както и параметрите на времето за компилация, можем да изпълним следното:

 помощник -v

2. Достъп до конфигурационния файл на AIDE Linux


Можем да получим достъп до конфигурационния файл на AIDE, като изпълним следния ред с желания редактор:
 nano /etc/aide/aide.conf
Ще видим следното:

В този файл откриваме директиви, които определят местоположението на базата данни, местоположението на доклада, правилата по подразбиране, директориите или файловете, които трябва да бъдат включени в базата данни, и много други.

3. Как да управлявате и разбирате правилата на AIDE

AIDE управлява правила като:

стрРазрешения - Разрешения
нБрой връзки
или= Потребител
gГрупи
сРазмер (размер)
бБрой блокове
мmtime
да севреме
° Сctime
selinuxКонтекст за защита на Selinux
xattrsПоказва разширените атрибути на файл

От тези правила ще бъде възможно да се създадат персонализирани правила в конфигурационния файл на AIDE. Например, можем да създадем следното правило:

 УСЛОВИЯ = p + u + g + acl + selinux + xattrs
В този случай правилото PERMS е внедрено за контрол на достъпа, което ще открие всички промени във файла или директориите въз основа на разрешения за файлове или директории, потребител, група, разрешения за контрол на достъпа, атрибути на файлове и др.

Друго правило, което можем да приложим, е това, което проверява само съдържанието на файла и избрания тип файл, например:

 СЪДЪРЖАНИЕ = sha256 + ftype
Ако искаме да проверим разширеното съдържание, типа на файла и достъпа, можем да създадем правило като:
 CONTENT_EX = sha256 + ftype + p + u + g + n + acl + selinux + xattrs
Правило, което ни помага да откриваме промени в директорията само на ниво данни, е:
 ДАННИ = p + n + u + g + s + acl + selinux + xattrs + sha256
Тези правила трябва да бъдат добавени в долната част на конфигурационния файл на AIDE:

Запазваме промените с помощта на клавишите Ctrl + O и излизаме с помощта на Ctrl + X.

4. Как да дефинирате правила за преглед на AIDE файлове и директории


С AIDE също ще бъде възможно да се създадат правила за определени файлове или директории, които да бъдат анализирани. За целта отново имаме достъп до /etc/aide/aide.conf пътя и можем да създадем следните правила:
 / root / \… * PERMS (Това правило проверява разрешенията в главната директория) / root / CONTENT_EX (Това правило проверява всички файлове в root преди всяка промяна) / etc / DATAONLY (Това правило ни позволява да открием всяка промяна в директорията /и т.н.)

Можем да запазим промените в конфигурационния файл на AIDE.

5. Как да използвате AIDE за проверка на файлове и цялост на директории в Linux


След като правилата, които ще се използват с AIDE, са дефинирани, следващата стъпка ще бъде изграждането на базата данни спрямо проверките, които ще бъдат извършени с помощта на параметъра --init.

Със следната команда ще бъде създадена база данни, която съдържа всички файлове, които дефинираме в конфигурационния файл на AIDE:

 Помощник -init

След като това стане, продължете да променяте името на базата данни на /var/lib/aide/aide.db.gz, преди да продължите, за това можем да използваме следната команда:

 mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db.gz
Препоръчително е да преместите тази база данни на безопасно място, но трябва да сме сигурни, че актуализираме конфигурационния файл, така че да може да се чете оттам.

След това трябва да компилираме нов конфигурационен файл на Aide. Изпълняваме следната команда:

 update-aide.conf
Сега ще копираме този нов файл в директорията / etc / aide:
 cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf
След като базата данни е създадена, можем да проверим целостта на файловете и директориите, използвайки флага -check:
 помощник -проверка

6. Как да оценим AIDE


За да тестваме работата на AIDE, ще изпълним следните редове:
 mkdir / root / aide-test touch / root / aide-test / testsolvetic touch / root / aide-test / testsolvetic1
С тях създаваме нова директория и файлове в системата. По -късно изпълняваме следния ред за неговото валидиране и проверка:
 Помощник -проверка
Резултатът ще бъде следният:

Там можем да видим, че във файла се открива разлика и показва какъв вид действие е било, добавяне, изтриване или промяна.
По този начин AIDE е полезен инструмент за определяне в реално време на промените, настъпили в системата.

wave wave wave wave wave