Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web development, networking and server security. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Integritatea datelor: AIDE de detectare a intruziunilor-gazdă Bazat

Source: http://www.rfxn.com/data-integrity-aide-for-host-based-intrusion-detection/

Este folosit pentru a fi toate vorbesc, toată lumea a ştiut, dar puţini Acceptăm aceasta a făcut nimic despre ea şi încă şi astăzi, foarte putini o fac nimic despre asta. Ce este aceasta? Integritatea datelor.Dar nu este în formă de modul in care privim, de obicei, la integritatea datelor; nu este backup-uri, managementul raid sau similare - este de detectare a intruziunilor bazate pe gazdă.

Ce este de detectie a intruziunilor bazate pe gazdă (hIDS)? În ea mai simpla forma este practic de monitorizare a unui sistem de fişiere pentru conţinutul adăugat, şterse sau modificate, în scopul de detectare a intruziunilor şi (post), analiza de compromis medico-legale. La hIDS timp unul a fost un subiect foarte popular, cu o multime de accent împins pe el de la comunitatea de securitate şi, deşi încă mai este un domeniu de interes religios pentru unii, aceasta este, în general, în conformitate cu un foarte parte utilizate a unei garanţii bine rotunjite şi politicii de gestionare. Notă cum am spus acolo, de asemenea, politici de gestionare, astfel cum hIDS nu este vorba doar de detectare a intruziunilor, dar poate juca, de asemenea, un rol vital în zi cu zi operaţiunile de orice organizatie prin oferirea de "schimbare de monitorizare" capabilităţi. Acest lucru poate juca în multe scenarii, dar cel mai simplu fiind că aceasta vă permite să urmăriţi modificările efectuate prin intermediul sistemelor de fişiere sarcini de administrare regulate, cum ar fi instalaţiile de software-ul, actualizări sau mai multe greşeli administrative important. Deşi tema de monitorizare schimbare poate fi un articol întreg, în sine, hIDS pentru mine este extrem de important în ambele privinţe, ca de detectare a intruziunilor şi de resurse monitorizarea schimbărilor.

Eu nu pot bate în jurul valorii de faptul că, chiar eu, peste ani, au hIDS să cad la marginea drumului, am folosit pentru a fi cel mai mare fan al Tripwire şi ar trebui să utilizaţi-l pe tot. Cu toate acestea, în timp Tripwire a devenit o consumatoare de timp, umflat şi instrument dificil de gestionat, acesta este, de asemenea, obositor de lentă şi ar duce la sarcini nedorite pe sisteme foarte mari. Acest lucru a făcut pentru hIDS care se încadrează din securitate meu regulat şi obiceiuri de gestionare, care la rândul său, avea un mod cu privire la ascuns pe mine şi mă muşcă în cap la cap ori de câte ori un sistem de luat compromis sau de un administrator ar face un "oopsy" pe un server.

Un câţiva ani în urmă am experimentat cu un instrument numit AIDE (avansate de detectie a intruziunilor de mediu), în momentul în care a fost copil nou de pe bloc, dar au aratat potential incredibil, cu o abordare de configurare foarte simplificat, de baze de date rapid construi ori şi în mod rezonabil de utilizare a resurselor modeste - de standardele Tripwire a fost exact ceea ce am fost în căutarea, simplu si rapid. AIDE atunci a crescut un pic, multe dintre problemele mici, am folosit pentru a avea cu aceasta sunt acum imobilizate si este acum disponibil în pachetul de management pentru cele mai multe distribuţii majore, inclusiv FreeBSD, Ubuntu, Fedora si RHEL (CentOS).

Scenariul de configurare şi implementare ne vom uita la astăzi este una care este potrivit pentru servere de web şi de aplicare, dar într-adevăr pot fi aplicate la scară largă la aproape orice sistem. Am de gând să sacrifice uşor unele atribute de monitorizare de la fisierele de pe sistem, în numele cresterea performantei si utilitate menţinând în acelaşi timp o imagine completă a fişierelor adăugate, şterse şi a modificat. Deci, haideţi să sari chiar pe la....

