Mondhatjuk, hogy idejét múlt a következő post, de a jövőben talán hasznát veszik páran. Arról lesz szó most, hogy miképpen tudjuk könnyen automatizálni az oldalunk biztonsági mentéseit. A két nagy torrent razzia alatt megtanulhattuk, hogy nem árthat egy normális biztonsági mentés.
Több olyan volt az idei razziánál is, akik nem, vagy csak nagyon régi biztonsági mentéssel rendelkeztek. De ez nem új probléma, hiszen már a három évvel ezelőtti razziánál is hasonló volt a helyzet. Pedig alapvetően nem is olyan nehéz dolog ez. A felhasználók pedig láthatóan nagyon csalódottak, ha kedvenc oldaluk egy éves mentéssel tér vissza. Ennél is rosszabb, vagy veszélyesebb, ha az oldal egyáltalán nem rendelkezik biztonsági mentéssel. A mai “szoros” versenyben könnyen felszippantják az oldalak a szabadon eresztett felhasználókat.
Nézzük át, miből kellene állnia egy biztonsági mentésnek egy torrentoldalnál.
- frontend + tracker
- torrentek
- adatbázis
A frontend és tracker lényegében a torrentoldal váza. A frontend, amit látunk, maga a weboldal, amit nap mint nap látogatunk, a tracker pedig a fájlcseréért felel, kezeli a peereket. A tracker kódja ritkán változik, míg a frontend-en azért lehetnek napi szintű változtatások.
A torrentek természetesen szintén létfontosságúak, nélkülük az egész nem ér sokat. Egy pár hetes kiesés után még jó eséllyel a felhasználóknál vannak a torrentek, így ha visszatér az oldal, és sikerült visszaállítani a torrenteket, hamar visszaszerezhetjük a korábbi peer számokat.
Az adatbázis egyértelmű, ebben tároljuk a felhasználókhoz és a torrentekhez tartozó adatokat. Kritikus dolog, hogy minél kevesebb személyes adatot tároljunk. Ezt úgy lehet legkönnyebben elérni, hogy a lehető legkevesebb adatot követeljük meg a felhasználóktól. Nem kell születésnap, város, vagy internet sebesség. Amit lehet, azt pedig titkosítva tároljuk.
Mindezek mentése kézzel valóban nem egyszerű, és bizony hosszadalmas feladat. Ehhez nyújtunk most egy egyszerűbb megoldást. Nem találtuk fel mi sem a spanyolviaszt, egy internetes megoldást mutatunk, és magyarázunk el. Nem az egyetlen, és könnyen lehet, nem a legjobb, de sokak számára talán egy megfelelő kiindulási alap.
A script Unix alapú rendszerekhez készült, alapvetően Linuxon fog működni, de a legtöbb oldalt talán valamilyen linux szolgálja ki. A shell script futtatásához természetesen szükségünk van hozzáférésre is a szerveren. Lássuk a scriptet:
#!/bin/sh
# System + MySQL backup script
# Teljes mentés vasárnap, a többi napon inkrementális backup készül csak
# Copyright (c) 2005-2006 nixCraft <http://www.cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# Automatically generated by http://bash.cyberciti.biz/backup/wizard-ftp-script.php
# ———————————————————————
### Rendszer beállítások ###
DIRS=”/var/www /etc /var/torrents”
BACKUP=/tmp/backup.$$
NOW=$(date +”%d-%m-%Y”)
INCFILE=”/root/tar-inc-backup.dat”
DAY=$(date +”%a”)
FULLBACKUP=”Sun”
### MySQL Adatok ###
MUSER=”admin”
MPASS=”mysqladminpassword”
MHOST=”localhost”
MYSQL=”$(which mysql)”
MYSQLDUMP=”$(which mysqldump)”
GZIP=”$(which gzip)”
### FTP server Setup ###
FTPD=”/backup/incremental”
FTPU=”username”
FTPP=”ftppassword”
FTPS=”208.111.11.2″
FTPPO=”2121″
NCFTP=”$(which ncftpput)”
### Other stuff ###
EMAILID=”[email protected]”
### Backup indítása a filerendszeren ###
[ ! -d $BACKUP ] && mkdir -p $BACKUP || :
### Ellenőrzés, hogy a teljes backup napja van-e ###
if [ “$DAY” == “$FULLBACKUP” ]; then
FTPD=”/home/vivek/full”
FILE=”fs-full-$NOW.tar.gz”
tar -zcvf $BACKUP/$FILE $DIRS
else
i=$(date +”%Hh%Mm%Ss”)
FILE=”fs-i-$NOW-$i.tar.gz”
tar -g $INCFILE -zcvf $BACKUP/$FILE $DIRS
fi
### MySQL mentés indítása ###
# minden adatbázis mentése
DBS=”$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse ‘show databases’)”
for db in $DBS
do
FILE=$BACKUP/mysql-$db.$NOW-$(date +”%T”).gz
$MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done
### A mentések áttöltése egy távoli FTP-re ###
#Az ftp-hez ncftp -t használunk
ncftp -u”$FTPU” -p”$FTPP” -P”$FTPPO” $FTPS<<EOF
mkdir $FTPD
mkdir $FTPD/$NOW
cd $FTPD/$NOW
lcd $BACKUP
mput *
quit
EOF
### Ellenőrizzük, hogy sikeres volt-e a továbbítás ###
if [ “$?” == “0” ]; then
rm -f $BACKUP/*
else
T=/tmp/backup.fail
echo “Date: $(date)”>$T
echo “Hostname: $(hostname)” >>$T
echo “Backup failed” >>$T
mail -s “BACKUP FAILED” “$EMAILID” <$T
rm -f $T
fi
Lássuk akkor a script működését részletesen. Első körben nézzük meg, hogy mire van szükségünk. Azt már említettem, hogy ssh hozzáférés kell. A gépen emellett pár alapvető, nagyrészt alap linuxos parancsot is fogunk használni. Az adatbázis kimentéséhez mysql és mysqldump lesz a szolgálatunkra. A fájlokat gzip-pel csomagaljuk be, hogy könnyebb és gyorsabb legyen továbbítani ftp-vel. Ezt egyébként ncftp segítségével valósítjuk meg. Természetesen használhatunk másik parancsokat is a tömörítéshez és a csomagolt fájlok feltöltéséhez. Persze ha a rendszerünk nem mysqlt, hanem mondjuk postgresql-t használ, az is megoldható egy kis módosítással.
A script úgy működik, hogy a hét 6 napján csak az új fájlokat másolja fel (inkrementális backup), egy kiválasztott napon viszont teljes backupot készít a megadott könyvtárakról. Ahogy látható, nem árt, hogy ha a torrentek külön mappában vannak, így a frontend és a torrent backupja elkülöníthető. Ha nem megoldható, természetesen mehet egybe is.
A sikeresen összetömörített állományokat ezután ftp segítéségével áttöltjük egy másik helyre. Alapszabály, hogy soha ne arra a gépre csináljuk a mentést, amiről backupolunk, hiszen egy hdd hiba – vagy lefoglalás – esetén meg leszünk lőve. Hiszen hiába backup, ha nem érjük el. Ha hiba történne, még emailt is kapunk a dologról. Persze könnyen felturbózható a dolog, és megírhatjuk úgy is, hogy mindenképpen kapjunk emailt a script lefutásáról.
A kódban lévő kommenteket mi magyarítottuk, a mellékelt linken megtaláljátok az eredetit is és még sok más hasznos backup scriptet. Ezekből könnyedén összeállítható egy backup metódus mindenki szája íze szerint. (Az itt látható kódba csak annyi extra dolgot írtunk bele, hogy az ftp kapcsolódáshoz megadható a port is. Ha nem adjuk meg, akkor az alapértelmezett (21) porton fog próbálkozni.) Az oldal egyébként nagyon hasznos azoknak, akik szeretnének elmélyülni a linux shell script rejtelmeiben. Rengeteg példa van, és remek oktató oldalt hoztak össze.
Aki ennél lustább és megfelel neki a fent mellékelt megoldás, az használja az itt található generátort, aminek segítségével könnyen össze tudja állítani a számára megfelelő scriptet.
A cikk ötletéért köszönet illeti TGeRi-t, aki emailben hívta fel a figyelmünket arra, hogy ezzel talán tudunk segíteni a hazai oldalaknak.
augusztus 2, 2010 at 15:39 du.
Mindenki “fel tudja törni” a TrueCrypt-el titkosított merevlemezt, ha jelszóval volt védve. Ehhez nem kell zseninek lenni. Még csak nagyképűnek sem.
Csak azért nem írt senki más, mert leszarja és nem ér neki annyit, hogy a te fajtáddal hadakozzon. Természetesen jobb lett volna, ha csendben maradok én is, mert egy csapat birkával vitatkozni fölösleges. Úgyis azt szajkózzátok, amit a TVben láttok vagy az index és egyéb hírújságban olvastok.
augusztus 2, 2010 at 20:47 du.
user2
Írd le, hogy hogyan fognál neki. Hidd el, nem minden itteni “birka” funkcionális analfabéta informatikából.
Ha egy elfogadható megoldást publikálsz, linkelsz, stb, akkor majd az emberek elhiszik, hogy nem alaptalanul nagy a képed a témát illetően, és örök béke telepszik e témára, sőt akár gyökeres fordulatot is hozhat, és több embernek is taníthatsz valamit, akik ezáltal akár egyet is érhetnének veled. Plusz az oldal színvonalát is növelhetnéd, no meg az itteni e-péniszed méretét. (bocs ha ez durva volt. 😛 )
Amíg csak arra vagy képes, hogy szájkarate formájában próbálod bizonygatni , hogy “mindenki ‘fel tudja törni'”, és hogy a truecrypt “mennyire kamu titkosító”, addig a birkák nem nyugszanak. 🙂
A winyós ajánlatom még mindig áll. Ha biztosítasz hozzá gépet, akkor megoldjuk géppel együtt (feltéve ha pesti vagy), nekem sajna nincs felesleg. De ahogy már jeleztem, nekem, és szerintem sokaknak is elég lenne egy kis iromány a részletekről.
A duma, az nem érdekel, konkrét dolgokat akarok/unk.
augusztus 3, 2010 at 4:10 de.
Mellbimbo: Ősi sündör módszer megoldani, ne nagyon tudjon felmenni a netre az a gép. Ha konzolról lépsz be, akár IP konzol, akár helyben kéred ki konzolra a gépet, akkor már nincs meg az SSH biztonsága. Hogy a billentyűzetbe építenek “keyloggert” vagy a KVM / IP konzol forgalmát logolják, esetleg videoznak egy kicsit, az már olymindegy. Csakhogy torrent ügyben ezt nem fogják használni.
Ellenben a legtöbb aktív törési módszer, futó gépen körbenézés sok okból nem nyerő: Ugyanis ha tudják módosítani az adatokat onnan igen gyenge bizonyíték amit találnak.
A lefoglalt serverrel is azért érnek keveset, mert ők azt állítják, “ezt és ezt találtuk a serveren”, te meg azt állítod: Ők módosíthatták, módosították az adatokat. Egyetlen dolog lesz bizonyítható, hogy a számítógépes rendszer átvizsgállása házkutatás (gyanúsítottnak, az ő érdekeit képvselő személynek ott kellene lennie), az adat lefoglalásánál, azt ugye nem véletlenül kellene egyszer írható adathordozóra írni. Nem “elvisszük a gépet, és ellenőrizhetetlen módon kutakodunk”.
Ráadásul az ilyen ügyben tevékenykedő szakértők szavahihetőségét egy bizonyos szakértő is aláásta. Igen nehéz azzal érvelni ők mindig becsületesek.
Ellenben ha más úton-módon kiderül, hogy az valóban torrent tracker volt, akkor a server lefoglalása más miatt jön jól. A bírónak meg lehet súgni “itt sokmillió forint értékben volt több tucat számítógép, több cég, magánszemély, stb. nevén”… Szervezettségről, üzletszerűségről lehet beszélni. Ez is befolyásolhatja a bírót, bíróságot.
Nem akarják ők feltörni a rendszert, jobb azt mondani, hogy “ez a bűnszervezet olyan titkosítást használt ami több szakértő szerint feltörhetetlen, a rendőrséggel nem működött együtt, nem adta ki a jelszót”, lesz sok adat arra, hogy az a gép torrent server volt.
Ha nincs ott a jelszó, a bíró majd azt képzel bele a bizonyítékba amit akar. És így fog mérlegelni. Azt fogja mondani, az ilyen védekezés, szervezkedés, stb nyomós ok nélkül “életszerűtlen”, ha te mint terhelt nem azzal sszámoltál, hogy amit csinálsz az bűncselekmény. Eszerint értékeli a vallomásokat, a többi bizonyítékot.
Miért akarná a rendőrség feltörni a gépet, hogy kimondhassa, azon nem volt jogsértő adat?
sct: Tudod miért jó más serverre menteni, erre cron jobot használni, stb? Mert a kedves sünök, ha sniffelik az adatforgalmad, kapásból megtalálják a backupot is. Ők eggyel több gépet vittek el, jól mutat ez, nálad ez a backup nem maradt meg, ellenben a gzipelgetés mindig kicsit megfogja a gépet, a problémákat ismerjük. Marad az a backup amit helyben készítettél, elvittél, és nem mondod meg a rendőrnek melyik havernál van.
Ellenben a backup server léte jól jön a rendőrségnél a bizonyításnál.
augusztus 3, 2010 at 6:36 de.
Én nem tudom feltörni.
Szóval biztosan nem mindenki.
augusztus 3, 2010 at 12:46 du.
@TheElf :
A rendorseg hivatalosan sosem fogja kerni, hogy add meg a jelszavadat, ugyanis, te nem vagy koteles magad ellen terhelo bizonyitekot szolgaltatni…
Kriptohoz meg annyitt, hogy olvass utana a pausable deniability fogalmanak, olyat kell hasznalni ami ezt tamogatja, es akkor nem tudjak bebizonyitani, hogy az titkositott fajl…
Udv
augusztus 3, 2010 at 13:14 du.
@Portestáns Mikulás:
Ettől még kérik a jelszót, ha az érdekükben áll, nem vagy köteles magad ellen vallani, mégis minden gyanúsítottat kihallgatnak, hátha vall. Részben azért, mert így tisztázhatod magad, részben azért mert a beismerő vallomás ugye enyhítő körülmény lehet, részben azért mert jól jön az a bizonyíték.
Nyugodj meg: Ha nincs olyan adat a gépen amit indokolt titkosítani, némi hely “elveszett”, pont úgy, mint titkosításnál ha van még egy titkosított rendszer, stb. akkor ezeket az adatokat jópár szakértő le fogja írni, és a bíró mérlegelni fogja.
Itt nincs esküdtszék, ellenben van pl. bizonyítási szabadság, nem tudsz “precedenssel” kizárni bizonyítékot (nincs precedensjog), stb.
augusztus 3, 2010 at 21:45 du.
TrueCrypt ne hogy elmondja valaki a törést még csak az kéne hogy zsarut kitanítsátok egy vinyóért cserébe van eszetek?Asva info ne oktasd ezt pls!Maradjatok a jó öreg híreknél néha még az is sok.Tök jó lenne ez az oldal ha nem lenne itt ennyi zsaru.Ezek mindenhol ott vannak áll nick neveken stb igen sajnos ide jutott ez az ország hallgatni kell!!
augusztus 4, 2010 at 11:24 de.
Meg kell védenem user2-t, aki nem hiszi hogy a TC feltörhető, az nézze meg a Feree által korábban linkelt videót : http://www.youtube.com/watch?v=JDaicPIgn9U
Mondjuk az is igaz, hogy egyrészt egy sima vinyót kézbevéve nem működik a módszer (lásd a brazil esetet), vagy ha az amerikai kormányhivatalok hozzá is férnének valami titkos kiskapun keresztül (amit erősen kétlek, tekintve hogy open-source a cucc) akkor sem puffogtatják ezt el sem egy brazil, sem egy magyar esetre. Ellenben foglaláskor a rendőrség hozzáfér a működő géphez, csakúgy mint a videón, szóval az a módszer működőképes lehet ha nagyon akarják.
Azt gondolom, hogy a magyar rendőrök nem fognak ezzel foglalkozni, egyrészt mert nem feltétlenül értenek hozzá (igazából szerintem nem is elvárható hogy ilyen szinten képben legyenek, a kábítószergyártás kémiai hátterével sem kell tisztában lenniük, hogy valakit elkapjanak és bevarrjanak dílerkedésért), másrészt nem feltétlenül van rá szükségük. Ha tudják bizonyítani (márpedig tudják, hisz bent vannak az oldalakon) hogy egy adott IP-n egy torrent tracker üzemel és a gép gazdája nem hajlandó megadni a titkosításhoz használt kulcsot, az nekik bőven elég. Nyilván jól jön ha a gépen levő adathoz hozzáférnek, de nem létfontosságú.
augusztus 4, 2010 at 14:44 du.
Igen, ez a módszer működhet.. Bizonyos esetekben… Viszont több gond is van vele, pl hogy a ramból elég gyorsan eltűnik az adat. (hűtés nélkül 4-5 perc alatt teljesen, persze ez változhat a ram típusától is, de nem túl nagy mértékben)
Emiatt két lehetőség van ezt a módszert alkalmazni, lehűtik a ramot -50 fok körülire, és úgy van talán fél órájuk szállítani a ramot egy olyan helyre ahol gyorsan elvégzik a műveletet.
Vagy hűtés nélkül 3-4-5 percük van arra, hogy kiszereljék, beszereljék egy másik speciális eszközbe (vagy csatlakoztassanak egy eszközt), és kiolvassák, majd lementsék a ramok teljes tartalmát.
További probléma, hogy ez a módszer legjobb tudomásom szerint már a truecrypt 6-os verzió megjelenése óta nem alkalmazható, mivel onnantól már nem tárolja a szükséges key-t szabadon a ramban.
Ezért nincs igaza user2-nek. Persze lehet, hogy ő tud valamit amit mi nem, de akkor igazán be is mutathatná a tudását, mert bemutató nélkül csak alaptalan szájkarate az egész.
Ezen kívül ha jól tudom még két lehetőség van a feltörésre. Az egyik az “evil maid” támadás, ami leegyszerűsítve annyiból áll, hogy egy usb pendrive-ról bebootolva megfertőzhető az adott gép, ezáltal egy sniffer program kerül telepítésre, ami megjegyzi a beírt jelszót, és a későbbiekben ez lementhető róla.
A másik meg sima brute force. Ez viszont elég felejtős egy jó jelszó esetén, hacsak nem érünk rá pár ezer/millió évig.
augusztus 4, 2010 at 15:16 du.
A brute force felejtős, hacsak nem “Jancsika” a jelszó vagy ilyesmi. Egy “J+qH=a9odgF45$_s2bn” típusú jelszó esetén már nehézkessé válik a megfejtés (na de majd a quantum-számítógép 😀 )
Az említett USB pendrive-os módszer ott hasal el, ha a BIOS-t a fentihez hasonló erősségű jelszó védi és le van tiltva az USb-ről bootolás. Jobb helyeken a gépet (sőt a rack-et) sem lehet kinyitni csak úgy, szóval még a BIOS kiütése sem könnyen kivitelezhető. De mindezek szinte semmik ahhoz képest, hogy ha jól tippelem akkor egy ilyen rendőrségi akció után a jólelkű szerverhoszting adminok dobnának egy IRC üzenetet a szerver tulajának, hogy “Az oroszlán lejött a hegyről” vagy ilyesmit, amiből a túloldalon tudják hogy mi az ábra.
(vagy csak mert nekem van ilyen helyen haverom, azért hiszem hogy mind ilyen jólelkűek?)
Én a videóban azt láttam, hogy hűtéssel kb. 10 percet kap az ügyeskedő a RAM dump-olására. Ami pedig a TC6-ot illeti : a programnak valamilyen módszerrel hozzá kell férnie a kulcshoz ha használni akarja a disk-et, szóval lehet hogy a RAM-ban nem cleartext-ként tárolódik a kulcs, de a program elemzésével lehet olyan algoritmust kreálni, ami leutánozza amit csinál és visszafejti azt a kulcsot. Lehet hogy 1-2 órával tovább tart, de azt már a lementett adatokon csinálja, szóval nem számít annyira a sebesség.
(de ebben nem vagyok biztos, csak a józan paraszti ész nevű fiktív szabályt használtam)
Amit el tudok képzelni védelmet az egy olyan beépített hardware eszköz lenne, ami a gépház kinyitásakor random adatokkal teleírja a memóriát (akár többször is). Fontos hogy saját áramellátása legyen. Nincs az a villámkezű sün, aki annyi idő alatt kiszedi a RAM modulokat, főként ha köré van építve valami fizikai védelem is.
augusztus 4, 2010 at 15:22 du.
Ezt az utolsót továbbgondoltam és elképzeltem ahogy odakészülnek laptoppal, speckó memóriaolvasóval, fagyasztóspray-vel és amikor kinyitják a gépházat, akkor egy egyedi méretű 5-szögletű imbuszcsavarokkal jól odacsavarozott acéllemez védi a memóriát a nemkívánatos külső behatásoktól 🙂
augusztus 4, 2010 at 22:59 du.
Persze, hogy feltörhető a TrueCrypt kódolása, clusterenként kódolja le az adatokat, vígan lehet p2p-zni egy ilyen partíción, mert nem az egész fájlt kódolja le, minden zsaru tudja, hogy garantált támadással fel lehet törni excel táblát, titkosított partíciót, archivumot, stb. ráadásul a program még olyan erős sincs, mint pl a winzip, mert írás közben egy 2 Ghz-s gépen max 20%-al terheli a procit, szóval hatósági szervekkel szemben felejtős, ráadásul nem először mentek be a szerverterembe egy adott géphez, amikor lefoglalják azt, már bemértek MAC addresst meg mindent és archiváltak is, szal a truecrypt is legfeljebb annyit ér, mint a peerguardian.
augusztus 4, 2010 at 23:18 du.
Feree-s videónál:
Evi1M4chine
9 months ago 4
Also, TrueCrypt already fixed that problem, by never storing the key freely in RAM, a looong time ago.
augusztus 4, 2010 at 23:39 du.
kriszke: Lehet, hogy nem cleartextben tárolja a jelszót, de ez nem sokat segít (finoman szólva), ha végiggondolod rájössz az okára te is. Igen: A kulcs megszerzéséhez szükséges adatok elérhetőek, hiszen a truecryptnek szüksége van a kulcsra…
És értelmetlen, mert ha már be tud avatkozni a rendőrség abba mi is van a gépen (felülírhat valamit) onnantól nem jobb bizonyíték amit találnak mint a korábbi log.
A TrueCrypt sem feltörthetetlen. A cél az, mint minden más megoldásnál, hogy ne legyen gazdaságos feltörni.
Timothy: Ezért nem az USBt buherálják meg. IP konzolon távolról belépsz? Esetleg az operátori helységben ülsz és “kikéred konzolra” a gépet, az ottai KVMet, ottanni billentyűzetet használod, esetleg mindezt egy (rejtett) egy kamera előtt?
augusztus 5, 2010 at 10:22 de.
@TheElf : hát ezt mondom én is, hogy az USB cucc az kuka. Mondjuk ha távolról lépsz be, ott sem cleartext szaladgál az RJ45-ön ki-be, szóval az is macerás, még annak is akinek minden eszköze megvan a lehallgatáshoz.
Esetleg próbálhatják kicserélni az átvitelhez használt titkosítási kulcsokat menet közben (te velük kommunikálsz egy kulcspárral, ők ezt továbbjátszák a szerver felé egy másik kulcspárral), de ha valaki egy jó hosszú (1GB?) szimmetrikus kulcsot használ, akkor eléggé cseszhetik.
Hogy a cikk eredeti témájához is hozzászóljak :
– többen írták, hogy titkosítani kell az átvitelt, ezzel maximálisan egyetértek
– azt is írták már, hogy el kell rejteni a backup gépet. Ezt azért nehéz, mert ha mondjuk hetente fut egy full backup ami több GB adatot mozgat meg egyszerre, akkor azt ki fogják szúrni, akármit csinálsz.
augusztus 5, 2010 at 14:09 du.
mindenre es minden ellen van megoldas. Nem azon van a hangsuly, hogy tudod mit csinal az ellenfel,es arra reagalsz.
Rendorseg fejlodik, 3-4 eve csak proxykat vittek el, most mar (lasd ncore) mindent, de meg nagyon messze van attol, hogy rambol szedjenek ki tartalmat.
augusztus 8, 2010 at 10:58 de.
jó ez, csak kézzel csinálni szerintem jobb (: