Aceasta este comanda stealth care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
stealth - Scanner de integritate a fișierelor stealth
REZUMAT
` ' reprezintă locația socketului de domeniu Unix utilizat.
Stealth --daemon --dry-run --log --logmail
--dimensiune maximă [BKMG] --no-mail --parse-policy-file
--interval-aleatoriu --repeta
--skip-files --syslog
--syslog-facility --syslog-priority --syslog-tag
--verbositate politică
Stealth --dry-run --log --logmail
--dimensiune maximă [BKMG] --no-mail --parse-policy-file
--interval-aleatoriu --repeta
--executa comanda --skip-files --stdout --syslog
--syslog-facility --syslog-priority --syslog-tag
--verbositate politică
Stealth {--ping,--reload,--rerun,--resume,--suspend,--terminate}
Stealth --help --version
DESCRIERE
Numele Stealth programul este un acronim al:
Bazat pe SSH Încredere executare dobândite prin a La nivel local de încredere Gazdă.
Stealth se bazează pe o idee de Hans Gankema și Kees șurub, ambele la Centrul pentru
Tehnologia Informației de la Universitatea din Groningen. Hopko Meijering furnizate valoroase
sugestii de îmbunătățire.
StealthSarcina principală a lui este de a efectua teste de integritate a fișierelor. Cu toate acestea, testarea în sine o va face
nu lăsați sedimente pe computerul testat. Prin urmare, Stealth are ascuns
caracteristici. Aceasta este considerată o caracteristică importantă, îmbunătățind securitatea
(integritatea) software-ului computerelor monitorizate de Stealth.
Vă rog să realizați asta Stealth intenționează să fie doar un alt instrument de securitate: altă securitate
măsuri precum firewall-uri, scanere de porturi, sisteme de detectare a intruziunilor, eliminarea necriptate
protocoale etc. sunt de obicei necesare pentru a îmbunătăți securitatea unui grup de calculatoare care
sunt conectate la Internet. Stealth este un scanner pentru integritatea fișierelor și integritatea fișierelor
scanerele nu oferă nici un substitut pentru aceste instrumente (și vv.).
Stealth folosește un fișier de politică pentru a determina acțiunile de efectuat. Fiecare fișier de politică este
asociat unic cu o gazdă monitorizată. Această gazdă (numită client de mai jos)
are încredere în computerul pe care Stealth aleargă, numită monitorizează (de aici: a La nivel local de încredere
Gazdă). Monitorul efectuează sarcini (în mod normal teste de integritate a fișierelor) care aplica il Încredere
avem în computerul client. Deoarece aproape toate testele de integritate pot fi executate pe client,
un singur monitor poate controla mulți clienți, chiar dacă monitorul însuși folosește dur- și
componente software.
Deoarece monitorul și clientul sunt (adică, ar trebui să fie) computere diferite, monitorul trebuie
comunica cu clientul într-un mod sigur. Acest lucru se realizează prin SSH. Deci, există
un alt element de „încredere locală” implicat aici: clientul ar trebui să permită monitorului
configurați o conexiune SSH securizată, permițând monitorului să acceseze elementele sensibile din
sistemul de fișiere al clientului.
It is important la asigura acea public acces la il monitorizează is prevenit. Nu intrare
Servicii să be permis. acces la il monitorizează să be de ei consolă și
il monitorizează să be plasat in a punct de vedere fizic sigur locație. sensibil informații of
clientii sunt stocate in il monitorului fişier sistemului. La acces il clientii Stealth in daemon
mod poate să utilizare a protejat de frază de acces cheie ssh, permiţând Stealth la efectua ei sarcini
după aceea. Acest, de asemenea, face it important la împiedica il monitorizează din fiind accesate by
neautorizat persoane.
Dacă, în loc să alergi Stealth în modul deamon se preferă să lase Stealth efectua
scanări de integritate unice, dar automate, apoi noi ssh(1) conexiunile pot fi dificil de realizat
stabiliți dacă cheia ssh utilizată este protejată cu o frază de acces. Pentru a implementa acest scenariu (de exemplu,
scanări automate de integritate folosind chei ssh protejate cu frază de acces) programul ssh-cron(1) poate
să fie folosit în mod profitabil.
StealthModul actual de conectare la clienți folosește un singur ssh(1) conexiune, care
rezultă într-un singur ssh(1) intrare în fișierele de jurnal ale clientului, care durează pentru
durata Stealtha alergat. Atunci când se utilizează Stealth în modul daemon, acest lucru minimizează și
"amprenta" Stealth are pe gazdele client.
Monitorul în sine necesită în mod normal doar două tipuri de servicii de ieșire: SSH a ajunge la a sa
clienți și un agent de transport poștă (de exemplu, sendmail(1)) pentru a trimite corespondența trimisă către
un centru de e-mail.
Iată ce se întâmplă când Stealth rulează folosind primul rezumat:
o În primul rând, Politica fișierul este citit. Pentru fiecare client este definit un fișier de politică,
cu precizarea acțiunilor de efectuat și cu precizarea valorilor mai multor
variabilele utilizate de Stealth.
o Dacă opțiunea de linie de comandă --daemon este specificat, Stealth rulează ca un demon
proces, folosind Unix Domain Socket ( ) pentru comunicare cu Stealth
procesele care rulează în modul IPC.
Dacă accesul la Unix Domain Socket definit de Stealth rulează în modul daemon
ar trebui să fie restricționat, poate fi definit într-un director cu este accesibil numai pentru
utilizatorul care rulează Stealth (acesta va fi adesea utilizatorul root).
Când rulați în modul daemon, --repeat poate fi specificat pentru a rula din nou
scanare de integritate fiecare secunde. Dacă se efectuează o scanare de integritate
când, în conformitate cu intervalul de repetare, urmează următoarea scanare de integritate, atunci
scanarea curentă este mai întâi finalizată. Odată finalizată, următoarea scanare de integritate va fi
efectuat după secunde secunde.
o Apoi, monitorul deschide un shell de comandă pe client folosind ssh(1) și o comandă
shell pe monitorul computerului însuși folosind sh(1).
o Odată ce shell-urile de comandă sunt disponibile, comenzile definite în fișierul de politici sunt
executate în ordinea lor de apariţie. Mai jos sunt date exemple. În mod normal, întoarce-te
sunt testate valorile programelor. Când valorile returnate urmează să fie testate Stealth
se termină când este detectată o valoare returnată diferită de zero. Dacă se întâmplă acest lucru, un mesaj
precizând motivul pentru care Stealth terminated este scris în fișierul de raport (și în
mailul trimis de Stealth). În unele cazuri (de exemplu, când fișierul de raport nu a putut fi
scris), mesajul este scris în fluxul de erori standard.
o De foarte multe ori testele de integritate pot fi controlate folosind găsi(1), apelând programe precum
ls(1), sha256sum(1) sau propria metodă -printf pentru a produce integritatea fișierului
statistici. Majoritatea acestor programe scriu nume de fișiere la sfârșitul liniilor generate.
Această caracteristică este folosită de unul dintre Stealthrutinele interne pentru a detecta schimbările
în ieșirea generată. Astfel de modificări ar putea indica o intenție dăunătoare, cum ar fi un
instalat root-kit.
o Când sunt detectate modificări, acestea sunt conectate a raportează fişier, la care informații
este întotdeauna atașată. Stealth nu reduce niciodată dimensiunea fișierului de raport și nu îl rescrie
continuturi. Când informațiile sunt adăugate la fișierul de raport (dincolo de o ștampilă de timp simplă)
informațiile nou adăugate sunt trimise prin e-mail la o adresă de e-mail configurabilă pentru
prelucrare ulterioară (umană). De obicei, e-mailul este trimis către managerul de sistem al
clientul testat. Stealth urmează abordarea „cabină întunecată” în sensul că nu
e-mailul este trimis atunci când nu au fost detectate modificări.
o Raportul și alte fișiere jurnal pot fi rotite în siguranță între o pereche de --suppress și
--resume comenzile (vezi mai jos la secțiunea `RAPORTARE ROTARE FIȘIER').
If Stealth nu ar trebui să fie rulat ca un proces demon, al doilea sinopsis poate fi folosit. In acest
caz Stealth efectuează una sau mai multe scanări de integritate (acestea din urmă când opțiunea --repreat
a fost specificat). Când se solicită o singură scanare de integritate Stealth se încheie după
scanează. Când este specificat --repeat Stealth afișează un prompt (adică, `? ') și se termină după
apăsând tasta Enter.
Al treilea sinopsis este folosit pentru comunicarea cu a Stealth demonul. În acest caz, cel
Unix Domain Socket definit de Stealth procesul demon trebuie specificat după
opțiunea care specifică comanda solicitată.
OPŢIUNI
Opțiunile scurte sunt furnizate între paranteze, imediat după opțiunea lor lungă
echivalente.
Descrierile opțiunilor care arată (C) pot fi utilizate numai pe linia de comandă și sunt ignorate atunci când
specificat în a doua secțiune a fișierului de politici.
În prezentarea de ansamblu a opțiunilor ` ' reprezintă numele Unix domeniu Priză a folosi,
și ` ' se referă la o specificație (relativă sau absolută) a unei locații de fișier.
Cu primul și al doilea rezumat locații relative (ale Unix Domain Socket și ale
alte specificații ale fișierelor) sunt interpretate în raport cu directorul de lucru curent.
Opțiunile din linia de comandă anulează opțiunile definite în fișierul de politică.
o --daemon (-d) : (C) rulează ca proces de fundal (daemon). Când Stealth
procesul demon este pornit, Unix Domain Socket (tt ) poate să nu existe deja.
o --dry-run: (C) nu se efectuează scanări de integritate sau reîncărcări, dar se presupune că sunt OK.
Sarcinile rămase sunt îndeplinite în mod normal;
o --help (-h): (C) Afișează informații de ajutor și ieșire;
o --log (-L) : mesajele de jurnal sunt atașate la `spec. fișier'. Dacă fișier-spec o face
nu există, ea este mai întâi creată;
o --logmail: mail trimis de Stealth este înregistrată (necesită --log sau --syslog);
o --max-size [BKMG]: fișierele preluate de comenzile GET pot avea cel mult
octeți (B), KBytes (K), MBytes (M), GBytes (G). Dimensiunea implicită este 10M, cea implicită
unitatea este B.
o --no-mail: e-mailul nu este trimis. În mod implicit, e-mailul este trimis așa cum este configurat în
policy-file (--logmail poate fi specificat independent de --no-mail);
o --parse-policy-file (-p): (C) analizează fișierul de politică, după care Stealth se termină.
Specificați o dată pentru a vedea comenzile numerotate;
de două ori pentru a vedea și pașii de analiză a fișierului de politică.
Rezultatele sunt scrise la std. ieșire.
o --ping : (C) nu efectuează nicio acțiune, dar este folosit pentru a verifica dacă a Stealth daemon
poate fi accesat prin intermediul soclului de domeniu Unix ( ). Daemonul va răspunde chiar dacă
în prezent efectuează o scanare de integritate. Este folosit de /usr/bin/stealthcron
script pentru a verifica că a Stealth demonul este în viață.
o --interval-aleatoriu (-i) [m]>: începe scanarea la un interval aleator de
secunde (sau minute dacă se atașează un „m” (fără spații libere) la )
în urma întârzierii specificate la --repeat (vezi mai jos). Această opțiune necesită
specificarea opțiunilor --repeat și --daemon;
o --reîncărcare : (C) reîncarcă configurația și omite fișierele și repornește scanarea
a Stealth proces demon. Opțiunile definite în fișierul de politici sunt de asemenea
reîncărcat. Cu toate acestea, opțiunile din linia de comandă au întotdeauna prioritate față de opțiunile definite
în fișierul de politici, deci atunci când opțiunile din linia de comandă au fost utilizate la pornire Stealth in
modul demon, acestea nu pot fi modificate prin reîncărcarea fișierului de politică.
o --repetă : treziți-vă și efectuați o scanare de integritate la întreruperi sau după
secunde (sau minute dacă se atașează un „m” (fără spații libere) la ) după
finalizarea scanării anterioare de integritate. Opțiunea --random-interval poate fi folosită pentru
adăugați o întârziere aleatorie la până când se efectuează următoarea scanare de integritate. Acest
opțiunea necesită specificarea opțiunii și --daemon;
o --reluare : (C) începeți să executați comenzile de scanare a integrității care sunt specificate în
il Stealth fișierul de politică al procesului demon;
o --reluare : (C) reluați o suspendare Stealth proces, implică --reluare;
o --run-command (-r) : (C) Executați numai numărul de comandă (numar natural).
Numerele comenzilor sunt afișate prin Stealth ---parse-policy-file. Această opțiune poate fi doar
specificate folosind al doilea rezumat;
o --skip-files (-s) : toate intrările în sunt sărite. Al lor
integritatea nu este monitorizată. Dacă o intrare este deja prezentă într-un fișier jurnal, atunci
Stealth o dată generează un mesaj IGNORING în mailul trimis la adresa
specificat la EMAIL în fișierul politicii. Fiecare intrare menționată în fișier-spec trebuie să fie activată
o linie proprie și trebuie specificată folosind căi absolute ale fișierelor. Intrări care se termină
într-o bară oblică se presupune că sunt directoare al căror conținut complet trebuie sărit. Alte
intrările sunt interpretate ca nume de fișiere de ignorat. Spații libere inițiale și finale,
liniile goale și liniile care au un # ca primul lor caracter neblank sunt ignorate. Aici
sunt cateva exemple:
# sări peste toate fișierele din directorul de e-mail al utilizatorului
/home/user/Mail/
# săriți fișierul .history al utilizatorului
/acasă/utilizator/.istorie
o --stdout (-o): mesajele sunt (de asemenea) scrise pe std. flux de ieșire (numai
disponibil cu al doilea rezumat);
o --suspend : (C) suspendă un activ în prezent Stealth proces. Ca urmare a
--suspend use --resume pentru a reactiva un Stealth daemon sau --terminate pentru a termina un
Stealth demon;
o --syslog: scrie mesaje syslog;
o --syslog-facility : facilitate syslog de utilizat. Facilitatea implicită DAEMON
este folosit;
o --syslog-priority : prioritate syslog de utilizat. În mod implicit, prioritate NOTIFICARE este
folosit;
o --syslog-tag : specifică identificatorul care are prefixul syslog
mesaje. În mod implicit, este folosită eticheta `STEALTH', vezi și secțiunea următoare;
o --termină : (C) termina un activ în prezent Stealth proces;
o --timpul-timp (-t) : marcajele de timp de utilizat. Implicit UTC. Pentru a folosi localul
specificați timp --time-stamp LT. Opțiunea --time-stamp nu se aplică mărcilor de timp
generat de syslog (vezi și secțiunea următoare);
o --usage: (C) Afișează informații de ajutor și ieșire;
o --verbositate : determină cantitatea de informații înregistrate. Necesită opțiuni
--log sau --syslog. Valorile posibile sunt:
0: nimic nu este înregistrat
1: rapoarte de mod (implicit) și comenzi de politică
2: de asemenea: comenzi și acțiuni ipc
3: de asemenea: mesaje informative de scanare a integrității
o --version (-v): (C) Afișare Stealthinformațiile despre versiunea lui și terminați;
o politică: specificarea fișierului de politică. Dacă este specificată o locație relativă
atunci această locație este interpretată în raport cu directorul de lucru curent.
Stealth convertește această specificație relativă într-o locație absolută a fișierului și un
opțiunea ca --reload va reîncărca fișierul de politică din absolutul astfel determinat
calea fișierului.
Numai una dintre opțiunile --daemon, --reload, --resume, --suspend sau --terminate poate fi
specificat. Opțiunile --reload, --rerun, --resume, --suspend și --terminate ignoră orice
alte optiuni.
Următoarele opțiuni sunt încă recunoscute pentru compatibilitatea cu versiunea anterioară Stealth
versiunile anterioare 3.00 și vor fi eliminate în viitor Stealth versiune. Ele generează erori
mesaje care sugerează alternative:
o --echo-commands (-e): echo comenzi la eroare std atunci când sunt procesate; utilizați --log
in schimb.
o --keep-alive: alerga ca un daemon; folosiți în schimb --daemon.
o --only-stdout: raportul de scanare este scris în stdout; utilizați în schimb --stdout.
o --quiet (-q): suprimă mesajele de progres scrise în stderr; utilizați --verbositate 0
in schimb.
o --suprima : suprimă un curent activ Stealth proces; folosește --suspend
in schimb.
Următoarele opțiuni au fost întrerupte începând de atunci Stealth Versiune 3.00.00:
o --debug (opțiunea --verbosity sau --dry-run ar putea fi folosită în schimb);
o --procese-fără-copil;
o --parse-config-file.
Când specificați opțiuni lungi în fișierele de politici, cratimele inițiale ar trebui să fie omise. Aici sunt
Cateva exemple:
%%
log /tmp/stealth.log
verbozitate 3
EXIT STAREA
La solicitarea unei comenzi IPC sau la pornire Stealth ca un daemon 0 este returnat dacă
comanda a fost finalizată cu succes. În caz contrar, se returnează o valoare diferită de 0.
OPEN SSH LINK LA CLIENTI
Odată Stealth a început ca proces de prim-plan sau demon care efectuează scanări de integritate a fișierelor
ssh(1) este folosit pentru a se conecta la clientul(i) monitorizat(i) de Stealth. În timp ce Stealth aleargă numai
unu ssh(1) conexiunea este deschisă fiecărui client. Această conexiune rămâne activă în timpul
Stealthdurata de viață a lui pentru a minimiza numărul de ssh intrări în fișierele jurnal ale clientului.
THE POLITICĂ FILE
Fișierul de politici este format din două secțiuni, a doua secțiune este opțională și începe la a
linie care conține doar %%.
Prima secțiune a fișierului de politici constă din două seturi de date: utilizare instrucțiuni (pornire
cu cuvântul cheie UTILIZAȚI) Şi comenzi. Liniile goale și informațiile dincolo de semnele hash (#) sunt
ignorat, în timp ce liniile care urmează liniile care se termină cu bare oblice inverse (\) sunt concatenate (en
pasant eliminând aceste bare oblice inverse finale). Conducerea spațiului alb pe liniile politicii
fișierul este ignorat.
A doua secțiune (opțională) începe la o linie care conține doar %%. În urma acestui lucru
linia de separare pot fi introduse mai multe specificații pentru opțiuni lungi (vezi mai jos la secțiunea
OPŢIUNI). Opțiunile specificate pe linia de comandă au prioritate față de opțiunile specificate în
dosarul politicii. Deși opțiunea --reload reîncarcă fișierul de politică, acesta nu se va modifica
valorile opțiunilor specificate inițial ca opțiuni de linie de comandă. Această secțiune poate conține
specificațiile skip-files și opțiunile de jurnal. Locațiile relative ale fișierelor specificate pentru
aceste opțiuni sunt interpretate în raport cu locația fișierului de politici. De exemplu, dacă
Argumentul fișierului de politici este specificat ca /root/client/policy, apoi jurnalul de specificații:
client.log are ca rezultat Stealth scriindu-și jurnalele în fișierul /root/client/client.log.
DEFINI DIRECTIVE
DEFINI directivele sunt folosite pentru a asocia șiruri mai lungi de text cu anumite simboluri. De exemplu,
după DEFINE FINDARGS -xdev -type f -exec /usr/bin/sha256sum {} \; caietul de sarcini
${FINDARGS} poate fi folosit în UTILIZAȚI DIRECTIVE și comenzi (vezi mai jos) pentru a folosi textul
asociat cu GĂSĂTĂRI simbol.
Rețineți că DEFINI simbolurile pot fi folosite și în definiția altora DEFINI simboluri ca
bine. Ar trebui evitate definițiile circulare directe sau indirecte, deoarece fie nu sunt, fie
extins incomplet.
UTILIZAȚI DIRECTIVE
Următoarele UTILIZAȚI directivele pot fi specificate (directivele sunt scrise cu majuscule și
ar trebui să apară exact așa cum este scris mai jos: se păstrează literele mici). Specificațiile în
paranteze unghiulare (cum ar fi ) reprezintă specificații care urmează să fie furnizate de Stealth'S
utilizatori:
o UTILIZAȚI BASE
BASE definește directorul de unde Stealth opereaza. Toate rudele ulterioare
specificațiile de cale în fișierul de politici (inclusiv specificațiile de cale relative în
partea a doua a politicii) sunt interpretate relativ la BASE. By lipsă acesta este
director unde Stealth a fost început.
BASE iar alte căi inexistente sunt create automat de Stealth dacă nu încă
existent.
Exemplu:
UTILIZAȚI BASE /root/client
o UTILIZAȚI DD
DD utilizări ale caietului de sarcini /bin/dd implicit și definește locația dd(1)
program, atât pe server, cât și pe client. The DD programul este folosit pentru a copia fișiere
între client și monitor prin conexiunea ssh existentă. Programul
specificat aici este folosit doar de Stealth la executarea comenzilor PUT și GET
(descris mai jos).
Exemplu care arată valoarea implicită:
UTILIZAȚI DD /bin/dd
o UTILIZAȚI DIFER
Valoarea implicită DIFER utilizări ale caietului de sarcini /usr/bin/diff, și definește locația
dif(1) program pe monitor. The dif(1) programul este folosit pentru a compara un anterior
fișier jurnal creat al unei verificări de integritate cu un fișier jurnal nou creat.
Exemplu care arată valoarea implicită:
UTILIZAȚI DIFER /usr/bin/diff
o UTILIZAȚI DIFFPREFIX
DIFFPREFIX specificația definește dimensiunea prefixului adăugat de DIFF
comandă la liniile produse de comenzile executate prin Stealth.
Valoarea implicită /usr/bin/diff programul prefixează liniile fie prin `> ', fie prin `< '. The
valoarea implicită pentru este deci egal cu 2.
Exemplu care arată valoarea implicită:
UTILIZAȚI DIFFPREFIX 2
o UTILIZAȚI E-MAIL
E-MAIL specificația definește adresa de e-mail pentru a primi raportul
scanarea de integritate a clientului. Aici este urmată filozofia „cabină întunecată”: mail
este trimis numai atunci când este detectată o modificare.
Exemplu care arată implicit (aparent o adresă de e-mail pe monitor):
UTILIZAȚI rădăcină EMAIL
o UTILIZAȚI MAILER
MAILER specificația definește programul care să trimită e-mail către
E-MAIL-abordare. Contrar la DIFER și DD și (vezi mai jos) SH și SSH, MAILER este condus ca
a / Bin / sh comanda, pentru a permite scripturilor shell să proceseze și e-mailul. În mod implicit
MAILER este definit ca /usr/bin/mail. MAILER este apelat cu următoarele argumente:
-------------------------------------------------- --------
MAILARGS, Vezi mai jos;
E-MAIL, destinatarul e-mailului.
-------------------------------------------------- --------
Exemplu care arată valoarea implicită:
UTILIZAȚI MAILER /usr/bin/mail
Ca alternativă, este furnizat scriptul stealthmail. Oferă un convenabil
sortarea filtrului Stealthieșirea lui și păstrând doar liniile care conțin textul ADDED,
MODIFICAT, ÎNDIRAT sau STEALTH. De obicei, aceste linii sunt cele care sunt managerii de sistem
este interesat. Raportul și fișierele jurnal pot fi oricând consultate pentru a determina
natura reală a modificărilor.
o UTILIZAȚI MAILARGS
MAILARGS specificația definește argumentele care sunt transmise către MAILER,
urmată de specificația EMAIL.
Exemplu care arată valoarea implicită:
USE MAILARGS -s „Raport de scanare STEALTH”
Rețineți că spațiile libere pot fi utilizate în specificația subiectului: utilizați dublu sau simplu
ghilimele pentru a defini elementele care conțin spații libere. Folosiți \" pentru a folosi ghilimele duble în a
șir care în sine este delimitat prin ghilimele duble; utilizați \' pentru a folosi un singur ghilimeleu în a
șir care în sine este delimitat prin ghilimele simple.
o UTILIZAȚI RAPORT
RAPORT definește numele fișierului de raport. Informațiile sunt întotdeauna atașate la aceasta
fişier. La fiecare Stealth scanare de integritate a timp marcator linie este scris în raport
fişier. Numai când (pe lângă linia de marcare) sunt adăugate informații suplimentare
la fișierul de raport, conținutul adăugat al fișierului de raport este trimis prin poștă
adresa specificată în UTILIZAȚI E-MAIL specificație. Când un dosar relativ
se folosește specificația, se interpretează o locație relativă la BAZĂ DE UTILIZARE
specificație.
Exemplu care arată valoarea implicită:
Raport de utilizare
o UTILIZAȚI SH
SH utilizări ale caietului de sarcini / Bin / sh implicit și definește shell-ul de comandă folosit de
monitorul să execute comenzi pe sine. Aceasta trebuie să fie o cale absolută
specificație.
Exemplu care arată valoarea implicită:
UTILIZAȚI SH / Bin / sh
o UTILIZAȚI SSH
SSH specificație are Nu. lipsă și trebuie să: fi specificat. Acesta trebuie să fie un
specificarea căii absolute.
Presupunând clientul trusturi monitorul (care este până la urmă tot ceea ce este programul acesta
despre, deci aceasta nu ar trebui să fie o presupunere foarte puternică), de preferință ssh public
cheia monitorului ar trebui să fie plasată în fișierul rădăcină .ssh/authorized_keys al clientului,
acordarea accesului rădăcină monitorului către client. Accesul la rădăcină este în mod normal necesar
obține acces la toate directoarele și fișierele sistemului de fișiere al clientului.
În practică, conectarea la un cont folosind sh(1) se preferă coajă. Când
un alt shell este deja folosit de acel cont, ar trebui să vă asigurați că shell-ul său
nu își definește propriile redirecționări pentru intrarea standard și ieșirea standard. Într-un fel
a realiza aceasta este pentru a forţa executarea a / Bin / sh în UTILIZAȚI SSH
specificație. Exemple:
shell-ul # root este / Bin / sh:
UTILIZAȚI SSH root@client -T -q
# root folosește un alt shell, dar utilizarea lui / bin / bash e fortat:
UTILIZAȚI SSH root@client -T -q exec / bin / bash
# o alternativa:
UTILIZAȚI SSH root@client -T -q exec / bin / bash --noprofile
În unele instalații Stealth este folosit pentru a inspecta monitorul în sine, chiar dacă acest lucru este
nu recomandat, deoarece încalcă unul dintre principalele motive pentru Stealthexistența lui. Dar în
acele situații (deci, unde Stealth este folosit pentru a monitoriza integritatea localhost),
/ bin / bash ar putea fi specificat la directiva USE SSH. De exemplu:
# Pentru inspectarea stealth localhost:
UTILIZAȚI SSH / bin / bash --noprofile
COMANDE
În urma UTILIZAȚI caietul de sarcini, comenzi poate fi specificat. Comenzile sunt executate în
ordinea lor de apariție în dosarul de polițe. Procesarea continuă până la ultima comandă
a fost procesată sau până când o comandă testată (vezi mai jos) returnează o valoare returnată diferită de zero.
USCATĂ COMANDE
Următoarele USCATĂ comenzile sunt disponibile:
o USCATĂ
Aceasta definește o etichetă text care este scrisă în RAPORT dosar, în fața
ieșire generată de următorul VERIFICA-comanda. Dacă următorul VERIFICA-comanda generează nr
ieșire, eticheta-text nu este scrisă în RAPORT-fişier. Odata USCATĂ a fost
definit, este folosit până când este redefinit de către următorul USCATĂ. Folosește un gol USCATĂ
specificație pentru a suprima tipărirea etichetelor.
Textul poate conține \n caractere (două caractere) care sunt transformate în a
caracter newline.
Exemplu:
LABEL Inspectarea fișierelor în / Etc\nInclusiv subdirectoare
USCATĂ
(În acest exemplu, primul USCATĂ specificația este ștearsă de acesta din urmă USCATĂ
comanda).
LOCAL COMANDE
LOCAL comenzile sunt executate pe monitor însuși:
o LOCAL
Executați comanda pe monitor, folosind SH shell de comandă. Comanda trebuie
reușește (adică trebuie să returneze o valoare de ieșire zero).
Exemplu:
LOCAL scp rootsh@client:/usr/bin/sha256sum / tmp
Această comandă o copiază pe cea a clientului sha256sum(1) program pe monitor.
o LOCAL NOTĂ
Executați comanda pe monitor, folosind SH shell de comandă. Comanda poate sau poate
nu reușesc.
Exemplu:
NOTĂ LOCALĂ mkdir /tmp/subdir
Această comandă creează /tmp/subdir pe monitor. Comanda eșuează dacă directorul
nu poate fi creat, dar acest lucru nu se încheie Stealth.
o LOCAL VERIFICA [LOG =] [pathOffset]
Executați comanda pe monitor, folosind SH shell de comandă. Comanda trebuie
a reusi. Ieșirea acestei comenzi este comparată cu ieșirea acestei comenzi
generate în timpul verificării anterioare a integrității efectuate de Stealth.
Fraza LOG = este optional. Când o locație relativă a fișierului este specificată la
este interpretat relativ la specificația căii USE BASE.
PathOffset este, de asemenea, opțional. Dacă este specificat, definește decalajul (bazat pe 0) unde
numele de căi ale fișierelor inspectate încep în liniile produse de . În mod implicit
Stealth presupune că prima apariție a unei bare oblice o definește pe prima
caracterul numelor de căi ale fișierelor inspectate.
De exemplu, dacă ieșirea diff arată astfel:
01234567890123456789012345678901234567890 (decalaje de coloane)
33c33
< 90d8b506d249634c4ff80b9018644567 filename-specification
---
> b88d0b77db74cc4a742d7bc26cdd2a1e filename-specification
apoi caietul de sarcini
LOCAL CHECK fișier jurnal 36 comandă care urmează să fie executată
informează Stealth unde să găsiți specificațiile numelui de fișier în ieșirea diff. Folosind
standardul /usr/bin/diff comanda, acest offset este egal cu 2 + offset-ul
specificația numelui de fișier găsită în comanda-de-fie executat.
Orice diferență între ieșirea anterioară și cea curentă sunt scrise RAPORT. Dacă
au fost găsite diferențe, numele fișierului jurnal existent este redenumit în
logfile.YYMMDD-HHMMSS, cu YYMMDD-HHMMSS ștampila dată și oră (UTC) la momentul respectiv
Stealth a fost condus.
Rețineți că în cele din urmă pot fi create multe fișiere logfile.YYMMDD-HHMMSS: Este până la
managerul de sisteme al monitorului să decidă ce să facă cu vechiul marcat cu data și oră
fișiere jurnal.
Specificațiile fișierului jurnal pot folosi căi relative și absolute. Când căi relative
sunt utilizate, aceste căi sunt relative la BASE. Când directoarele implicate de
specificațiile fișierului jurnal nu există încă, ele sunt create mai întâi.
Exemplu:
Jurnalul de verificare locală = local/sha256sum sha256sum /tmp/sha256sum
Această comandă verifică suma SHA256 a programului /tmp/sha256sum. Rezultați
ieșirea este salvată la BASE/local/sha256sum. Programul trebuie să reușească (adică sha256sum
trebuie să returneze o valoare de ieșire zero).
o LOCAL NOTĂ VERIFICA [pathOffset]
Executați comanda pe monitor, folosind SH shell de comandă. Comanda poate sau poate
nu reușesc. În caz contrar, comanda funcționează exact ca LOCAL VERIFICA ...
comanda, discutată mai sus.
Exemplu:
VERIFICARE NOTĂ LOCALĂ LOG=local/sha256sum sha256sum /tmp/sha256sum
Această comandă verifică suma SHA256 a programului /tmp/sha256sum. Rezultați
ieșirea este salvată la BASE/local/sha256sum. Programul trebuie să reușească (adică sha256sum
trebuie să returneze o valoare de ieșire zero).
Rețineți că scp(1) comanda poate fi folosită pentru a copia fișiere între client și monitor,
folosind o comandă locală. Acest lucru, totuși, este descurajat, ca separat ssh(1)-conexiunea este
necesare pentru fiecare separat scp(1) comanda. Această subtilitate a fost adusă autorului
atenție de Hopko Meijerink ([e-mail protejat]).
Pentru a copia fișiere între client și monitor, comenzile GET și PUT (descrise
de mai jos) ar trebui folosite în schimb, deoarece aceste comenzi folosesc cele existente ssh(1) conexiune. În
general, comenzile LOCAL nu ar trebui folosite pentru a stabili suplimentar ssh(1) conexiuni la a
de client.
DISTANȚĂ COMANDE
Comenzile de la distanță sunt comenzi executate pe client folosind SSH coajă. Aceste comenzi
sunt executate utilizând setul PATH standard pentru SSH coajă. Cu toate acestea, se recomandă
specificați calea completă către programele care urmează să fie executate, pentru a preveni ``abordările troiene''
unde un cal troian este instalat într-un director „anterior” al specificației PATH decât
programul propus.
Două comenzi speciale de la distanță sunt GET și PUT, care pot fi folosite pentru a copia fișiere între
client și monitor. Pe plan intern, GET și PUT folosesc specificația DD. În cazul în care un
este utilizată specificația non-implicit, trebuie să vă asigurați că programul alternativ acceptă
ddOpțiunile (1) if=, of=, bs= și count=. Cu GET opțiunile bs=, count= și of= sunt
utilizate, cu PUT sunt folosite opțiunile bs=, count= și if=. În mod normal, nu ar trebui să fie nevoie
pentru a modifica specificația DD implicită.
Comanda GET poate fi utilizată după cum urmează:
o GET
Copiați fișierul indicat de client-path la client în local-path la monitor.
Aici, client-path trebuie să fie calea completă a unui fișier existent pe client,
local-path poate fi fie un director local, caz în care numele fișierului clientului este
utilizat sau poate fi specificat un alt nume de fișier, caz în care fișierul clientului este
copiat în numele de fișier local specificat. Dacă fișierul local există deja, este
suprascris prin procedura de copiere.
Exemplu:
GET /usr/bin/sha256sum / tmp
Programul /usr/bin/sha256sum, disponibil la client, este copiat pe monitor
/ tmp director. Dacă, indiferent de motiv, copierea eșuează, atunci Stealth se termină.
o GET NOTĂ
Copiați fișierul indicat de client-path la client în local-path la monitor.
Din nou, client-path trebuie să fie calea completă a unui fișier existent pe client,
local-path poate fi fie un director local, caz în care numele fișierului clientului este
utilizat sau poate fi specificat un alt nume de fișier, caz în care fișierul clientului este
copiat în numele de fișier local specificat. Dacă fișierul local există deja, este
suprascris prin procedura de copiere.
Exemplu:
OBȚIUNE NOTĂ /usr/bin/sha256sum / tmp
Programul /usr/bin/sha256sum, disponibil la client, este copiat pe monitor
/ tmp director. Comenzile rămase din fișierul de politici sunt executate, chiar dacă
procesul de copiere nu a avut succes.
Comanda PUT poate fi utilizată după cum urmează:
o PUT
Copiați fișierul indicat de local-path la monitor în remote-path la client.
Argumentul local-path trebuie să fie calea completă a unui fișier existent pe monitor.
Argumentul remote-path trebuie să fie calea completă către un fișier de pe client. Dacă
fișierul la distanță există deja, este suprascris de PUT.
Exemplu:
PUT /tmp/sha256sum /usr/bin/sha256sum
Programul /tmp/sha256sum, disponibil pe monitor, este copiat pe client ca
usr/bin/sha256sum. Dacă copierea eșuează, Stealth se termină.
o PUT NOTĂ
Copiați fișierul indicat de local-path la monitor în remote-path la client.
Argumentul local-path trebuie să fie calea completă a unui fișier existent pe monitor.
Argumentul remote-path trebuie să fie calea completă către un fișier de pe client. Dacă
fișierul la distanță există deja, este suprascris de PUT.
Exemplu:
PUNE NOTĂ /tmp/sha256sum /usr/bin/sha256sum
Copiați fișierul indicat de local-path la monitor în remote-path la client.
Argumentul local-path trebuie să fie calea completă a unui fișier existent pe monitor.
Argumentul remote-path trebuie să fie calea completă către un fișier de pe client. Dacă
fișierul la distanță există deja, este suprascris de PUT. Comenzile rămase în
fișierele de politică sunt executate, chiar dacă procesul de copiere nu a avut succes.
Comenzile simple pot fi executate pe computerul client prin simpla specificare a acestora. De
Desigur, acest lucru implică faptul că programele de pe client care sunt numite, de exemplu, LABEL, LOCAL sau
USE, nu poate fi executat, deoarece aceste nume sunt interpretate altfel de Stealth. este
este puțin probabil ca această restricție să prezinte o mare problemă...
Următoarele comenzi sunt disponibile pentru execuție pe client:
o
Executați calea comenzii pe client folosind SSH shell de comandă (este puternic
sfătuit să specificați o cale completă către comanda de executat). Comanda trebuie să reușească
(adică, trebuie să returneze o valoare de ieșire zero). Cu toate acestea, orice ieșire generată de
comanda este ignorată.
Exemplu:
/usr/bin/find / tmp -tip f -exec /bin/rm {} \;
Această comandă elimină toate fișierele obișnuite din și sub cele ale clientului / tmp director.
o NOTĂ
Executați calea comenzii pe client, folosind SSH shell de comandă. Comanda poate sau
poate să nu reușească.
Exemplu:
NOTĂ /usr/bin/find / tmp -tip f -exec /bin/rm {} \;
La fel ca și comanda anterioară, dar de data aceasta valoarea de ieșire a /usr/bin/find nu este
interpretat.
o VERIFICA [LOG =] [pathOffset]
Executați calea comenzii pe client, folosind SSH shell de comandă.
Fraza LOG = este optional. Când o locație relativă a fișierului este specificată la
este interpretat relativ la specificația căii USE BASE.
PathOffset este, de asemenea, opțional și are aceeași semnificație ca și pentru VERIFICAREA LOCALĂ
comandă, descrisă mai sus. Comanda trebuie să reușească. Ieșirea acestei comenzi este
în comparație cu rezultatul acestei comenzi generat în timpul rulării anterioare a
Stealth. Orice diferență este scrisă la RAPORT. Dacă s-au găsit diferențe, cel
numele fișierului jurnal existent este redenumit în fișierul jurnal.YYMMDD-HHMMSS, cu AAAMMDD-HHMMSS
ștampila dată și oră la momentul respectiv Stealth a fost condus.
Rețineți că comanda este executată pe client, dar fișierul jurnal este păstrat pe
monitor. Această comandă reprezintă nucleul metodei implementate de Stealth:
nu vor fi reziduuri ale acţiunilor efectuate de Stealth asupra clientului
calculatoare.
Câteva exemple (rețineți utilizarea barei oblice inverse ca caractere de continuare a liniei):
VERIFICARE Jurnal = remote/ls.root \
/usr/bin/find /\
-xdev -perm /6111 -type f -exec /bin/ls -l {} \;
Toate fișierele suid/gid/executabile de pe același dispozitiv ca directorul rădăcină (/) de pe
computerele client sunt listate cu permisiunile, proprietarul și informațiile despre dimensiune. The
lista rezultată este scrisă pe fișier BASE/remote/ls.root.
VERIFICAȚI remote/sha256.root \
/usr/bin/find /\
-xdev -perm /6111 -type f -exec /usr/bin/sha256sum {} \;
Sumele de verificare SHA256 ale tuturor fișierelor suid/gid/executabile de pe același dispozitiv ca și
directorul rădăcină (/) de pe computerul client sunt determinate. Lista rezultată este
scris pe dosar BASE/remote/sha256.root.
o NOTĂ VERIFICA [LOG =] [pathOffset]
Executați calea comenzii pe client, folosind SSH shell de comandă.
Fraza LOG = este optional. Când o locație relativă a fișierului este specificată la
este interpretat relativ la specificația căii USE BASE.
PathOffset este, de asemenea, opțional și are aceeași semnificație ca și pentru VERIFICAREA LOCALĂ
comandă, descrisă mai sus. Comanda poate sau nu reuși. În caz contrar, cel
programul acționează identic ca și VERIFICA ... comandă, descrisă mai sus.
Exemplu:
Jurnalul de verificare a notelor = remote/sha256.root \
/usr/bin/find /\
-xdev -perm /6111 -type f -exec /usr/bin/sha256sum {} \;
Sumele de verificare SHA256 ale tuturor fișierelor suid/gid/executabile de pe același dispozitiv ca și
directorul rădăcină (/) de pe computerul client sunt determinate. Lista rezultată este
scris pe dosar BASE/remote/sha256.root. Stealth nu încetează dacă
/usr/bin/find programul returnează o valoare de ieșire diferită de zero.
Dimensiunea maximă de descărcare (folosind GET sau CHECK) poate fi specificată folosind --max-size
opțiune, vezi mai jos. În mod implicit, această dimensiune este setată la 10M.
RAPORT FILE ROTAȚIE
Întrucât Stealth adaugă doar informații la fișierul de raport, dimensiunea fișierului de raport poate
în cele din urmă devin prohibitiv de mari și poate fi de dorit rotația logului. Este desigur
este posibil să lansați o comandă --terminate, să rotiți fișierele jurnal și să reporniți Stealth, Dar
Stealth oferă, de asemenea, o facilitate de suspendare temporară a scanărilor de integritate efectuate de a
Stealth proces demon:
o Apelare Stealth cu opțiunea --suspend suspendă integritatea demonului
scanează. Dacă Stealth efectuează de fapt o serie de scanări de integritate când --suspend
este emisă, comanda în execuție curentă este mai întâi finalizată, după care
--suspend comanda finalizată. Odata ce Stealth demonul a fost suspendat, automat
sau cererile explicite de scanare a integrității sunt refuzate, iar demonul poate fi doar
instruit să-și reia sarcinile de scanare (Stealth --relua ) sau pentru a rezilia
(Stealth --termină ).
o Odată `Stealth --suspenda ' a revenit, fișierul de raport poate fi rotit în siguranță
(folosind, de exemplu, realizat(1)) și un fișier de raport nou (vid) poate fi opțional
creat de procesul de realizare.
o Odată ce rotația jurnalului a fost finalizată, procesul de rotație a jurnalului ar trebui să emită
comanda `Stealth --relua '. Aceasta reia activitățile unui suspendat
Stealth proces demon, efectuând imediat următoarea scanare de integritate. Ca urmare a
acesta este Stealth daemonul a revenit la modul original de scanare a integrității. Aici este
un exemplu de realizat(1) specificație rotativă Stealth fisiere jurnal:
/root/stealth/clienthost/small/report /var/log/stealth/clienthost-small.log {
zilnic
rotiți 4
comprima
lipsingok
copytruncate
scripturi partajate
prerotate
/usr/bin/stealth --suspend /root/stealth/client/small.uds
final
postrotate
/usr/bin/stealth --resume /root/stealth/client/small.uds
final
}
REÎNCĂRCARE, RUNĂ AND TERMINAȚI
Iată ce se întâmplă când Stealth este rulat folosind al treilea rezumat:
o Când a început ca Stealth --reincarca , cel Stealth procesul demon își reîncarcă
fișier de politică și (dacă este specificat) fișierul de specificații --skip-files. În continuare Stealth
procesul demon efectuează o scanare a integrității fișierului folosind informațiile din recitit
fișiere de politică și skip-files. Stealth poate reîncărca conținutul (modificat) al
numele specificate inițial pentru politici și pentru fișierele de ignorare. Dacă o altă politică și/sau
fișierele skip-files trebuie să fie utilizate în altă parte Stealth trebuie început procesul, pentru care
aceste nume de fișiere noi sunt specificate.
o Când a început ca Stealth --reluare , cel Stealth daemon efectuează o altă scanare
(cu excepția cazului în care a fost suspendat folosind Stealth --suspenda ).
o Când a început ca Stealth --termină , cel Stealth demonul este terminat.
RSYSLOG FILTRU
Atunci când se utilizează rsyslogd(1) filtrele bazate pe proprietăți pot fi utilizate pentru a filtra mesajele syslog și
scrieți-le într-un fișier la alegere. De exemplu, pentru a filtra mesajele care încep cu syslog
utilizarea etichetei de mesaj (de exemplu, STEALTH).
:syslogtag, este egal, „STEALTH:” /var/log/stealth.log
:syslogtag, isequal, „STEALTH:” opriți
Rețineți că două puncte fac parte din etichetă, dar nu sunt specificate cu opțiunea syslog-tag.
Acest lucru face ca toate mesajele care au eticheta STEALTH: să fie scrise pe /var/log/stealth.log
după care sunt aruncate. De asemenea, este acceptată o filtrare mai extinsă, vezi, de exemplu,
http://www.rsyslog.com/doc/rsyslog_conf_filter.html și
http://www.rsyslog.com/doc/property_replacer.html
Marcajele de timp scrise de rsyslogd nu sunt controlate de StealthOpțiunea --time-stamp, dar,
de exemplu, printr-o specificație TZ în /etc/default/rsyslog. Pur și simplu adăugați linia
export TZ=UTC
la /etc/default/rsyslog, urmat de repornirea rsyslogd, configurează rsyslogd să genereze
marcajele de timp folosind UTC.
IMPLEMENTARE REZUMAT
Următoarele rezumă pașii recomandați pe care trebuie să îi efectuați la instalarea stealth. Toate acestea
paşii sunt elaborati în Stealth'S Utilizator Ghid (capitol Alergare `stealth'):
o Instalați Stealth (de exemplu, folosiți dpkg(1) pentru a instala .deb fişier);
o Construiți unul sau mai multe fișiere de politici;
o Automatizați (re)pornirea Stealth folosind cron(1) sau ssh-cron(1) (eventual apelând
stealthcron);
o Configurați rotația automată a fișierelor jurnal, folosind, de exemplu, curăţare ascunsă și realizat(1),
definirea unuia sau mai multor fișiere de configurare /etc/logrotate.d/stealth....
Utilizați stealth online folosind serviciile onworks.net