Hyppää sisältöön

Aleksi Manninen designer, kitaristi

[ Etusivu | Lukemista | Historia | Yhteys ]

Saitin ylösnousemus

Silloin tällöin tuntuu, että itseään graafikoksi tituleeraaminen antaa aika kapean kuvan siitä, mitä työpäivään itseasiassa kuuluu. Tavoitteeni on, että asiakas kokee tulleensa palvelluksi, ja aika monesti siihen ei pelkkä kuvatiedostojen lähettely riitä.

Muutama vuosi sitten tein asiakkaalle pienen sivuston WordPressillä. Se oli aktiivinen oman aikansa, sitten asiakas lopetti yrityksen ja jäi eläkkeelle. Suora leikkaus kesään 2016: asiakas soittaa ja ilmoittaa että sivut on hakkeroinnin vuoksi suljettu, mitäs tehdään? Palauttelin asiaa mieleen ja ymmärsin, että eläköityminen onkin näköjään peruttu.

WWW-palveluntarjoaja oli jo ratkaissut ongelman omasta puolestaan normaalisti sulkemalla sivuston. Backupilta löytyi vanhat FTP-salasanat, ja kävimme toteamassa murheellisen tilanteen – viimeisin päivitetty WordPress-versio oli 2.9.3 ja sen tietoturva-aukkoa hyödyntäen oli saastutettu suuri määrä tiedostoja, lisätty haittakoodia sisältäviä tiedostoja palvelimelle sekä muutettu adminien käyttäjätunnuksia, salasanoja ja sähköpostiosoitteita.

Olimme yhteydessä palveluntarjoajaan, jonka edustaja ilmoitti, että koska sivusto on niin saastunut, se poistettaisiin ja aloitettaisiin uusi puhtaalta pöydältä. Ihan järkevää, tarvitsisi vain ottaa tietokanta ja uploadaukset talteen ja sitten importata ne uuteen WordPressiin. Otin yhteyttä teknisiin kumppaneihini, jotka kaikki tietenkin olivat täynnä töitä juuri ennen juhannusta.

Asiakas taas ilmoitti, että hänen eläkepäiviään ei muutama lisäpäivä haittaa ja jos kustannuksia syntyy, niin maksettavahan se vain on. Päätin kuitenkin odotellessa tutkia, että mitä mahdollisuuksia tällaisella komentoriviä juuri ymmärtämättömällä olisi ratkaista ongelma:

Ensin maanittelin palveluntarjoajan avaamaan palvelun jälleen, lupaamalla pyhästi että jos pikakokeiluni ei tuota tulosta, saavat sulkea sen uudelleen ja asia korjataan ammattilaisten toimesta, kuten ensin ehdottivat. Tämä tehosi, ja pääsin päivittämään WordPressin uusimpaan (ensin tosin täytyi muuttaa hakkeroitu käyttäjätunnukseni taas omaksi PHPMyAdminilla). Loikka versiosta 2.9.3 versioon 4.5.3 sujui ongelmitta.

Poistin ylimääräiset teemat ja lisäosat, ja kopioin talteen uploadatut kuvat ja tietokannan.

Seuraavaksi asensin WordFencen, jonka automaattiskannaus odotetusti löysikin kymmeniä saastuneita tiedostoja. Yksi saastuneista tiedostoista oli wp-config.php, jonka nappasin talteen. Muut saastuneet tiedostot olivat hakkerin lisäämiä, joten valitsin kaikki bulkkipoistoon ja WordFence putsasi ne pois.

Poistettu wp-config tietysti aiheutti nyt sen, että WordPressin asennus käynnistyi uudelleen. Olisi voinut uploadata vanhan wp-configin, josta olisi poistettu haittakoodi, mutta koska haasteeni oli tehdä ilman komentoriviosaamista, menin asennuswizardin läpi syöttäen vanhat tunnukset. Saitti heräsi henkiin ja kävin silmäilemässä läpi mahdolliset tuhot. Kaikki näytti toimivan, paitsi nyt jo poistetun kehityspalvelimen kautta aikoinaan syötetyt kuvat sisälsivät väärän URLin ja eikä kuvat siis näkyneet.

Tähän löytyi loistava lisäosa Velvet Blues Update URLs, joka toimi suoraviivaisesti korvaten virheelliset palvelinviittaukset nykyisellä, ja kuvat palasivat sivuille (tämänkin etsi ja korvaa -tehtävän teknisesti suuntautuneempi henkilö olisi tietysti tehnyt suoraan tietokantaan).

MySQL-tunnukset vielä vaihdettiin, jotta mahdollisesti ne tietoonsa urkkineet eivät pääse tekemään tuhojaan. Pyysin palveluntarjoajaa tarkistamaan tulokset omalla skannerillaan, ja tulos oli puhdas!

Jos jätetään sähköpostien vastausten odotteluaika pois, aktiivista työaikaa tähän harjoitukseen meni reilu puoli tuntia. Tällainen työtapa ei tietysti sovellu ollenkaan kriittistä tietoa sisältäville suosituille sivustoille, mutta pieni kiireetön harrastussaitti nousikin (itsenikin) yllättäen pystyyn palveluntarjoajan suosiollisuudella ja parilla lisäosalla.

Lopputulema:

Lisäksi oma tavoitteeni täyttyi: asiakas tuli palvelluksi, ja mikä parasta, nopeammin kuin alunperin lupasin.