Saturday, December 22, 2012

Shared Bash Scripts #1 - Http Method Identifination


 Σε συνεχεια των Shared Bash Scripts εκλεψα και θα παρουσιασω ενα μικρο script που η εκτέλεση του σας παρουσιαζει ποιες μεθόδους ειναι ανοιχτές σε ένα site.

Για το σκοπο αυτο δηλωνουμε μια λιστα και εκει θα δωσουμε οποια μεθοδο θελουμε να τεσταρουμε. Με ενα loop μεσα στη λιστα θα καλεσουμε τη μεθοδο σε ενα τυπικο HTTP request που περνει τη μια και μοναδικη παραμετρο που απαιτειται, το url του στοχου και θα το περασουμε απο το netcat, που θα ακουει τη port 80. Η μονη προυποθεση οπότε είναι να εχουμε εγκατεστημένο το nc. Οπως καταλαβαινετε θα μπορουσαμε να ρυθμισουμε ειτε hard-code έιτε με παραμέτρους για να τσεκάραμε αλλες πορτες.

Αυτό ήταν! Πιο απλό δε γίνεται!
#!/bin/bash
for webservmethod in GET POST PUT TRACE CONNECT OPTIONS PROPFIND;
do

printf "$webservmethod " ;
printf "$webservmethod / HTTP/1.1\nHost: $1\n\n" | nc -q 1 $1 80 | grep "HTTP/1.1"
done

Thursday, October 25, 2012

Incremental backup

Σιγουρα δεν είναι στα high priority activities. Δεν ξέρω και γω ποσοι μου ανεφεραν corrupted filesystems, broken blocks και άλλα πολλα ωραία και όμορφα που συμβαινουν και σπαταλας το χρόνο σου για να φτιαξεις. Σε μια προσφατη κουβεντούλα, συζητάγαμε σχετικά, γελαγαμε και σχολιαζαμε καθε τρελή υλοποίηση για ασφαλια και backup.

Θα σας πω τη γνωμη μου εν συντομία. Το backup πρεπει να είναι σαν software απλο και ελκιστικό. Μπορεί να γίνει επώδυνη διαδικασία αν ζητάς ταυτόχρονα συμπίεση, κρυπτογράφιση, logs κα.

Για το Linux υπάρχουν απειρα εργαλεία για όλες αυτές τις δουλειές. Το γνωστότερο όλων ίσως το rsync. Για να μπώ κατευθείαν στο θέμα, θέλω να παρουσιάσω ένα εργαλείο που εκμεταλευεται το rsync γραμμένο σε perl και μας παρέχει ακριβως αυτά που ανέφερα λιγο πιο πάνω, απλα και όμορφα...

rsnapshot

Το project ειναι φυσικα open source και μπορειτε να το βρείτε και στο sourceForge.net. Μπορείτε να γραφτείτε στη maillist, να συμμετεχετε και ολα τα καλα ενος open source project.

Η εγκατάσταση απλη. Στην ιστοσελιδα του project θα βρείτε πακέτο σχεδόν για καθε διανομη, μεχρι και για bsd. Επίσης απλο το σετάρισμα μεσα απο το αρχειο διαμόρφωσης που πιθανότατα θα βρείτε στο /etc/rsnapshot.conf.
Εκει θα δωσετε που θα αποθηκευτει το backup(επιλογη snapshot_root),
να ενεργοποιήσεις remote ssh backups, το schedule, να ορισεις τι μυνηματα θα εμφανιζονται και τι θα καταγραφετε στα logs(επιλογη μεσα στο GLOBAL OPTIONS), ποια αρχεια θα συμπεριλαβεις και ποια οχι μεσα στο backup.
Το  rsnapshot.conf σου δίνει και άλλες ενδιαφέρον επιλογες να ενεργοποιήσεις, οπως και εντολες. Δυο απο αυτές ας πουμε είναι η rsnapshot_du και rsnapshot_diff. Η πρωτη σου επιστρεφει το χωρο του backup και η δευτερη τις αλλαγές. Γαμάτο??? Ακομα πιο γαμάτο??? Σου δινει επιλογη να τρεξει script πριν και μετα το προγραμμα.

Τέλος το τρέχεις με μια επισης απλη εντολη:
rsnapdhot daily ή rsnapshot weekly

