Érdemes a wipe kézikönyvét átfutni. Pár érdekesebb gondolat az elejéről:
I hereby speculate that harddisks can use the spare remapping area to secretly make copies of your data. Rising totalitarianism makes this almost a certitude. It is quite straightforward to implement some simple filtering schemes that would copy potentially interesting data. Better, a harddisk can probably detect that a given file is being wiped, and silently make a copy of it, while wiping the original as instructed.
Recovering such data is probably easily done with secret IDE/SCSI commands. My guess is that there are agreements between harddisk manufacturers and government agencies. Well-funded mafia hackers should then be able to find those secret commands too.
Don't trust your harddisk. Encrypt all your data.
Ha a wipe futtatásakor nem a gyors módot választjuk, akkor 35-ször írja felül a fájlok tartalmát. Az első és utolsó négy kör véletlen adatokkal történik, a közbenső 27 pedig fix értékekkel. A módszer pontos leírását Peter Gutmann Secure Deletion of Data from Magnetic and Solid-State Memory című cikke tartalmazza.
Ez a 35 felülírás általában eltart egy ideig. Mondjuk 100 megabájt / szekundumos írási sebességgel és 100 gigabájtos lemezzel számolva egy kör 1000 másodperc. 35 kör 35 ezer másodperc. Ami úgy tíz óra. Ha egy terabájtos lemezről van szó, akkor már 100 óra. Egyszerűbb titkosítani az egészet, úgy csak a kulcsot kell biztonságosan törölni.
Ha megelégszünk kevesebb körrel is, akkor a -Q paraméter mellé ne felejtsük el megadni a -q kapcsolót, mert nélküle a -Q semmit sem ér.
Azt hiszem a következő kép mindent elmond arról, hogy mennyire köthetőek össze egy Drupal szavazás szavazatai az azt leadó felhasználókkal:
Szavazáskor érdemes észben tartani, hogy ez megőrződik az idők végezetéig, és valószínűleg ugyanez a helyzet az egyéb szavazós oldalak nagy részével is.
Nyilván, egy egyszerű webes szavazásnál a szerver mindenképp megtudja, hogy mire szavazott a felhasználó, hacsak nem hozunk össze mondjuk JavaScripttel egy teljes anonimitást biztosító szavazást, de ez nem túl jellemző. Mindenesetre jobban örülnék, ha a választott opciót nem a felhasználó nevéhez köthetően tárolná a Drupal (és bármelyik másik webes rendszer sem).
A szavazatok nem összeköthető tárolásához csak két táblára van szükség:
szavazott felhasználók:
szavazások állása:
Szavazáskor a szavazott felhasználók táblába bekerül egy rekord a felhasználó és a szavazás azonosítójával. Így meg lehet akadályozni, hogy egy ember kétszer szavazzon. A szavazatát külön nem rögzítjük, az csak a szavazások állása táblába kerül be, konkrétan a választott opció számlálóját (leadott szavazatok száma attribútum) növeljük eggyel.
A dolog hátránya, hogy nem lehet szavazatot visszavonni (és újra szavazni), csak a szavazás teljes újrakezdésével.
(Biztos vagyok benne, hogy nem én vagyok az első, aki a fenti dolgot leírja, viszont hirtelen nem találtam semmilyen más oldalt, ami ugyanerről a témáról szól. Kapcsolódó linkeket örömmel fogadnék akár kommentben, akár e-mailben.)
Technikai részletek: Drupal 6, beépített Poll modul.
A userscripts.org-on már van egy kommentszűrő a blog.hu-s blogokhoz (Blog.hu komment filter 1.1), de elég fapados, kézzel kell a szkriptbe beleszerkeszteni a szűrendő felhasználók azonosítóit. A szkript keresését felhasználva újraírtam a kódot, most már minden komment mellé kerül egy „Mute” link. Rákattintva a GM_setValue() hívással perzisztensen tárolódik a némított felhasználó ID-ja, illetve a kommentek is frissítésre kerülnek. Továbbá a „Mute” gomb is le lesz cserélve „Unmute”-re.
Eltüntetni csak a komment szövegét tüntetem el. A fejléc megmarad, oda kerül a „Unmute” link, valamint így látni lehet mennyire volt érdemes használni a szkriptet, hány kommenttől szabadultunk meg. Továbbá, ha egy nem tiltott kommentelő hivatkozik a „@név” szerkezettel egy korábbi kommentre, akkor a hivatkozott komment megjelenítése egyszerűen engedélyezhető. Az avatar eltüntetését már nem volt kedvem megoldani, de bárki megteheti, a szkript letölthető a userscripts.org-ról.
Alább egy rövid leírás a Midnight Commanderben az Eszközök menüpont Menüfájl szerkesztése menüpontjával elérhető menüfájl szintaxisáról, amely menüt az F2 gombbal lehet előcsalogatni.
A leírás az mc kézikönyvére épül, amiből érdemes átfutni a Menu File Edit, illetve Menü szerkesztés című fejezetet.
A menüfájlban a sor első betűje lesz a gyorsbillentyű az adott menüponthoz. Utána az mc-vel szállított alapértelmezett fájlban egy tabulátor karakter következik, majd a menü neve. Nem feltétlenül muszáj ezt a szokást követni, a tabulátor karakter kimaradhat, de így valamivel kulturáltabban néz ki.
Az ezután következő, kötelezően szóközzel vagy tabulátorral kezdődő sorok lesznek a menü kiválasztásakor végrehajtandó parancsok. Ezeket az mc futtatás előtt kimásolja egy ideiglenes fájlba, amit a/tmp mappában helyez el és ott shell szkriptként futtat. Így használhatóak a szokásos shell szkript funkciók.
Ezeken kívül további lehetőség a szkriptekben a %f, %F, %d, %D, %t, %T helyettesítő karakterek használata. A %f az aktuálisan kiválasztott fájl nevét, a %d az aktuális könyvtár nevét, a %t az összes kijelölt (tagged) fájl nevét fogja tartalmazni. A nagybetűs változatuk a másik panelre vonatkozik. Még ezen kívül van néhány, érdemes megnézni az mc dokumentációját (Macro Substitution, illetve Makro helyettesítő).
A menüpontok nevei előtt meg lehet adni további feltételeket, amelyek eldöntik, hogy a menüpont megjelenhet-e a menüben, illetve alapértelmezett legyen-e. Ha nincsenek ilyen feltételek, akkor a menüpont mindig megjelenik.
A megjelenési feltételeket plusz jellel (+), az alapértelmezetté tételhez szükséges feltételeket pedig egyenlőségjellel (=) kell kezdeni.
Ezekben a feltételekben az f, d és t karaktereket használhatjuk. Az f-fel a fájl nevére vonatkozó kényszereket lehet megadni, például:
= f *.tar.gz | f *.tgz
Itt a *.tar.gz és a *.tgz shell minta, a helyes működéshez a menüfájl első sorában a
shell_patterns=1
beállításnak kell szerepelnie. Ha ez az érték nulla, akkor reguláris kifejezéseket kell megadnunk, ami így néz ki:
= f \.tar\.gz$ | f \.tgz$
A d karakter ugyanez, csak könyvtárnevekre, a t pedig a fájl tulajdonságaira vonatozik (fájl-e, könyvtár-e, olvasható-e stb.).
Ha az aktuális elem könyvtár:
= t d
Ha vannak kijelölt fájlok a panelen:
= t t
A kétfajta feltételt össze is lehet vonni (+= vagy =+), ilyenkor egy sorban megadható a megjelenítéshez szükséges feltétel, ami egyben alapértelmezetté is teszi a menüpontot.
Hibakeresésre alkalmazható a +? és az =?, ilyenkor minden feltétel kiértékelése után az mc megjeleníti az eredményt egy ablakban.
Ha kiértékelt feltételek alapján több menüpont is aktuális lehetne, akkor (nálam) az elsőt választja az mc.
Mellékletek:
Firefox alatt három kattintással importálható egy CA a többi gyári tanúsítvány mellé. Ez azonban elég kockázatos lehet.
Először is, ez közel sem ugyanaz, mint amikor egy saját maga (vagy akárki) által aláírt tanúsítvánnyal rendelkező https linket látogatunk meg, majd adjuk hozzá ezt a tanúsítványt kivételként a böngészőnk megfelelő listájához. A „kivétel hozzáadása” funkció használatakor az oldal által küldött tanúsítvány csak az adott oldalhoz lesz érvényes. Ha CA-t importálunk, akkor a CA bármilyen weblaphoz tartozó tanúsítványt aláírhat és azt a böngésző el is fogja fogadni.
Ezzel önmagában még nincs is probléma, egy teljes támadáshoz egy man-in-the-middle támadásra is szükség van. Ha importáltuk a támadó CA-ját, ő ezután készít egy új tanúsítványt a tamadottnetbank oldalhoz, aláírja a CA privát kulcsával, beállít egy SSL-es webszervert, majd MITM támadás segítségével átirányítja a böngészőnket az ő szerveréhez.
A támadó webszervere által adott tanúsítványt olyan CA által van aláírva, amit a böngészőnk ismer és megbízik benne. Ott lesz a lakat az alsó sorban, és vígan használhatjuk az oldalt.
További adalék, hogy nem is feltétlenül kell, hogy a támadó CA-ját importáljuk, elég ha csak egy gyengén védett CA privát kulcsát megszerzi a támadó. Érdemes ránézni mondjuk a NetLock vagy a Microsec weblapján lévő doksikra, hogy egy rendes, például Mozilla Firefox által is elfogadott CA-nak milyen folyamatokra és szabályzatokra van szüksége.
Tehát, ha CA-t importálunk, érdemes feltenni a kérdést: Az importált CA tulajdonosa vajon mennyire vigyáz a privát kulcsára? Aztán mindenki döntsön saját belátása szerint.
Kis demó frissen installált GNU/Linux 5.0 (lenny) esetén:
Készítsünk egy CA-t:
lenny:~/cert# openssl req -new -x509 -days 3650 -keyout private-cakey.pem -out cacert.pem Generating a 1024 bit RSA private key ....++++++ ......................................................++++++ writing new private key to 'private-cakey.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:HU State or Province Name (full name) [Some-State]:Budapest Locality Name (eg, city) []:Budapest Organization Name (eg, company) [Internet Widgits Pty Ltd]:AAA Tamado CA Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []: Email Address []:
Exportáljuk ki Firefox által is értelmezhető formátumban:
lenny:~/cert# openssl x509 -inform PEM -outform DER -in cacert.pem -out cacert.cer
Kirakjuk webre, ami jelen esetben csak a saját gép:
lenny:~/cert# cp cacert.cer /var/www
A /etc/apache2/mods-available/mime.conf megfelelő részéhez írjuk be a következőt:
AddType application/x-x509-ca-cert .cer
Majd Apache újraindítás:
lenny:~/cert# /etc/init.d/apache2 restart Restarting web server: apache2 ... waiting .
A mime típus beállítás nélkül nálam chemical/x-cerius típusúnak mondta a fájlt az Apache, így a Firefox nem ajánlotta fel a tanúsítvány telepítését, csak letölteni akarta azt. (Egyébként akár kézzel is importálhatjuk a CA-t: Szerkesztés / Beállítások / Haladó / Titkosítás / Tanúsítványkezelő / Hitelesítésszolgáltatók / Importálás, majd keressük ki a cacert.cer fájlt.)
Ezután ha Firefoxban beírjuk a http://localhost/cacert.cer címet, feljön a következő ablak:
Pipa az első checkboxba és OK. Ezzel be is került a hitelesítésszolgáltatók listájába a CA-nk (Szerkesztés / Beállítások / Haladó / Titkosítás / Tanúsítványkezelő / Hitelesítésszolgáltatók vagy Edit / Preferences / Advances / Encryption / View certificated / Authorities angol Firefox esetén).
Ha ezt megcsinálta a kliens, akkor készítsünk egy tanúsítványt a tamadottnetbank hoszthoz.
Először egy privát kulcsra lesz szükségünk:
lenny:~/cert# openssl genrsa -des3 -out tamadottnetbank.key 1024 Generating RSA private key, 1024 bit long modulus .++++++ ..................................++++++ e is 65537 (0x10001) Enter pass phrase for tamadottnetbank.key: Verifying - Enter pass phrase for tamadottnetbank.key:
Szedjük le a jelszót a privát kulcsról, az Apache-hoz úgysem kell:
lenny:~/cert# cp tamadottnetbank.key tamadottnetbank.key.org lenny:~/cert# openssl rsa -in tamadottnetbank.key.org -out tamadottnetbank.key Enter pass phrase for tamadottnetbank.key.org: writing RSA key
Ezután készítsünk egy CSR-t (Certificate Signing Request), amit a CA alá tud írni:
lenny:~/cert# openssl req -new -key tamadottnetbank.key -out tamadottnetbank.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:HU State or Province Name (full name) [Some-State]:Budapest Locality Name (eg, city) []:Budapest Organization Name (eg, company) [Internet Widgits Pty Ltd]:Tamado Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []:tamadottnetbank Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Írjuk alá a CA-val a CSR-t:
lenny:~/cert# openssl x509 -req -in tamadottnetbank.csr -CA cacert.pem -CAkey \ private-cakey.pem -CAcreateserial -out tamadottnetbank.crt Signature ok subject=/C=HU/ST=Budapest/L=Budapest/O=Tamado/CN=tamadottnetbank Getting CA Private Key Enter pass phrase for private-cakey.pem:
Majd másoljuk be az Apache által várt helyre:
lenny:~/cert# cp tamadottnetbank.key /etc/ssl/private/ssl-cert-snakeoil.key lenny:~/cert# cp tamadottnetbank.crt /etc/ssl/certs/ssl-cert-snakeoil.pem
(A SSLCertificateFile és SSLCertificateKeyFile Apache beállítások mondják meg a fájlok pontos helyét, amik Lenny alatt a fentiek.) Egy biztonsági mentés nem árthat, én most kihagytam.
Apache SSL engedélyezés és újraindítás:
lenny:~# a2ensite default-ssl Enabling site default-ssl. Run '/etc/init.d/apache2 reload' to activate new configuration! lenny:~# a2enmod ssl Enabling module ssl. See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates. Run '/etc/init.d/apache2 restart' to activate new configuration! lenny:~# /etc/init.d/apache2 restart Restarting web server: apache2 ... waiting .
A /etc/hosts fájl végére a következő kell még:
127.0.0.1 tamadottnetbank
Végül az eredmény, ha a https://tamadottnetbank/ oldalra navigálunk:
A turpisság persze hamar kideríthető, ha a címsoron rákattintunk a tamadottnetbank feliratra:
Ugyanez működik bármelyik létező weboldallal, a MITM miatt nincs különösebb jelentősége, hogy létezik-e a támadott oldal, vagy sem.
Egyébként hasonló elven működik a Microsoft Forefront Threat Management Gateway is. A TMG is egy CA, aminek a tanúsítványát telepíteni kell a kliensekre. A TMG hivatalosan is MITM-et művel, mivel rajta keresztül érik el az internetet a felhasználók. Az SSL kapcsolatokat saját maga végződteti, megvizsgálja a tartalmukat, majd ismét SSL-be csomagolva, immár saját maga által létrehozott és aláírt tanúsítvánnyal továbbítja a kliensnek.
Egy apróság: Jelenleg (3.6.10) CA törlése után újra felvenni a CA-t nem engedi a Firefox („Ez a tanúsítvány már telepítve van hitelesítésszolgáltatóként.” hibaüzenet), csak ha leokézzuk a tanúsítványkezelő ablakát, majd újra megnyitjuk.
Olvasnivaló:
Ha Windows alatt megpróbálunk törölni egy olyan fájlt amit valamelyik másik program még használ, akkor hibaüzenetet kapunk, a fájl pedig marad a helyén. Linux/Unix alatt a fájl eltűnik a fájllistából, de ténylegesen csak akkor törlődik amikor az utolsó azt használó program is bezárta a fájlt.
NFS-en ez másképp van: a fájl rögtön törlődik. Ha valaki épp használja akkor a következő olvasásnál IOException-t fog kapni a fenti, Stale NFS file handle hibaüzenettel.
Forrás: Lucene in Action, 2nd edition
Ismét csak pár gondolat, viccesebb, vagy elgondolkoztatóbb idézet, megállapítás az idei konferenciáról:
Alább egy rövid szkript, ami képes eltávolítani a fájlok neveiből az ékezeteket. Pontosabban kiírja az ehhez szükséges mv parancsokat a kimenetre.
Elboldogul a könyvtárakkal is, és azzal az esettel is, amikor több ékezetes könyvtár van egy útvonalon.
#!/bin/bash # Ékezettelenítő, v1.0 # palacsint, http://palacsint.hu/, 2010. 08. 28. remove_ekezet() { echo "$@" | sed y/áéíóöőúüűÁÉÍÓÖŐÚÜŰ/aeiooouuuAEIOOOUUU/ } DIR=. if [ $# -eq 1 ] then DIR=$1 fi find $DIR -type f -or -type d | while read SOURCE do DEST=$(remove_ekezet "$SOURCE") SOURCE_BASENAME=$(basename "$SOURCE") DEST_BASENAME=$(basename "$DEST") if [ "$SOURCE_BASENAME" = "$DEST_BASENAME" ] then # a fajl neve nem valtozik continue fi SOURCE_DIRNAME=$(dirname "$SOURCE") # ÁÁÁ/ÉÉÉ/ÍÍÍ eset kezelése TRANSLATED_SOURCE_DIRNAME=$(remove_ekezet "$SOURCE_DIRNAME") CURRENT_SOURCE="${TRANSLATED_SOURCE_DIRNAME}/${SOURCE_BASENAME}" echo "mv \"${CURRENT_SOURCE}\" \"$DEST\"" done
Letöltés: ekezettelenito.sh
Valahol a szemben lévő házban tolták kora reggeltől késő estig, de mire kirakhattam volna a plakátot, már abbahagyták szerencsére.
Valahogy így néz ki:
A Kecskeméti Főiskola GAMF Karának hallgatói vagy végzettjei rendelhetik meg. A gyártást a Metal-Art Nemesfémipari Zrt. végzi. Kecskeméten Kincsesbolt néven van boltjuk, de Budapesten is elérhetőek, és itt is lehet rendelni, átvenni. A rendeléshez iskolalátogatási igazolás vagy diploma szükséges.
Legutóbbi hozzászólások
8 év 47 hét
9 év 36 hét
9 év 40 hét
10 év 6 hét
11 év 8 hét
11 év 13 hét
11 év 13 hét
11 év 14 hét
11 év 24 hét
11 év 47 hét