Prima sarcina este avem nevoie pentru a instala AIDE, în scopul de a acestui articol am presupunând că vă aflaţi folosind Fedora sau RHEL un sistem de operare bazat (de exemplu: CentOS), vă rugăm să consultaţi de management de pachete distribuţii sau descărca şi compila sursele de la http : / / aide.sourceforge.net dacă o versiune binară nu este disponibil pentru tine.

# Yum install-y aide

Căile binar de instalare implicit pentru locul AIDE de configurare în / etc / aide.conf, executabilul în / usr / sbin / aide şi baze de date în / var / lib / aide /. Parte, evident, importante fiind fişierul de configurare, astfel încât vă permite să obţineţi un mâner pe care pentru moment. Implicite de configurare sunt un pic mai tare, intensivă şi în opinia mea va copleşi pe oricine care nu a folosit hIDS înainte, chiar pentru mine însumi implicite au fost doar prea mult. Acestea fiind spuse, vom rezervă de configurare implicite pentru scopuri de referinţă şi descărca meu aide.conf personalizat:

# Cp / etc / aide.conf / etc / aide.conf.default 
# wget http://www.rfxn.com/downloads/aide.conf-O / etc / aide.conf 
# chmod 600 / etc / aide.conf

Aceasta configuratie a fost creat pentru un server WHM / Cpanel, este totuşi generalizată în natură şi se poate aplica la aproape orice server dar va necesita modificari pentru a menţine la un nivel minim de zgomot. Acum, eu subliniez faptul că fapt, zgomot - rapoarte hIDS poate ajunge foarte tare dacă nu le ton şi care pot duce la ele fiind ignorat ca o pacoste, ci mai mult despre aceasta mai tarziu. Să aruncăm o privire la fişierul de configurare ne-am descărcat şi vom încerca să-l rupe în jos pentru tine de fiecare secţiune:

# Nano-w / etc / aide.conf
(sau editorul preferat * ahem vi *)

Primele 10 astfel de linii sau a fişierului de ieşire declară şi căile de baze de date pentru AIDE, acestea nu ar trebui să fie editat, piese de prima vrem să se uite la urma:

# Dacă se gzip de ieşire pentru a bazei de date 
gzip_dbout = nu vine de la Verbose 
# nivel al producţiei mesaj - implicit 5 
verbose = 5

Aceste opţiuni vorbesc de la sine; vrem să gzip bazele de date de ieşire? Nu, noi nu facem ca script-ul nostru de management pe care le va rula de la cron si uita-te la mai târziu se întâmplă să aibă grijă de faptul că pentru noi. Următorul este este nivelul de detaliere (0-255 - mai putin la mai multe), care implicit la 5. Prolixitate este lăsată amenzii la implicit, aveţi posibilitatea să îl mai mici până la 2 dacă doriţi să adăugaţi strict / şterge / meciului modificate în rapoartele cu NO informaţii detaliate asupra a ceea ce atributele au fost modificate la fişiere (de exemplu: utilizator, grup, permisiunile, dimensiune, md5) - potrivit poate pentru o politică foarte simplificat de gestionare a schimbărilor. Dacă este setat la 20, atunci rapoartele vor fi foarte detaliat informaţiile de schimbările element cu element-şi rapoarte pot deveni masiv - asa ca va recomand lăsând la implicit din 5 pentru cel mai bun echilibru de detaliu şi de reducere a zgomotului.

Înainte listele fişierul de configurare, în comentarii, atributele sprijinit, care pot fi monitorizate pe fişiere şi poteci si apoi regulile noastre de monitorizare a ceea ce implicit a atributelor vom folosi de fapt, această listă prezinta profunzimea AIDE şi ar trebui să fie revizuită în scurt timp de cel puţin o înţelegere fundamentală a ceea ce sunt de lucru cu:

