Title: dnsmasq with custom hosts file - aka ban sites with dnsmasq
I ‘ve already said it too many times, but dnsmasq is a beautiful project for SOHO (small office/home office) environment.
I am using it as DNS caching server, DHCP server & tftpd (PXE) server and it’s amazing.
One thing i do with the dns section is that i “BAN” urls i dont like. Think something like AdBlock on firefox.
Two configuration changes:
A.
as root
wget http://winhelp2002.mvps.org/hosts.txt -O /etc/hosts.txt &&
and
B.
in /etc/dnsmasq.conf
addn-hosts=/etc/hosts.txt
You can also put the wget cmd in your crontab with the @monthly scheduler but you need to restart the dnsmasq every month!
Another amazing thing is that you can add your one entries:
echo 0.0.0.0 www.facebook.com >> /etc/hosts.txt
restart your dnsmasq service and check it:
# dig www.facebook.com @localhost +short
0.0.0.0
I have decided to expire my current PGP key:
0×5882be3def6dc21a is the long version !
in 30 days from now, on 25 Sep 2014.
You can still use it to send me encrypted msg and i will use it to digital sign emails (and other staff) till that day.
After the 25th of Sep you may assume that this key is no longer valid.
I haven’t decided yet if i want to upload or advertise my new GPG key.
I use dd frequently. Especially when i need a backup disk image to restore it to a disk with the same geometry. Most of the case this disk image has partitions. Mounting those partitions to my system is really easy with losetup. So i gathered some basic examples here: losetup examples .
reading
man 5 fluxbox-keys
i found that there is
ArrangeWindows pattern / ArrangeWindowsVertical pattern / ArrangeWindowsHorizontal pattern
so i edited my
~/.fluxbox/keys
to auto-tile (vertical/horintal) with my super (window) key as shortcut
Mod4 h :arrangewindowshorizontal
Mod4 v :arrangewindowsvertical
Wed 18 Sep 2013 19:00 @ http://hackerspace.gr
Intro Workshop for systemd !
systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts
You need to install rtmpdump.
The rtmp stream has three parts:
- rtmp url
- target app on server
- playpath
eg.
streamer: ‘rtmp://cp126783.live.edgefcs.net/live’, file: ‘Alfaradiofwno@86944?.mp3′
- rtmp url : rtmp://cp126783.live.edgefcs.net
- target app on server : live
- playpath : ‘Alfaradiofwno@86944?.mp3′
then pipe the stream through vlc:
rtmpdump -V --live -r rtmp://cp126783.live.edgefcs.net -a live -y 'Alfaradiofwno@86944?.mp3' | cvlc -
[this blog post is just a shatter idea]
Is it time to change the way we are searching? Till this moment, we were searching through the browser’s default search engine but Gnome has changed all that for everyone (even me, who doesnt use gnome!).
What we all need from a search engine: To locate our files or info. If it is not there, search the internet, privately and anonymously.
A lot of you, are going to tell (correctly) that what we are searching define us and not the search engine itself. Privacy isnt something we can measure from or within a search engine. But most people dont understand or (even worse) dont care about all that.
I use mlocate for my local file searching and sometimes find. After that is searching through my emails and then through my browser’s search engine.
Using a different browser means that i have to use a different search engine. And what if i am using gnome? It feels like Gnome is fighting firefox. And chromium/midori etc are fighting each other. I use a lot of different browsers (mostly for testing things) but at some point i just gave up and now i use three or four different web search engines!
Why all that? Why Gnome is fighting with my browser settings? Why i have to change a search engine when browsing through different browsers?
What i would like to have (as a linux user): A dead simply interface - just one text line. My “environment default search engine” would search my local files first, my emails after, wikipedia next and the internet in the end. I want to have the ability to sort, re-search through the results, tagging info (as i would do in the real life) and store all that for offline reading. As a bonus i would like to search through my social media - if i have already authorized my “environment search engine” to do that.
A modular search engine that would store (cache) locally my searches and results. Letting me figure it out - what i need from all of that. And i want to use the same engine to all of my browsers and changing it global. My “personality” would be stored on a local db inside my computer. I would like to have the ability to sync it with my laptop or work PC (secure sync - it can be done).
There is a big difference between anonymity and privacy. I am hoping everybody already understand that.
It seems that android 4.x - and every fork - has a very nice feature: Multi-user external storage. It is awesome! Every app can use a namespace, a mount point that cant share with any other app. It is very useful cause if your kernel mount a storage (network/local) nobody can access it !
More info here
That said, on android you cant use a nfs/cifs mount point. You can mount it as root - but you cant use it. Useful, right ?
And thats why i shall pass the opportunity to buy an android tablet. I prefer to wait for a proper OS - one that i can use.
Extra points: in nexus7 tablet, you cant insmod modules, there is no support for cifs but nfs is working. You cant use the nfs mount point, but it doesnt matter.
bind has a nice command to dump all the records (cache, views and zones) of a bind dns server to a single file.
> rndc --help
dumpdb [-all|-cache|-zones] [view ...]
Dump cache(s) to the dump file (named_dump.db).
Our named_dump.db file has 3.5m lines.
I was looking for a simple way to parse this entire formatted file and split the content of the zones to bind formatted zone files (for another project). So i was looking to implement the exactly opposite from: rndc dump --zones
i came with this:
grep 'IN' named_dump.db | awk -F[\'\/] '/Zone dump of/ {out=$2;}{print > out;}'
PS: The reason i am doing that, is that we dont have the 41435 zones to strict formatted bind zone files.
Some of them have “A” against “IN A”, some of them dont have TTL on RR (so the master TTL is in place), some of them use ‘@’ for origin etc etc etc. This is acceptable from bind, not really hard to parse when you are programming a custom provisioning mechanism.
archlinux has chosen to remove TCP wrappers from it’s core packages a couple of years now.
You can read this all about here.
This is how to imitate the tcp wrapper (by the way Wietse Venema rocks! ) functionality with iptables and source range.
iptables -A INPUT -p tcp --dport 22 -m iprange --src-range 158.255.214.14-158.255.214.15 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
This blog post is based on Sotiris Tsimbonis’s work.
You should always checkzone the dns zone file you have just edited.
But you can also automate this, with a vim wrapper.
small changes @ Thu, 04 Oct 2012 14:03:15 +0300
#!/bin/sh
# ebal, Thu, 04 Oct 2012 14:03:15 +0300
/usr/sbin/named-checkconf
RES=$?
if [ ${RES} -gt 0 ]; then
echo ""
echo "Fix the above errors before editing your zone file"
echo ""
exit ${RES}
fi
ZONE=$1
PREFIX="/var/named/"
CHECKSUM=`/usr/bin/sha1sum ${PREFIX}/${ZONE}`
/usr/bin/vim ${PREFIX}/${ZONE}
echo ""
echo "Checking ${ZONE} for errors..."
echo ""
/usr/sbin/named-checkzone -i local ${ZONE} ${PREFIX}/${ZONE}
RES=$?
if [ ${RES} -gt 0 ]; then
echo ""
echo "You need to fix the errors and try again."
echo ""
exit ${RES}
fi
SHA1SUM=`/usr/bin/sha1sum ${PREFIX}/${ZONE}`
if [[ "$CHECKSUM" != "$SHA1SUM" ]]; then
echo "reloading zone ..."
/usr/sbin/rndc reload ${ZONE}
fi
New installation guide, with screenshots,
for Arch Linux based on installation media 2012.08.04
Archlinux NetInstall based on media 2012.08.04
This guide doesnt use any automate script or menu installer.
a basic net-installation, without a menu installer or any automate script
#TinyCore Linux – Remaster http://ur1.ca/9qgcb
from Updates from ebalaskas on Identi.ca!
I’ve found that the best way to test something in virtualization is through snapshots.
But why snapshot the running/active virtual machine and not the backup/clone virtual machine ?
# virsh list --all
Id Name State
----------------------------------------------------
- winxp running
- winxpclone shut off
Check the clone disk format:
# qemu-img info winxpclone.disk
image: winxpclone.disk
file format: raw
virtual size: 5.0G (5368709120 bytes)
disk size: 3.1G
And remember to convert the raw disk to qcow2 first:
# qemu-img convert -f raw winxpclone.disk -O qcow2 winxpclone.qcow2
And then edit your clone:
# virsh edit winxpclone
to use the qcow2 disk
and finally:
# virsh snapshot-create winxpclone
Domain snapshot 1341315833 created
List the snapshots:
# virsh snapshot-list winxpclone
Name Creation Time State
------------------------------------------------------------
1341315833 2012-07-03 14:43:53 +0300 shutoff
I needed to clone a virtual win2003 machine to a nas storage.
My storage is a lvm partition.
A. Suspend the virtual machine:
# virsh suspend win2003
B. Clone the virtual machine:
# virt-clone -d -o win2003 -n win2003clone -f /nas/storage/win2003clone.raw
This command will change the name, UUID, mac address and of course storage source.
C. Resume the virtual machine:
# virsh resume win2003
Remember that you have to change the IP of the clone, so that will not conflict with the original.
Some extra tips:
If you need to change something before the clone procedure, dump the xml from the virtual machine:
- Dump xml
# virsh dumpxml win2003 > win2003clone.xml
- Edit xml
# vim win2003clone.xml
- Clone the virtual machine
# virt-clone -d --original-xml=/home/ebal/win2003.clone.xml -n win2003clone -f /nas/storage/win2003clone.raw --force
Μέρος Α. : eurocrisis
Η κακή διαχείριση των οικονομικών μιας κυβέρνησης, μιας εταιρείας ή ενός νοικοκυριού πηγάζει από την αλαζονεία των ανθρώπων.
Όταν οι τράπεζες σε έπαιρναν τηλέφωνο και σε παρακάλαγαν να πάρεις καταναλωτικά δάνεια, ήταν τότε οι καλοί μας φίλοι.
Τώρα που ζητάνε τα λεφτά τους πίσω, είναι οι χειρότεροι εχθροί μας.
Σίγουρα δεν θα μπορούσαμε να αποφύγουμε το σημερινό αποτέλεσμα, πιθανά όμως να μπορούσαμε να αλλάξουμε ελαφρώς το τελικό αποτέλεσμα.
Αναφέρθηκα πιο πάνω στην αλαζονεία των ανθρώπων και θέλω να το αποσαφηνίσω κάπου εδώ. Αναφέρομαι στο λεφτά υπάρχουν. Δεν είναι απλά μια ατάκα ενός πρωθυπουργού, αλλά η αντίληψη σχεδόν της μάζας τα προηγούμενα χρόνια. Να παίξουμε στο χρηματιστήριο με δανεικά λεφτά, να αγοράσω τέσσερις τηλεοράσεις και τρία αυτοκίνητα γιατί έχω λεφτά. Μου τα δίνει η τράπεζα κι εγώ με τον κατώτατο μισθό μου σε 13468 χρόνια μπορώ να τα αποπληρώσω. Μάλιστα υπάρχουν τράπεζες που σου δανείζουν για να πληρώσεις τα δάνεια κι αυτό φυσικά με μεγαλύτερο τόκο!
Οι τράπεζες ποτέ δεν χάρισαν χρήματα και ποτέ δεν έβαλαν τον μαχαίρι στο λαιμό κανενός. Δυστυχώς όμως η αλαζονεία των ανθρώπων να αποκτήσουν αυτό που δεν έχουν (ανάγκη) έφερε πολλά νοικοκυριά, επιχειρήσεις και κράτη στον δανεισμό και στην μη πληρωμή του κεφαλαίου, πόσο μάλλον των υπέρογκων τόκων.
Μέρος Β. : eurocustomer
Να διανθίσω αυτό το post με μία ιστορία:
Την παρασκευή είχα ένα ραντεβού σε μία τεχνική/μελετητική εταιρεία. Γνώριζα ήδη ότι οι εμπλεκόμενες στον κατασκευαστικό χώρο εταιρείες, τα τελευταία τρία χρόνια έχουν περάσει άσχημα. Βρέθηκα στην εταιρεία η οποία διαθέτει: μεγάλο ισόγειο χώρο, ευρύχωρο πατάρι με αρκετά γραφείο και αντίστοιχο με το ισόγειο, υπόγειο χώρο. Γραφεία παντού!
Ο πελάτης είχε δύο προβλήματα:
α. Έχασε ένα 24port switch.
b. Έχασε τον διαχειριστή του (έφυγε).
Έμεινα στην εταιρεία για περίπου μιάμιση ώρα, αρκετή για να σχηματίσω γνώμη κι άποψη για τον χώρο, την δομημένη, τους ανθρώπους, την υποδομή και τα οικονομικά της εταιρείας.
Διαπίστωσα ότι πρέπει να περάσω αρκετές βδομάδες μέσα στον χώρο για να πάρω την εταιρεία από το σημείο μηδέν, σε μια πολύ καλή εικόνα. Τα switches από τα λαμπιόνια τους φαινόταν ότι τα Χριστούγεννα έχουν έρθει λίγο νωρίτερα και γενικά η εικόνα των συστημάτων (γεμάτοι δίσκοι, απαρχαιωμένος εξοπλισμός) έδειχναν ότι οδεύουν προς τον αδη.
και κάπου εδώ ξεκινά το γαμώτο:
1.
- (εγώ) Καλύτερα να μην αγοράσετε ένα 24port switch (50€) αλλά ένα 48port (100€) για να αντικαταστήσουμε τα μικρά (έως 12port) switches και να μπουν στην άκρη για μια ώρα ανάγκης
- (πελάτης) Δεν γίνεται αυτό που λες, ξέχασέ το.
- Ορίστε;
- Δεν μπορεί να γίνει αυτό που ζητάς. Δεν υπάρχουν τα 50€ για την αγορά του 48port, θα πρέπει να αρκεστούμε σε αυτά που έχουμε κι ίσως να αγοράσουμε από βδομάδα (να αλλάξει ο μήνας) το 24port των 50€
κάπου εκεί ψιλοστράβωσα το στόμα:
- Μια διευκρίνηση, δεν έχετε τα 50€ να αγοράσετε το 24port ή δεν έχετε τα 100€ να αγοράσετε το 48port.
- Αυτή την στιγμή δυσκολευόμαστε πάρα πολύ, ξέρεις καλά ότι οι καιροί είναι δύσκολοι και μπλα μπλα μπλα μπλα μπλα
Συγνώμη καλέ μου άνθρωπε, από την στιγμή που ΔΕΝ έχεις ούτε 50€ να αγοράσεις ένα switch, ΤΙ ΣΚΑΤΑ με έχεις μιάμιση ώρα εδώ να κοιτάζω και να καταγράφω τι χρειάζεσαι; Πως στο διάολο θα με πληρώσεις εμένα; Με κουπόνια;
2.
Μια απλή ματιά στο patch panel μου δείχνει να καταλάβω ότι υπάρχουν περίπου 100 θέσεις εργασίας.
Κοιτώντας όμως τα switches, καταλαβαίνω ότι είτε υπάρχουν κενές θέσεις ή χαλασμένα μπριζάκια.
- (εγώ) Πρέπει να γίνει εκτενής έλεγχος σε όλη την δομημένη, patch panel και switches για να βρεθούν οι θέσεις εργασίας που δεν λειτουργούν.
- (πελάτης) Δεν είναι πολλά, πέντε νομίζω θέσεις εργασίας είναι.
- Μα εγώ διαπιστώνω ότι είναι πολύ περισσότερα, να ορίστε αυτό σημαίνει ότι είτε είναι κλειστές, είτε χαλασμένες. Έχετε υποδομή 100 θέσεων.
- Μα εμείς δεν είμαστε ούτε 40 άτομα, κάποτε ήμασταν παραπάνω, αλλά τώρα ούτε 40 δεν είμαστε.
- Τότε τι το θέλεις το 24port switch; Γιατί δεν ξηλώνεις αυτά που δεν παίζουν;
- Ε αφού υπάρχουν, ας είναι περασμένα κι εδώ!
3.
Ανεβαίνει μια στιγμή στο γραφείο του, καθώς τον ενημέρωσαν για ένα σημαντικό τηλεφώνημα και μένω στον χώρο με ένα παλικαράκι γενικών καθηκόντων.
- (παλικαράκι) Εκεί που δουλεύεις, είναι καλά;
- (εγώ) Καλά είναι, έχουμε κι εμείς προβλήματα βέβαια.
- α μάλιστα, δεν πληρώνεστε κι εσείς ε ;
- μας έχουν μειώσει τον μισθό, αλλά ναι πληρωνόμαστε.
- εμείς εδώ έχουμε να πληρωθούμε 7 μήνες!
4.
Γρήγορα γρήγορα ανεβαίνω στο γραφείο του για να μιλήσουμε λίγο για την υποδομή.
- (εγώ) ξέρετε, οι δίσκοι των servers έχουν γεμίσει και πιθανά στα επόμενα λεπτά να μην μπορείτε να αποθηκεύεται τα αρχεία σας στους fileservers
- Αποκλείεται, εάν είχαν γεμίσει θα το είχαμε καταλάβει.
- Μπορείτε απλά να το δείτε από τον υπολογιστή σας, αυτός ο map drive είναι.
- Πως;;;;; 628kb ελεύθερα. Μα πως; Πότε; Γιατί ;
Θεώρησα καλύτερο να τον λυπηθώ αντί να τον βρίσω (όπως του άξιζε). Του πρότεινα να βρει κανα φοιτητή που θέλει να βγάλει ένα μικρό χαρτζιλίκι, να πάρει ότι θέλει - θα έχει εγγύηση για ένα χρόνο - κι έφυγα.
Dynamic allocation of a virtual hard disk to a virtual machine:
# lvcreate -L 80G -n vg01/data
# virsh attach-disk win2008 /dev/vg_telekvm/profiles vdb
You need to attach a usb device to a libvirt domain without rebooting the virtual machine.
Lets figure this together:
- Locate the usb device:
# lsusb -v
idVendor 0x0781 SanDisk Corp.
idProduct 0x5567 Cruzer Blade
- Build the below XML:
usb_device.xml
<hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<vendor id='0x0781'/>
<product id='0x5567'/>
</source>
</hostdev>
- Attach device
# virsh attach-device VIRTUAL_MACHINE usb_device.xml
and if you want to de-attach:
- De-attache device
# virsh detach-device VIRTUAL_MACHINE usb_device.xml
Πριν από λίγες μέρες αναρτήθηκαν στο διαδίκτυο τα “ανάλατα” hashed συνθηματικά των χρηστών από κάποια δημοφιλή site (linkedin, last.fm, eharmony).
Διάβασα αρκετά άρθρα γύρω από το θέμα, την ασφάλεια των διαδικτυακών ιστοτόπων, την προστασία των χρηστών και διάφορες τεχνικές που χρησιμοποιούνται ευρέως. Δυστυχώς εάν και τεχνικά άρθρα τα περισσότερα ΔΕΝ εξηγούσαν με απλό τρόπο τι έχει γίνει, πως μας επηρεάζει (ως χρήστες του διαδικτύου), τι επιπτώσεις έχει πάνω μας και πως μπορούμε να προστατευτούμε από παρόμοιες περιπτώσεις.
Θα προσπαθήσω μέσα από αυτό το άρθρο, μη μιλώντας πολύ τεχνικά, να εξηγήσω κάποια πράγματα και να διορθώσω τις λανθασμένες απόψεις μερικών “ειδικών” που όπως φαίνεται δεν γνωρίζουν από απλά μαθηματικά! Ο σκοπός αυτού του άρθρου είναι καθαρά ενημερωτικός κι όχι εκπαιδευτικός
The Story
Θα ξεκινήσουμε από το τι ακριβώς έγινε.
Τι ειπώθηκε: “Δημοσιεύτηκαν οι κρυπτογραφημένοι κωδικοί”
Τι εν τέλη έγινε και γιατί αυτό που ακούσαμε/διαβάσαμε είναι λάθος.
Εάν και υπάρχει πολύ μεγάλη (και θεωρητική) συζήτηση πίσω από αυτό το θέμα, θα αρκεστούμε ότι κρυπτογραφία σημαίνει ότι μπορώ και να κρυπτογραφήσω και να αποκρυπτογραφήσω το περιεχόμενο/αποτέλεσμα ενός αρχείου.
Τα συνθηματικά ΔΕΝ αποθηκεύονται κρυπτογραφημένα, δλδ δεν μπορούν να αποκρυπτογραφηθούν.
Αποθηκεύονται μετασχηματισμένα με βάση κρυπτογραφικών αλγόριθμων.
Οι δύο πιο γνωστοί είναι ο md5 και ο sha1 (και φυσικά οι παραλλαγές τους).
Οι μαθητικοί αλγόριθμοι hash (md5/sha1) έχουν την ιδιότητα ότι για οποιοδήποτε είσοδο (ανεξαρτήτως μέγεθος) παράγουν ένα αποτέλεσμα 32 χαρακτήρων (md5) και 40 χαρακτήρων (sha1) αντίστοιχα.
Από το αποτέλεσμα δεν μπορείς να βρεις την αρχική είσοδο.
Ας κάνουμε ένα παράδειγμα:
$ echo -n test | md5sum
098f6bcd4621d373cade4e832627b4f6
$ echo -n test | sha1sum
a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
Αυτά που κυκλοφόρησαν είναι τα παραπάνω hashed των κωδικών.
Λόγω του περιορισμού των χαρακτήρων (32/40 αντίστοιχα) προκύπτει ότι μπορεί να παραχθεί το ίδιο hash από δύο διαφορετικά συνθηματικά (αδυναμία αλγόριθμου).
Hashes
- Οπότε αφού δεν αποθηκεύεται clear text το συνθηματικό μου, είμαι ασφαλής;
- Όχι!
Οι hackers τι κάνουν;
Χρησιμοποιούν λεξικά (όχι μόνο το english.dic αλλά γενικά λεξικά με latin based characters) και με την χρήση των σύγχρονων υπολογιστικών συστημάτων, παράγουν hashes με βάση τα λεξικά. Συγκρίνουν τα hashes με βάση την λέξη εισόδου κι έτσι ανακαλύπτουν τον αρχικό κωδικό. Πλέον αυτά τα προγράμματα έχουν προσαρμοστεί ώστε να παράγουν και τις παραλλαγές των κωδικών αυτών.
Για παράδειγμα, αντικαθιστούν το λατινικό γράμμα l (L) με 1 ή !, ομοίως και το i, κι ούτω καθεξής.
Έτσι για την λέξη: lemon δοκιμάζει και τις παρακάτω παραλλαγές:
lemon
1emon
!emon
l3mon
l#mon
lem0n
lemOn
lem)n
Δυστυχώς δεν έχουμε ακόμα εκπαιδεύσει σωστά τους χρήστες μας, οπότε πιθανά στο site: example.com
τα πιο συνήθη συνθηματικά θα είναι της εξής μορφής:
3x@mpl#
παραλλαγή δλδ του ίδιου domain!
Εμείς θεωρούμε ότι έχουμε ένα δύσκολο (για να θυμόμαστε) κωδικό ενώ αντιθέτως οι hackers έχουν ήδη τον κωδικό στο λεξικό τους! Συγκρίνοντας τα unsalted hashed μπορούν να βρουν τους κωδικούς μας.
Salted Hashes
Αφού διευκρινίσαμε ότι δεν υπάρχει μεγάλη ασφάλεια με τα unsalted hashed (εάν φυσικά διαρρεύσουν), ας προχωρήσουμε με το τι είναι τα salted hashes.
Τα salted hashes είναι τα αλφαριθμητικά που προκύπτουν από την προσθήκη τυχαίων χαρακτήρων στο αρχικό συνθηματικό. Η προσθήκη γίνεται όμως πάντα με τον ίδιο τρόπο (αρχή ή τέλος). Κάθε προγραμματιστής που σέβεται τους χρήστες του, θα πρέπει να ακολουθεί το παραπάνω μηχανισμό. Από την στιγμή που αλλάζει δυναμικά το συνθηματικό, στην βάση αποθηκεύεται πλέον το salted hash κι αυτό δεν έχει καμία σχέση με το αρχικό μας συνθηματικό.
Να το δούμε λίγο πρακτικά με ένα πολύ απλό παράδειγμα.
Εμείς δίνουμε τον κωδικό: test
Προστίθεται το “αλάτι” : “f0c8454f070d1a”
Γίνεται δυναμικά : “test + f0c8454f070d1a”
Τώρα συγκρίνουμε τα hashes:
$ echo -n test | sha256sum -
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 -
$ echo -n testf0c8454f070d1a | sha256sum -
fdcbbbbf0081199f46fa0629c0faa06a6a99cf22a5ff63f17b0ebb88e355c6e5 -
Τώρα εάν διαρρεύσει η βάση με τα συνθηματικά είμαστε πιο ασφαλής, καθώς δεν μπορεί να γνωρίζει κανείς πως έχει προκύψει το salted hash και ποιος είναι ο κωδικός μας.
Security
Άρα είμαστε πλέον ασφαλής.
- Όχι.
Τα salted hashes μας προστατεύουν μονάχα εάν διαρρεύσει η βάση με τους κωδικούς.
Δεν μας προστατεύει από την αδυναμία του ίδιου μας του κωδικού. Δλδ το πόσο εύκολα μπορεί να βρεθεί.
Όπως φαίνεται οι hackers διαθέτουν (τουλάχιστον) μια βάση με 6 εκατομμύρια unsalted hashed κωδικούς. Κι όλα αυτά μονάχα από ένα site! Είναι αυτονόητο, ότι όσο πιο πολλές βάσεις hack-εύουν τόσο πιο εύκολο γίνεται για αυτούς να “μαντέψουν” το δικό μας αρχικό κωδικό.
- Τι επίπτωση έχει σε εμάς, εάν διαρρεύσει ο κωδικός από ένα από τα παραπάνω sites;
Εάν έχω τον λογαριασμό ebal σε ένα site με κωδικό test, τότε σε ένα άλλο site θα έχω (πιθανά) test1 ή όνομα χρήστη: ebal1 κι ούτω καθεξής.
Ορίστε πως περίπου είναι οι περισσότεροι χρήστες:
site: username: password
site1: ebal : test
site2: ebal: test1
site3: ebal: test!
site4: Evaggelos: test!
site5: EvaggelosBalaskas: test1!
site6: ebalaskas _at_ ebalaskas _gr_: t3st1!
Με λίγα λόγια, εάν μας “φάνε” τον κωδικό από ένα site, είναι πολύ εύκολο εν δυνάμει να μας “φάνε” τους λογαριασμούς μας κι από τρίτα sites. Αφού έχουν “εκπαιδεύσει” τα προγράμματά τους με τις νέες παραλλαγές κωδικών.
Strong Passwords
Οι άνθρωποι που ασχολούνται επαγγελματικά με το “σπάσιμο” κωδικών, στις μέρες μας είναι εξοπλισμένοι με την τελευταία τεχνολογικά υπολογιστική δύναμη που κάνει την δουλειά τους αρκετά εύκολη. Ενώ πριν μερικά χρόνια ήθελαν μερικούς μήνες, τώρα αρκούν μερικές ώρες. Κατά μέσο όρο, σε περίπου 6 ώρες ένα unsalted md5 hash σπάει, σε λιγότερο από 3 ώρες εάν είναι βασισμένο σε λεξικό, σε λιγότερο από μια ώρα εάν είναι κάτω από 8 χαρακτήρες, σε 15 λεπτά εάν είναι 6 χαρακτήρες. Σε 1 κλάσμα εάν είναι το 123456.
Επίσης με τόσους κωδικούς, μπορούν να παράγουν κι όλες τις δυνατές παραλλαγές. Οπότε το strong>3x@mpl#</strong θέλει περίπου 1.5λεπτό!
Κατ’ εμέ το βασικότερο πρόβλημα στην παραγωγή κωδικών είναι η δημιουργία μικρών αλλά δύσκολων κωδικών.
Εάν πιστεύεται ότι ο κωδικός σας, είναι δύσκολος, έχει γράμματα, έχει κεφαλαία, έχει αριθμούς, έχει σύμβολα και τον θυμάστε δύσκολα, αλλά είναι 8 με 10 χαρακτήρες, τότε κάνετε ένα μεγάλο ΛΑΘΟΣ!
Έχετε δημιουργήσει έναν πολύ δύσκολο κωδικό για ανθρώπους, αλλά έναν πολύ εύκολο για να σπάσει από κάποιο πρόγραμμα!!!
Η πρόταση μου:
Οι κωδικοί πρέπει να είναι αρκετά μεγάλοι (τουλάχιστον 16χαρακτήρες) και να μην βασίζονται σε λεξικά. Εάν θέλω να φτιάξω έναν κωδικό για το email μου τότε το: ” ένας κωδικός για το email μου ” είναι κάτι που μπορώ να θυμάμαι και το αποτέλεσμα με λατινικούς χαρακτήρες είναι το: “enaskwdikosgiatoemailmou” το οποίο θέλει περίπου: 30.11 trillion centuries
Είναι τόσο απλό, οι πολλοί χαρακτήρες αυξάνουν γεωμετρικά την δυσκολία σε ένα κωδικό.
Το “strong>kWdik0sem@il1</strong” ( παραλλαγή του “κωδικός email 1”) είναι πιο εύκολο να σπάσει από το “enaskwdikosgiatoemailmou” !!!
Αυτονόητο είναι ότι με την προσθήκη κεφαλαίων, αριθμών & συμβόλων η πολυπλοκότητα μεγαλώνει, αλλά το κύριο χαρακτηριστικό είναι το πλήθος των χαρακτήρων. Εάν όμως έχετε λέξη από λεξικό, τότε μειώνεται γεωμετρικά την ασφάλεια του κωδικού σας.
Conclusion
Πολύ μεγάλη προσοχή, ακόμα κι εάν δεν είχατε λογαριασμό στα παραπάνω sites.
Ξεκινήστε να αλλάζετε όλους τους κωδικούς σας, σε όλα τα sites που έχετε.
Δημιουργήστε εύκολους κωδικούς που να μπορείτε να τους θυμάστε, αλλά μεγάλους.
ΜΗΝ χρησιμοποιείτε μέρος του site,
ΜΗΝ χρησιμοποιείτε λέξεις από λεξικό,
ΜΗΝ χρησιμοποιείτε λιγότερο από 16 χαρακτήρες
και
ΚΑΛΗ ΤΥΧΗ
ρίξτε μια ματιά στα εξής sites:
Password Haystacks
Strong Password Generator
Password Strength