Λόγω του οτι το προγραμμα ειναι incremental τα backups δεν θα σας πιανουν μεγαλυτερο χωρο καθε φορα, απλα μετα τη πρωτη εκτελεση θα ανανεωνουν τα αρχεια που εχουν αλλαξει. Ετσι σωνεται χωρο και χρονο. Η δυναμη του ειναι η δημιουργια hard links αναμεσα στα backups. Θα προσθετα επισης την δυνατορητα για αντιγραφα ασφαλειας απομακρυσμενα μεσω ssh, και τη συνεργασια με το cron.

Δοκιμαστε το και οπως παντα περιμενω απορίες ή οτι άλλο...

Friday, August 31, 2012

Summer of bits

Το καλοκαιρι ολοι τρεχουμε παραλια, στα μπαρακια, στα νησακια κτλ. Και ολοι ξεμυαλισμένοι, χαλαροι. Τιποτα δε μας ταράζει ή δε μας ανησυχει. Καποια στιγμή λοιπον θελουμε να συνδεθούμε και επικοινωνησουμε με φιλους. Εδω, ερχονται καθε λογης καταστηματα με συνδεση internet. Αλλα χωρις κωδικο προσβασης και αλλα με καποιο κωδικο που αν ρωτησεις αμεσως θα στον παρεχουν. Εδω ερχεται η πλακα!!!



Οι διακοπες ενδεικνυονται για να κανεις τα "δικά σου". Εχω εντυπωσιαστει με τι ευκολία παει ο Αγγλος και κάθεται στον υπολογιστη (ναι παρεχουν και τον υπολογιστη σε πολλα μεροι), βαζουν τον κωδικο για το facebook, το mail account, msn, skype και πάει λέγοντας.
Παρατήρηση δευτερη. Οσο πιο εξικιωμενη είναι μια χωρα με το internet τόσο πιο απροσεκτοι είναι στη χρήση τους. Μαλλον πιο μεγαλο το κακο. Η χρηση απερισκεπτη. Το facebook φαινεται πως ανοιξε τις πυλες για την μαζική διαρροη προσωπικών πληροφοριων. Το θεμα "ασφαλεια" στα χαμένα. Καποιοι κιολας το αφηνουν ετσι και για τον επομενο, χωρις logout απο το λογαριασμο τους.

Ευκολα λοιπον μπορεις να φανταστεις καποιον να κανει MITM, να εγκαθηστα καποιο keylogger, να κανει wardriving. Ειναι παρα πολλα αυτα που μου εχουν περασει απο το μυαλο. Προσπαθουσα να υπολογισω τις λιστες με τους κωδικους και τις πληροφοριες που μπορει να μαζευα αν εμπαινα στη διαδικασια. Και αν το πηγαινα ακομα μακρυτερα και εστελνα ενα σκουλικακι σε καθε γνωστο γνωστου... Χαμος.

Αυτες ειναι μερικές σκεψεις μονο. Για να συντομευω όμως θελω να δηλωσω καλο παιδι και αθωος οτι και να συμβει στα παιδια. Πολυ επικινδυνες εχουν γινει οι διακοπες. Για τους υπολοιπους (πονηρεμενους/ευσυνηδιτους) καλες διακοπες, καλο υπολοιπο.

Thursday, June 07, 2012

Shared Bash Scripts

Ολοι οι admins κατα τα γνωστα φτιαχνουν τα δικά τους scripts για βασικες λειτουργικες διαχειρισεις του συστηματος. Απο την αλλη οι χρηστες ξεχνουν την ευκολια που σου δινει η συγγραφη ενος script. Με ένα script μπορεις να τρεξεις μια σειρα εντολων συστηματος, ελεγχοντας αν θες και την εκτελεση ή τη ροη. Για παραδειγμα εχουμε βρεθει πολλες φορες μπροστα στο browser να ξαχνουμε λυση για κατι, και εντελει βρισκουμε ενα blog με αυτο που χρειαζομαστε. Το post μπορει να σου δινει μια δυο εντολες για την επιλυση. Και αρχιζεις να κανεις copy-paste μια μια. ΟΚ...

Σκεψου λιγο τωρα αυτο. Γιατι να μη βαλεις ολες τις εντολες σε ενα bash αρχειο και απλα να εκτελεσεις το script. Ακομα καλυτερα να προσθεσεις τα δικα σου μυνηματα στην οθονη για να ξερεις τι γινεται ή γιατι ετσι σ'αρεσει??? Νομιζω πως ακουγεται πολυ πιο ωραια η δευτερη λυση. Επιπλεον το αρχειο σου μενει αποθηκευμενο για μελλοντικη χρηση. Δηλ δεν χρειαζεται καν να θυμιθεις ολες τις εντολες που χρειαζοντουσαν για να κανεις μια απλη εργασια.