# Acestea sunt regulile implicite. 
# 
# p: permisiuni 
# i: inode: 
# n: numărul de link-uri 
# U: ghidul de 
# g: grup s 
#: dimensiunea 
# b: blocare count 
# m: mtime 
# unu: atime c 
# : ctime 
# S: pentru a verifica marimea creştere 
# md5: MD5 # sha1: sha1 control 
# rmd160: rmd160 control 
# tigru: tigru control 
# haval: haval control 
# gost: gost control 
# CRC32: CRC32 control 
# E: grup de gol 
# >: Cultivarea logfile p + u + g + i + n + S. 
# Puteţi crea reguli personalizate ca aceasta 
R = p + u + g + e + md5 
L = p + u + g 
> = p + u + g + i + n + S 

NORMAL = R 
LOG = p + u + g 
DIR = p + u + g + md5

Părţi importante aici, care va fi folosit, si poate fi vazut de la reguli personalizate, sunt p, u, g, s, md5 pentru permisiuni, hash-uri de utilizator, grup, dimensiunea şi md5. Cum acest lucru în interesul nostru?Elementele de bază de permisiune, ghidul, şi de grup sunt fundamentale ne-ar dori întotdeauna să fie notificate de modificări privind, ca într-adevăr, acestea sunt atribute care nu trebuie să îşi schimbe niciodată fără un administrator a face acest lucru în mod intenţionat (de exemplu: / etc / shadow devine set 666 ). Apoi, există este dimensiunea si md5, care ne vor spune că un fişier a fost modificat, deşi nu suntem de urmărire specific mtime (timp modificat), nu este strict necesar ca md5 ne va spune atunci când chiar şi un singur bit sa schimbat într-un fişier şi mtime este un atribut pur forjate (deşi nu ezitaţi să adăugaţi la lista de m = R pentru urmărirea mtime dacă aceasta dorinta).

Apoi avem căi să fie monitorizate pe care le veţi notă nu suntem de monitorizare la nivelul de sus "/" în sine, dar în schimb o anumită listă. Deşi puteţi monitoriza de la cel mai înalt nivel, nu este recomandat la servere foarte mari, dacă alegeţi să monitorizeze de la cel mai înalt nivel să fie apoi asiguraţi-vă pentru a adăuga '/ acasă! "Şi alte căi ghidul de puternic modificate în lista de ignorare (care fac obiectul următoare), mai ales dacă aveţi un mediu comun găzduit. Păstraţi în minte, nu este vorba despre monitorizarea la fiecare schimbare singur nivel de utilizator, ci mai degrabă de integritate la sistemul (rădăcină) sau critică aplicarea / nivel de conţinut.

/ Etc NORMAL 
/ boot NORMAL 
/ bin NORMAL 
/ sbin NORMAL 
/ lib NORMAL 
/ opt NORMAL 
/ usr NORMAL 
/ rădăcină NORMAL 
/ var NORMAL 
/ var 
/ log log 
# # de monitorizare / home poate crea excesiv run-time întârzieri 
# / home DIR 

După cum sa menţionat mai sus, monitorizarea / home nu este cel mai bun de idei, în special pe servere mai mari, cu sute de utilizatori. Excepţie de la această regulă este servere mai mici, care sunt de activitate orientate spre site-uri sau aplicaţii critice. În aceste situaţii, cum ar fi angajatori meu şi chiar serverul meu web care nu au altă sarcină decât să găzduiască câteva site-uri, monitorizarea / home poate fi de nepretuit in detectarea intruziunilor pe site-ul dvs. de web şi aplicaţii web. Acest lucru este valabil mai ales dacă aveţi o de facturare, forumuri de asistenţă tehnică, help desk-uri şi aplicaţii similare web pe un singur server dedicat pentru prezenţa dvs. de web afaceri corporate. Deci, ia aici este - monitor / home moderaţie şi-l evalueze de la caz la caz.

Acum, pe lista de ignorare nostru, care este la fel de simplu ca acesta devine - orice căi care nu sunt supuse unei monitorizări pentru orice motiv, fie că este vorba prea puternic modificat sau pur şi simplu nu administrativ adecvat pentru a fi raportate la.

!/backup 
!/dev 
!/etc/mtab 
!/home/cpeasyapache 
!/home/MySQL-install 
!/home/[a-z0-9]+/mail 
!/home/[a-z0-9]+/logs 
!/home/[a-z0-9]+/.sqmaildata 
!/home/[a-z0-9]+/.cpanel 
!/root/tmp/pear 
!/usr/local/apache/domlogs 
!/usr/local/apache/htdocs/mrtg 
!/usr/local/apache/logs 
!/usr/local/bfd/tmp 
!/usr/local/cpanel 
!/usr/local/sim/internals/stat 
!/usr/local/sim/internals/tmp 
!/usr/local/sim/logs 
!/var/cache 
!/var/cpanel 
!/var/lib/mlocate 
!/var/lib/mysql 
!/var/lib/rpm 
!/var/spool 
!/var/www/html/mrtg 
!/tmp/sess_.* 
!/var/tmp/sess_.* 
!/var/log/dcpumon 

În general vorbind, tu nu vrei să limiteze căile ignorat ca fiecare calea de ignorat este o zona cu potential care un atacator poate stoca software-ul rău intenţionat. Acestea fiind spuse, deşi, se încearcă să găsească un echilibru în rapoartele noastre care ne alerta la intruziuni în timp ce încă destul de rezonabilă, în lungime să fie revizuită în mod regulat. Cel mai important lucru de retinut este, deşi un atacator poate ascunde conţinut în aceste căi ignorate, să compromită în mod eficient sau un server backdoor, atacatorul trebuie să înlocuiască şi să modifice un set larg de binare şi jurnalele de pe server, care va sta în mod clar în nostru rapoarte. Cu toate acestea, elimina orice căi din lista de ignore care nu se pot aplica la mediul sau pentru a adăuga prea-l, după caz.

Asta e pentru partea de configurare a AIDE, sperăm, l-ai gasit drept înainte şi nu prea copleşitoare, dacă aţi făcut atunci Google Tripwire şi tu să-mi mulţumeşti mai târziu ;)

Următoarea parte a instalaţiei AIDE noastre este componenta de management şi raportare. Abordare ne va lua este, folosind un script de gestionare a executat prin intermediul cron zilnic, săptămânal sau lunar pentru a efectua sarcini de întreţinere şi generarea de rapoarte, care poate fi optional prin e-mail. De întreţinere constă în comprimarea şi rotative noastre baze de date vechi AIDE si busteni de la backup-uri timp ştampilate, împreună cu ştergerea datelor care au trecut în vârstă de un anumit punct.

# Wget http://rfxn.com/downloads/cron.aide-O / etc / cron.weekly / aide 
# chmod 755 / etc / cron.weekly / aide 

Implicită pentru acest articol va fi pentru a rula AIDE pe o bază săptămânală, aceasta este ceea ce Vă recomandăm ca am constatat că de zi cu zi creează prea multe rapoarte care devin o povară pentru a verifica şi creează rapoarte lunare, care sunt mult prea mari şi zgomotoase - greve pe săptămână echilibru în raportul de mărime şi de frecvenţă. Cron a două variabile în el, care poate fi modificat pentru e-mail si varsta maxima de baze de date / busteni, merge atât de departe şi deschideţi / etc / cron.weekly / aide cu editorul dumneavoastră preferat şi le modifică după cum credeţi de cuviinţă.

# Adresă e-mail pentru rapoarte de 
e-mail = 
# varsta maxima de busteni si baze de date în ore 
# implicit 2160 = 90 zile 
maxage = 2160 