Προσωπικα καθε τοσο βρισκομαι σε μια κατασταση που σκεφτομαι: "αυτο πρεπει να γινει scriptaki; μακαρι να ειχα ενα για αυτη τη δουλεια; ". Δεν εχω πολλα αλλα οσα εχω γραψει πραγματικα μου ελυσαν τα χερια. Οταν αρχιζεις λοιπον σκεφτεσαι, -Μα καλα, για τι να γραψω? Σκαλωμα πρωταρη. Γιαυτο ομως ειναι οι φιλοι!! Μερικες ιδεες λοιπον ειναι: για να σβηνεις τους παλιους kernel, να εγκαθηστας ενα προγραμμα που εχεις κατεβασει, scanner για διπλα αρχεια στο δισκο, διαγραφη διπλων ή παλιων αρχειων, φτιαξε ενα ξυπνητηρι ή ενα alarm.... Αυτες ειναι μερικες αλλα αρκετες και καλες ιδεες για να αρχισεις. Το σημαντικο ειναι οτι ο καθενας εχει αλλες αναγκες και μπορει να ελεγξει οπως θελει το προγραμματακι του ωστε να κανει ακριβως αυτο που θελει.

Σκεφτομαι μετα απο αυτο το αρθρο, να αρχισω να κανω shared τα δικα μου, με σκοπο να υπαρξει μια μινι βιβλιοθηκη για οποιον τα χρειαζεται και για να τα βελτιωσει αμα θελει. Σας προκαλω για αρχη να γραψετε ενα που να εγκαθιστα προγραμματα που δεν βρισκετε στα repos. Θα μπορουσε ας πουμε να παιρνει σαν argument το link και να το κατεβαζει πριν το εγκαταστησει.

Sunday, May 27, 2012

fosscomm2012

Αρχη δεύτερης μέρας. Ξεκίνημα όμορφο όπως και το χτεσινό. Και πολύ θετική ενέργεια. Αλλιώς δεν θα μπορούσαμε να ξυπνήσουμε μετα απο τοσες μπυρες και τοσο κουραστικο πρόγραμμα μεχρι τώρα. Σιγουρα +1 και για το location το οποιό παρότι μακρινό είναι πολυ όμορφο. Η αλήθεια είναι οτι δεν περιμενα να είναι τοσο ωραιες ουτε το Πανεπιστήμιο ούτε οι Σέρρες. Ισως το ΤΕΙ των Σερρών να διατηρεί τις καλύτερες εγκαταστάσεις. Και καθώς είμαστε καθοδον θελω να καταγραψω τη πρώτη μερα και τις εντυπώσεις συνοπτικα. Αλλα οχι!!!
Στο fosscomm θα ερθεις γιατι είσαι μερος μιας κοινότητας και για να συναντήσεις όλους αυτούς που δρουν στο χωρο σου και αυτο το λενε open source. Σε τετοιες συναντησεις αντιλαμβάνεσαι ποσα εχει και ποσα μπορείς ακομα να προσφέρει το ανοιχτο λογισμικο και γενικα οι ανοιχτες ιδέες στο κοσμο,τη κοινωνία και παει λεγοντας.

Αν και το φετινο ήταν χιλιομετρα μακρυα και ηταν δυσκολο να παρεβρεθεις αν εμενες κρητη, αθηνα, πελοπονησο κτλ ηταν ενα πολυ επιτυχημενο συνεδριο, του οποιου πραγματικα δεν του ελειπε τιποτα. Χαρηκα ιδιαιτερα που ειχα την ευκαιρια να ακουσω τον κ. Ανδρεαδη, Engineering Manager στη ομάδα του jboss server στη RedHat. Πολυ καλός ομιλητης, εμπειρος θα έλεγα, αλλα και τα θέματα του μπορουσαν να προσελκήσουν ευρύ κοινό. Μιλησε για τη κοινότητα JBoss.org και τα project του. Ειχα ασχοληθεί περυσι με το as7, ενα server το οποιο μου τραβηξε το ενδιαφερον και μαρεσε αρκετα αλλα ειχα βρει δυσκολίες αφου το as7 ειχε μια τρομακτικη στροφη απο την προηγουμενη υλοποίηση. Επισηςιδιαιτερα ενδιαφερον το Red Hat Enterprise Virtualization στην εκδοση 3 απο τον Ζαχαριουδακη Νικο. Το θέμα πραγματικα ενδιαφέρον. Και ο Νικος μας εδειξε την πολύ καλή δουλεια που εχει γίνει απο τη redhat. Παρουσίασε το infrastructure των server της που πια στηρίζονται καθαρα σε open source projects(jboss server). Ενα ακομα που παρακολουθησα με θεμα UNIX-like kernel Programming From Scratch του Γιάννης Τσιομπίκας.

Ειμουν τυχερος που ημουνα με τα παιδια του fedora και του Mozilla που πραγματοποιησανε δυναμικη παρουσια με ποικιλες παρουσιασεις και δημιουργικά workshop.

Ισως αδικο πολλους που δεν αναφερα και για οσα παρουσιασαν, που ομως δεν στερουν ενδιαφεροντος αλλα αυτο που μενει ειναι οι στιγμες εξω απο τις αιθουσες, ετσι? Ευχομαι μια γεματη χρονια μεχρι το επομενο και τα ξαναλεμε εκει. Οπου και να ειναι αυτο...

Monday, March 12, 2012

Η HTML5 μπορει...

Δεν θυμάμαι πότε πρωτοάκουσα για το όνειρο ενός λειτουργικού συστήματος εξ ολοκλήρου στο web!! Μια προσφατή συζήτηση επανέφερε το θεμα. Αφορμή ήταν μια παρουσίαση των δυνατοτήτων της ανερχόμενης html5. Ανερχόμενης?? Δεν κάνω λάθος. Λαμβάνοντας υπόξην οτι δεν υποστηρίζεται πλήρως απο όλους τους browsers και δεν αξιοποιήται απο αρκετούς προγραμματιστες. Μπορείτε να ελέγξετε την συμβατότητα του δικού σας browser στο www.html5test.com. Εκεί θα διαπιστώσετε ας πούμε οτι ο Internet Explorer παιρνει ενα πολύ μικρό ποσοστο, μόλις 32 στα 400 των δυνατοτήτων της html5. Τι να πεις? Προφανώς τη Microsoft δεν την συμφέρει να κάνει το άλμα!! Το γιατί? Η Microsoft φαίνεται είναι η μεγάλη χαμένη απο το παιχνίδι αυτό. Πρώτον δεν μπορεί να βγάλει λεφτά απο αυτό. Δευτερον πιστεύω οτι η υπεροψία της την βρίσκει απροετοίμαστη και δεν μπορει να ελέγξει το παιχνιδι της εξέλιξης(Αυτο ειναι ανακριβεια για να είμαι ειληκρινής. Η εταιρία έχει κανει βήματα σε mobile εφαρμογές πανω στο θέμα). Αυτό είναι βεβαια ένα άλλο θεμα.

Οι προγραμματιστές απο την άλλη, διχάζονται αν πρέπει να επιλέξουν να γράφουν σε html5 ή να συνεχίσουν με τις γνωστές ως τώρα τεχνικές που ξέρουν και βολέυονται ως τώρα. Ετσι και αλλιώς, για αυτούς σημασία εχει να κάνουν μια δουλεια και να την κάνουν καλά. Απο τη στιγμή που browsers και υλικό δεν τους δίνουν μεγιστη ευκολία για να κάνουν οσα θέλουν δεν τρελαίνονται κιόλας. Μία άλλη προσέγγιση είναι να γράφουν ενα application και σαν native και σαν web ανάλογα την περίσταση. Οι συντιριτικοί λοιπόν το αποφεύγουν παρόλα τα καλά λόγια που εκφράζονται απο όσους την εφαρμόζουν ήδη.

Ολοι νομίζουν πως υστερα απο 30 χρονια με την html οπως την ξέραμε είναι η ωρα να την αφήσουμε να προχωρήσουμε σε κάποια άλλη. Ετσι είναι η τεχνολογία, ετσι είναι η εξέλιξη. Και η html σταθηκε υπεράνω των περιστασεων αξιόπιστη. Αλλα για να φτιάξουμε οσα φανταομαστε για το μέλλον  και το ιντερνετ ερχεται η html5 και μάλιστα υπόσχεται πολλά. Μερικά παραδείγματα σελίδων που ήδη χρησιμοποιούν html5 μπορείτε να δείτε εδώ. Δεν θα επεκταθώ στις δυνατότητες της html5 τεχνικα και μη. Οι ειδικοι λένε πως σε επόμενα 3 χρονια θα έχουμε περάσει πλήρως σε εφαρμογές html5. Ο λόγος είναι η άναγκη που εξαιτίας της αυξανόμενης χρήσης κινητών τελευταίας γενιάς.