Variabila de e-mail poate fi lasat necompletat nu pentru a trimite e-mailuri, dacă alegeţi acest lucru, atunci rapoarte pot fi vizualizate manual în / var / lib / aide / aide.log şi sunt rotite în timp backup ştampilat după fiecare execuţie (de exemplu: aide.log.20110315-162841). Variabila maxage, în ore, este frecventa la care busteni aide şi baze de date vor fi şterse, pe care cred că 90 zile este o lungime rezonabilă de retenţie. Cu toate acestea, Eu recomand pentru o serie de motive să vă asiguraţi că / var / lib / aide este inclus în copiile de rezervă de la distanţă, astfel că, dacă ai nevoie de ea, te poate trage în bazele de date mai mari de compromis sau de analiză a schimba într-o gamă mai largă de timp decât rapoartele implicit ultima execuţie comparaţie.

Deşi nu este necesar, aveţi posibilitatea să mergeţi mai departe şi să dea un loc de muncă cron ruleze mai întâi, sau pur şi simplu aşteptaţi până la sfârşitul săptămânii. Să presupunem că vă place de mine, deşi şi doresc să joace cu jucăria noul dvs. :) Vom îl rulaţi prin comanda de timp astfel încât să puteţi face o idee despre cât de executie timp va lua în mediul dvs., ar putea fi, de asemenea, o idee bună pentru a deschide o consolă a doua şi a IT de top pentru a vedea ce a lovit resursa este ca pentru tine - de obicei, toate CPU, dar script-ul ruleaza la fel de frumos AIDE 19, care este cea mai mică prioritate sistemul sensul cuvântului alte procese pot utiliza CPU înainte de a AIDE cazul în care acestea solicită acest lucru.

# Timp sh / etc / cron.weekly / aide 

Să-l rulează, acesta poate dura de 10-60 minute, în funcţie de specificatiile serverele şi cantitatea de date, pentru servere foarte mari, mai ales dacă alegi să monitorizeze / home, nu fi surprins cu ori rula dincolo de 60 de minute. Odată completat verifica adresa dvs. de email sau / var / lib / aide / aide.log de fişier pentru raportul dvs. prima şi asta este, aveţi totul setat.

Două avertismente cu privire la mici de ieşire raport, primul este că, atunci când efectuaţi actualizări de software sau de pe panoul de control (de ex: WHM / Cpanel) face acest lucru în mod automat, vă puteţi aştepta în mod evident pentru a vedea un raport foarte tare generat. Puteţi forţa opţional baza de date pentru a regenera atunci când executaţi actualizări serverului de executare "/ usr / sbin / aide-init" şi acest lucru va păstra următorul raport frumos si curat. Al doilea avertisment este că, uneori, primul raport poate fi extrem de zgomotoase, cu tot felul de avertismente atribut, dacă se întâmplă acest lucru da script-ul cron (/ etc / cron.weekly / aide) o rulare al doilea şi ar trebui să primiţi un raport de frumos curată, fără a avertismente şi zgomot.

Pentru comoditate, am făcut, de asemenea, un script de instalare mici, care se va ocupa de tot ceea ce mai sus la valori implicite mea de instalat şi AIDE / cron script pentru tine, potrivit pentru utilizarea pe serverele suplimentar, după ce am efectuat prin intermediul acestui server-ul dvs. pe prima.

# Wget http://www.rfxn.com/downloads/install_aide 
# sh install_aide "you@domain.com" 

Sper AIDE se dovedeste a fi la fel de util pentru tine, ca a fost pentru mine, hIDS este o componentă critică în orice politică de securitate şi de management şi trebuie să luaţi timp pentru a optimiza de configurare pentru mediul dvs. specific. Dacă găsiţi rapoartele sunt prea zgomotoase atunci vă rugăm să ignoraţi căi care sunt problematice înainte de a vă şanţ AIDE, dacă dai o sansa AIDE va ​​fi bine pentru tine şi o zi ar putea foarte bine vă salvaţi într-un compromis sau administrative "Hopa" situaţie.

Published (Last edited): 06-01-2012