Ο παράγοντας user λοιπόν είναι αυτός που καθορίζει την εξέλιξη. Για να προχωρήσει η ολη διαδικασία πρέπει οι εταιρίες να επενδύσουν στο καινουργιο  πρότυπο, έτσι ώστε οι προγραμματιστες και τα software houses να αναπτυσουν περισσότερες web apps. Αλλα οι χρήστες ειναι αυτοι που κινούνε τελικά τα νήματα. Και αυτοί είναι που αυριο μπορούν να αλλάξουν εντελώς την πορεία της εξελιξης. Αυτή τη στιγμή όλα δείχνουν πως ο mobile κοσμος ευνοει προς τη συγκεκριμένη προοπτική αλλα δεν είμαι σίγουρος κατα πόσο ολα πρέπει να αλλάξουν σε web. Αν αρχίσεις να υπολογίζεις την απόδοση, τους πόρους ίσως και την ασφάλεια, κατα πόσο θέλει ή χρειάζεται ο χρήστης ολα τα περιεχόμενα και τα δεδομένα του να είναι on cloud. O αστάθμητος παράγοντας είναι αυτός και αν σημερα μιλάμε για web apps  είναι γιατι είναι κάτι που αναζητουσε με βάση τις συσκευες που χρησιμοποιούσε. Αλλα αυριο οι τάσεις μπορεί να αλλάξουν. Κάποιες τεχνολογίες ήταν ετοιμες απο καιρό αλλα δεν ήταν ωριμο το περιβάλλον και ο χρήστης. Θα μπορούσαν να λειτουργούσαν ήδη. Με λίγα λόγια θετω το ερωτημα μήπως ήδη έχουμε αργήσει να αναβαθμιστούμε και να υοθετήσουμε ενα νέο προτυπο στο web. Πιθανότατα ναι. Τώρα περιμένουμε πότε θα εκμεταλευτουμε το καινουργιο πρότυπο, το οποίο όταν αυτό θα γίνει, οι ανάγκες να έχουν πάλι αυξηθει. Ακόλουθα ο χρήστης παρατηρήται να χρησιμοποιεί για συγκεκριμένους σκοπούς web apps και για άλλα native apps. Ενα ενδιαφέρον post σχετικα με τη δυσκολία που αντιμετωπίζουν οι πρώτες εφαρμογές εναντι των δευτερον βρήκα στο blog.mobileroadie.com.

Το html5 φέρνεί πολλά καλούδια, δυνατότητες και λειτουργίες, και οι ςεβ web εφαρμογες όλο και θα αυξάνονται μπροστα στο μοτο "καντα ολα μεσα απο το browser". Τελικά ποσο μακρυα είναι η στιγμη που ενα browser θα μπορει να αντικαταστήσει ένα λειτουργικό συστημα?


Βεβαια ολα αυτα ειναι λιγα απο αυτα που σκεφτομαι αυτη τη στιγμή και ίσως οχι οσο ακριβή και λεπτομερεις θα επρεπε. Ειναι ετσι και αλλιως μεγάλο θέμα. Οποιοσδήποτε εχει να πει ή να συμπληρώσει είναι ελεύθερος να επικοινωνήσει.

Friday, January 27, 2012

Mozilla ctf 2012

Πάντα ήθελα να πάρω μέρος σε ένα capture the flag. Η mozilla προσφατα διοργάνωσε το πρώτο της ctf event. Αμέσως έγινε η πρόταση στη mail-list του hackerspace. 211 registrations και μέσα σε αυτούς και εμείς. Στις 25 του μήνα και για 24 ώρες βρεθήκαμε για να αντιμέτωπίσουμε την πρόκληση. Όπως φαντάζεστε ήταν αρκετα εκπαιδευτικο και ενδιαφέρον. Τα task είχαν λίγο πολύ απο όλα. Απο assebly μεχρι encrypting hacks. Η αλήθεια ήταν πως παιδευτήκαμε αρκετα, αλλα πιστεύω πως είμαστε πολύ περήφανοι για την 64 θέση και τους 1125 ποντους καθότι ήταν και ο πρώτος μας διαγωνισμός. Αποφασίσαμε λοιπόν να πάρουμε μέρος και σε άλλα σαν ομαδα. Το hackerspace θα είναι εκει και στο επόμενο. Τέλος για την ιστορία θέλω να αναφέρω οτι νικητές ήταν οι leetmore που στο site τους θα βρείτε αρκετα writepus με την επιλυση που δώσανε σε κάποια απο τα task. Βασικά συγχαριτήρια σε όλους.

WriteUps: leetmore eindbazen