Στο σημερινό οδηγό θα δημιουργήσουμε λογαριασμό στο Freenode, θα μάθουμε τα βασικά του IRC και θα δούμε πως μπορούμε να συνδεθούμε στο δημόσιο Freenode IRC μέσω του δικτύου Tor για ασφάλεια και καλύτερη ιδιωτικότητα.
Στην κοινότητα του ελεύθερου λογισμικού, των hacker, των tinkerers και ιδιαίτερα για όσους γεννήθηκαν πριν το 2000, η επικοινωνία μέσω IRC έχει ξεχωριστή θέση στην καρδιά.
Τι είναι το IRC;
Το Internet Relay Chat (IRC) είναι μια μορφή συνομιλίας σε πραγματικό χρόνο που έχει σχεδιαστεί για ομαδική επικοινωνία (κανάλι) κειμένου ή ιδιωτική επικοινωνία μέσω ιδιωτικών μηνυμάτων. Το IRC δημιουργήθηκε το 1988 ως ένα ανοιχτό πρωτόκολλο όπου στον διακομιστή IRC (π.χ. το freenode), υπάρχουν πολλά κανάλια, το καθένα απο τα οποία δημιουργήθηκαν, για μια ομάδα ατόμων παρόμοιου ενδιαφέροντος (π.χ. cerebrux, ubuntu-gr, debian, arch κ.α.).
Μπορεί στην χώρα μας να μην χρησιμοποιείται εκτεταμένα, στο εξωτερικό χρησιμοποιείται σε πολλές περιπτώσεις ως αποκλειστικό μέσω π.χ. παροχής υποστήριξης για ελεύθερα λογισμικά.
Αν και δεν χρησιμοποιείται εκτεταμένα (σκοπίμως :) ) ακόμα και το Cerebrux έχει IRC κανάλι στο Freenode :
- Το κανάλι μας στο freenode #cerebrux, ή μέσω του browser σας : https://chat.cerebrux.net
- Διαβάστε περισσότερα για το κανάλι μας:
Σε κουβέντα να βρισκόμαστε… κανάλι #cerebrux στο Freenode
Καθ’όλη την διάρκεια του παρόντος οδηγού, χρησιμοποιώ το Hexchat ένα δωρεάν και ελεύθερο λογισμικό για σύνδεση στο IRC. Είναι διαθέσιμο για Linux και Windows.
Σημείωση: Οι χρήστες Linux μπορούν να το βρουν στα αποθετήρια της διανομής τους. Στο παρόν οδηγό θεωρούμε ότι χρησιμοποιείτε κάποια διανομή Linux.
Οι χρήστες μπορούν να μπούνε ελεύθερα στα κανάλια με όποιο όνομα θέλουν χωρίς να φτιάξουν κάποιον λογαριασμό. Αντίθετα οι ποιο συχνοί χρήστες δημιουργήσουν λογαριασμούς με username της αρεσκείας τους και τα προστατεύουν με password για να μην μπορέσει να το χρησιμοποιήσει κάποιος άλλος χρήστης.
Δημιουργία λογαριασμού IRC – εγγραφή Nickname
Το ψευδώνυμό σας (nickname) είναι το όνομα με το οποίο σας γνωρίζουν οι χρήστες στο freenode. Εάν το καταχωρίσετε, θα μπορείτε να χρησιμοποιείτε το ίδιο ψευδώνυμο ξανά και ξανά. Εάν δεν εγγραφείτε, κάποιος άλλος μπορεί να καταλήξει να καταχωρήσει το ψευδώνυμο που θέλετε. Ορισμένα κανάλια απαιτούν από εσάς να εγγραφείτε προτού μπορέσετε να μιλήσετε σε αυτά.
Ανοίξτε το Hexchat, και αφού συνδεθείτε με το Nickname της αρεσκείας σας λογικά θα είστε στο περιβάλλον του freenode
χωρίς να έχετε μπει σε κάποιο κανάλι. Εκεί πληκτρολογήστε :
/nick toNicknameSas /msg NickServ REGISTER EnakaloPassword to-email@sas.gr
Με την παραπάνω διαδικασία θα σας έρθει email όπου θα σας πει να πληκτρολογήσετε μια εντολή για να επιβεβαιώσετε την κατοχύρωση του λογαριασμού σας. Περισσότερα για αυτό δείτε τον επίσημο οδηγό.
Είναι χρήσιμο, αλλά δεν απαιτείται, να ομαδοποιήσετε ένα εναλλακτικό ψευδώνυμο στον λογαριασμό σας. Για παράδειγμα, εάν το κύριο ψευδώνυμό σας είναι toNicknameSas
και θέλετε και το AlloNicknameSas
:
/nick AlloNicknameSas /msg NickServ IDENTIFY toNicknameSas to-Password-sas /msg NickServ GROUP
Η ομαδοποίηση των ψευδώνυμων με αυτόν τον τρόπο σας δίνει το πλεονέκτημα ότι μπορείτε να καλύψετε όλα τα ονόματα σας με το ίδιο cloack (μανδύα), εάν φυσικά επιλέξετε να κάνετε cloacking. Τα εγγεγραμμένα ψευδώνυμα και οι λογαριασμοί θα λήξουν εάν δεν χρησιμοποιηθούν για μεγάλο χρονικό διάστημα, και θα είναι διαθέσιμοι για να τα κατοχυρώσει άλλος χρήστης.
Τι είναι το Cloaking;
Το cloaking είναι ένας μανδύας που μπαίνει στην διεύθυνση του χρήστη για να αποκρύπτει την IP του. Για χρόνια οι χρήστες το χρησιμοποιούσαν ως μέθοδο ανωνυμοποίησης και ιδιωτικότητας μέχρι να καταλάβουν ότι τελικά μόνο αυτό δεν παρείχε.
Οι μανδύες στο freenode απλά δείχνουν τη σχέση σας με ένα έργο (ή απουσία αυτού) ή με μια ομάδα που φιλοξενείται στο freenode. Υπάρχουν πολλοί λόγοι για τους οποίους ένας μανδύας μπορεί να διαρρεύσει την IP σας στις παρακάτω περιπτώσεις:
- Η IP σας θα εξακολουθεί να εμφανίζεται όταν ένας υπάλληλος του freenode κάνει ένα
/whois
σε εσάς. - Η IP σας θα εξακολουθεί να εμφανίζεται όταν δεν γίνεται χρήση του SASL και δεν έχετε μανδύα όταν μπαίνετε σε κανάλια. Ακόμα κι αν το λογισμικό σας έχει ρυθμιστεί να περιμένει πριν γίνει η συμμετοχή σε κανάλι, ένας χρήστης μπορεί ακόμα να δει την IP σας με την εντολή
/monitor
. - Αν οι υπηρεσίες (NickServ, SaslServ) είναι εκτός λειτουργίας ή σε άλλη πλευρά ενός διαχωρισμένου δικτύου τότε η IP σας θα εξακολουθεί να εμφανίζεται ακόμα και όταν χρησιμοποιείτε έλεγχο ταυτότητας SASL/ NickServ
- Η IP σας θα εμφανίζεται όταν κάνετε κλικ σε έναν σύνδεσμο ή αποδεχτείτε μια DCC μεταφορά αρχείου.
- Εάν ένας απλός χρήστης θέλει πραγματικά να πάρει την IP σας, είναι δυνατό να χρησιμοποιήσει διάφορες υπηρεσίες ή το IRCd.
Για να αποφύγετε την διαρροή της IP σας υπάρχουν οι εξής τρόποι:
- Χρησιμοποιήστε την κρυφή Tor υπηρεσία του Freenode (θα το δούμε παρακάτω)
- ένα δωρεάν VPN.
- Εάν δεν ενδιαφέρεστε την IP ενός VPS, μπορείτε επίσης να στήσετε ένα bouncer (θα το δούμε σε μελλοντικό οδηγό).
Τι είναι το Tor;
Όπως διαβάζουμε στην Wikipedia:
To Tor (συντομογραφία του The onion router) είναι ένα σύστημα που δίνει στους χρήστες του τη δυνατότητα ανωνυμίας στο Διαδίκτυο. Η χρήση Tor κάνει δύσκολη την ανίχνευση διαδικτυακής δραστηριότητας του χρήστη, συμπεριλαμβανομένου επισκέψεων σε κάποια ιστοσελίδα, διαδικτυακές αναρτήσεις, προγράμματα άμεσων μηνυμάτων και άλλων μέσων διαδικτυακής επικοινωνίας, κι έχει σκοπό να προστατεύσει την ατομική ελευθερία, την ιδιωτικότητα και τη δυνατότητα του χρήστη να διεξάγει εμπιστευτικές εργασίες χωρίς να καταγράφονται οι διαδικτυακές δραστηριότητές του.
Το “Onion routing” αναφέρεται στη στρωματοποιημένη φύση της υπηρεσίας κρυπτογράφησης όπου τα αρχικά δεδομένα κρυπτογραφούνται και επανακρυπτογραφούνται πολλές φορές, έπειτα στέλνονται μέσω διαδοχικών κόμβων του Tor, ο καθένας από τους οποίους αποκρυπτογραφεί ένα «στρώμα» κρυπτογράφησης προτού μεταφέρει τα δεδομένα στον επόμενο κόμβο και τελικά στον προορισμό τους. Αυτό μειώνει την πιθανότητα να αποκρυπτογραφηθούν ή να γίνουν κατανοητά κατά τη μεταφορά τους τα αρχικά δεδομένα. Το Tor είναι ελεύθερο λογισμικό και η χρήση του είναι δωρεάν.

Πώς να συνδεθείτε στο IRC χρησιμοποιώντας Hexchat και TOR
Η διαδικασία σύνδεσης στο freenode μέσω του δικτύου Tor περιλαμβάνει την παρακάτω διαδικασία:
- Δημιουργία SASL Εξωτερικών πιστοποιητικών
- Ενημέρωση του freenode λογαριασμού σας με το fingerprint του πιστοποιητικού
- Σύνδεση στο Tor δίκτυο
- Σύνδεση στο Freenode
To 1-2 θα το κάνουμε μια φορά ενώ για το 3 υπάρχει ένας μόνιμος τρόπος και ένας μη μόνιμος τρόπος.
Δημιουργία SASL Εξωτερικών πιστοποιητικών
Ξεκινάμε με την έκδοση των SSL πιστοποιητικών με το λογισμικό openssl. Θυμίζω ότι χρησιμοποιώ Hexchat και η διαδρομή για την προσθήκη των πιστοποιητικών μπορεί να διαφέρει για το δικό σας λογισμικό.
mkdir ~/.config/hexchat/certs
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:4096 -keyout ~/.config/hexchat/certs/FreenodeOnion.pem -out ~/.config/hexchat/certs/FreenodeOnion.pem
- φτιάξαμε έναν φάκελο
certs
- εκδόσαμε πιστοποιητικά μεγέθους 4096bit (rsa:4096) με διάρκεια ισχύος 1 έτος (-days 365) και τα μεταφέραμε στον φάκελο
~/.config/hexchat/certs/
. Στις ερωτήσεις που κάνει απαντάμε όπως θέλουμε εκτός από την ερώτησηCommon Name
όπου καλό είναι να βάλετε το Nickname που χρησιμοποιείτε στο Freenode - Τέλος, πρέπει να ονομάσετε το αρχείο
.pem
με ό, τι θέλετε να ονομάσετε την καταχώριση του Freenode IRC που θα φτιάξουμε. Αν λοιπόν το επιλέξετε να το ονομάσετε «FreenodeOnion» την καταχώριση στο Hexchat τότε πρέπει να το ονομάσετε τα αρχείοFreenodeOnion.pem
, αν την καταχώρηση στο Hexchat θέλετε να την ονομάσετε Kremidia τότε πρέπει να το ονομάσετε τα αρχείοKremidia.pem
διαφορετικά το πιστοποιητικό SASL θα αποτύχει. Εάν χρησιμοποιείτε διαφορετικό πρόγραμμα-πελάτη από το Hex Chat τότε δείτε το manual του σχετικά με το SASL.
Ενημέρωση του freenode λογαριασμού σας με το fingerprint του πιστοποιητικού
Πρέπει τώρα να δούμε το fingerprint του πιστοποιητικού μας με την παρακάτω εντολή:
openssl x509 -in ~/.config/hexchat/certs/FreenodeOnion.pem -outform der | sha1sum -b | cut -d \ -f1
Όταν το τρέξετε στο τερματικό, θα εμφανιστεί μια συμβολοσειρά 40 τυχαίων χαρακτήρων στην οθόνη που θα μοιάζει με το παρακάτω:
7b510004512a3b4a5n6a78903e35005c15d566av2R
Πάμε τώρα πίσω στο Hexchat και συνδέεστε στον λογαριασμό σας στο Freenode. Έπειτα τρέχετε καταχωρείτε το fingerprint (συμβολοσειρά) στον λογαριασμό σας:
/msg NickServ CERT ADD 7b510004512a3b4a5n6a78903e35005c15d566av2R
Φυσικά εσείς θα βάλετε το δικό σας fingerprint. Όταν σας ενημερώσει το Freenode ότι το προφίλ σας έχει ενημερωθεί με το fingerprint σας, αποσυνδεθείτε απο αυτό διότι θα συνδεθούμε μέσω tor.
Περισσότερα σχετικά με το SASL δείτε την επίσημη τεκμηρίωση.
Σύνδεση στο Tor δίκτυο
Για την σύνδεση στο δίκτυο Tor υπάρχουν δύο τρόποι:
- Λήψη και εγκατάσταση του Tor browser
- Εγκατάσταση υπηρεσίας Tor στο σύστημα.
Το 1 είναι το πιο εύκολο διότι απλά κατεβάζετε το Tor browser, το ανοίγετε, αυτό δημιουργεί μια reverse σύνδεση του Tor στο σύστημά σας και εσείς ρυθμίζετε απλά το Hexchat να συνδέετε σε αυτό. Το μειονέκτημα είναι ότι θα πρέπει πριν ανοίξετε το Hexchat για να συνδεθεί, θα πρέπει ήδη να έχετε ανοίξει το Tor browser.
Ο 2 δεύτερος τρόπος, απλά είναι μόνιμος και ρυθμίζεται μια φορά και το ξεχνάτε.
Ας τα δούμε όμως με την σειρά.
Σύνδεση στο Tor με τον Tor browser
Το μόνο που έχετε να κάνετε είναι να κατεβάσετε και να κάνετε εγκατάσταση τον tor browser. Λογικά είναι διαθέσιμο στο αποθετήριο της διανομής σας.
Αφού το κάνετε εγκατάσταση, ανοίξτε τον. Θα χρειαστούν λίγα δευτερόλεπτα για να συνδεθεί στο δίκτυο Tor Onion (είναι αργό)

Αυτό ήταν, είστε συνδεδεμένοι στο δίκτυο Tor. Τώρα απλά κάντε ελαχιστοποίηση του Tor browser και μην το κλείνετε όσο χρησιμοποιείτε το HexChat. Αν το κλείσετε τότε θα διακοπεί η σύνδεση με το Tor δίκτυο.
Ο Tor browser δημιουργεί μια SOCKS σύνδεση στο δίκτυο Tor που είναι διαθέσιμη τοπικά στην IP 127.0.0.1
και στην port 9050
. Αν δεν σας πειράζει να ανοίγετε κάθε φορά τον Tor browser (πριν τον HexChat) και να μην τον κλείνετε όσο είστε στο HexChat τότε συνεχίστε στο Ρύθμιση του HexChat για το Tor δίκτυο
. Αν όμως θέλετε να μην έχετε τον Tor browser καν στο σύστημά σας τότε θα πρέπει να κάνετε το Tor μόνιμη υπηρεσία του συστήματός σας όπως περιγράφεται στο
Μόνιμη σύνδεση στο Tor δίκτυο
Το πρώτο πράγμα που θα πρέπει να κάνετε είναι να εγκαταστήσετε το πακέτο tor
στην διανομή σας. Π.χ. σε debian / ubuntu:
sudo apt install tor
Έπειτα με τον αγαπημένο μας vim editor :
sudo vim /etc/tor/torrc
βγάζουμε το #
από την γραμμή που λέει
#SOCKSPort 9050 # Default: Bind to localhost:9050 for local connections

Αποθηκεύουμε και κλείνουμε ( Shift : x Enter
) το αρχείο. Έπειτα ξεκινάμε την υπηρεσία
sudo systemctl enable --now tor.service
sudo systemctl status tor.service

Όπως βλέπετε, και από το αρχείο που επεξεργαστήκαμε δημιουργήσαμε μια σύνδεση στο δίκτυο Tor που είναι διαθέσιμη τοπικά μέσω SOCKS στην IP 127.0.0.1
και στην port 9050
. Με την υπηρεσία που ενεργοποιήσαμε, πλέον αυτό θα γίνεται αυτόματα και εμείς απλά θα ανοίγουμε το HexChat και τίποτα άλλο.
Ρύθμιση του HexChat για το Tor δίκτυο
Ανοίξτε το Network List
από το μενού του HexChat και στην ενότητα Networks πατήστε Add για να προσθέσουμε την διεύθυνση FreenodeOnion
ή όπως ονομασατε το αρχείο .pem
του πιστοποιητικού σας.
Έπειτα πατήστε Edit...
για να ανοίξει το παράθυρο διευθύνσεων στο οποίο θα προσθέσετε την επίσημη διεύθυνση του Freenode (προσοχή: ελέγξτε αν έχει αλλάξει):
ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion
και στην συνέχεια ενεργοποιείστε τις επιλογές:
- Connect to selected server only
- Connect to this network automatically
- Use SSL..
- Accept invalid SSL
- Use Global user info…
- Login Method: SASL EXTERNAL (cert)

Τώρα στο μενού Settings –> Preferences στο Hexchat θα πάτε στο Network Setup και στα δεξιά ρυθμίζετε στο Proxy Server:
- Hostname: 127.0.0.1
- Port: 9050
- Type: SOCKS5
- Use Proxy for: All connections

Σύνδεση στο Freenode
Αφού τα έχετε ρυθμίσει και είναι όλα ΟΚ τότε μπορείτε από το Network List
να επιλέξετε την καταχώρηση FreenodeOnion
ή όπως την ονομάσατε, και να πατήσετε Connect
θα δείτε την διαδικασία σύνδεσης στην .onion
διεύθυνση του Freenode μέσω του 127.0.0.1:9050
όπως φαίνεται στην παρακάτω εικόνα:

Μόλις ολοκληρωθεί η διαδικασία θα σας «χαιρετήσει το Freenode»:
freenode-connect- Welcome to freenode. To protect the network all new connections will be scanned for vulnerabilities. This will not harm your computer, and vulnerable hosts will be notified.
Εύγε ! είστε στο Freenode μέσω του Tor δικτύου. Αν προσέξατε, δεν χρειάστηκε πουθενά να δώσετε το συνθηματικό σας διότι, το HexChat έδωσε στο freenode το πιστοποιητικό που έχετε στο PC σας και το freenode το σύγκρινε με το fingerprint που είχατε ανεβάσει στο προφίλ σας. Με αυτόν τον τρόπο πιστοποιήθηκε ότι είστε αυτός που ισχυρίζεστε (όπως είδαμε στο στην κρυπτογράφηση με gpg).
Τώρα δεν έχετε παρά να μπείτε μέσω του Μενού Server –> Join a Channel και να γράψετε #cerebrux για να μπείτε στο κανάλι μας,

ή εναλλακτικά μπορείτε να γράψετε την εντολή στο παράθυρο του freenode:
/join #cerebrux
και να μας πείτε ένα γεια σας από tor
Για περισσότερες εντολές, δείτε το cheat-sheet που ανεβάσαμε στο αποθετήριό μας:
Επίλογος
Το Freenode αλλά και γενικά το IRC έχει ιδιαίτερη θέση στην καρδιά μας. Κοινότητες, φιλίες, ομάδες αναπτύχθηκαν και χάθηκαν…. ωραίες αναμνήσεις, τρολαρίσματα, flames, αστεία και άπειρες συζητήσεις στις μνήμες μας.
Πολλές υπηρεσίες chat, κέρδισαν έδαφος, ή χάθηκαν. Αλλά το ανοιχτό IRC είναι ακόμα εδώ.
Ωραίος οδηγός Σαλί,
Θα ήθελα να επισημάνω πως στο Ubuntu η εντολή systemctl status tor.service είναι active (exited).
Μετά από αναζήτηση βρήκα το συγκεκριμένο ποστ https://unix.stackexchange.com/a/519833
Η λύση ουσιαστικά είναι
systemctl status tor@default
για να έχω μια πλήρη εικόνα για το status.
Ωραία, σημαντική προσθήκη γιατί είδα οτι το έχουν πακετάρει διαφορετικά ανάλογα με την διανομή
Επίσης θα ήθελα να ρωτήσω, για να συνδεθώ σε διαφορετικό υπολογιστή πρέπει να έχω το ίδιο αρχείο ή να δημιουργήσω νέο κλειδί; Υποστηρίζει το freenode προσθήκη περισσότερων certificate;
Μου έδωσες πάσα να ενημερώσω το άρθρο με την παράγραφο ¨ Αν προσέξατε, δεν χρειάστηκε πουθενά να δώσετε το συνθηματικό σας διότι, το HexChat έδωσε στο freenode το πιστοποιητικό που έχετε στο PC σας και το freenode το σύγκρινε με το fingerprint που είχατε ανεβάσει στο προφίλ σας. Με αυτόν τον τρόπο πιστοποιήθηκε ότι είστε αυτός που ισχυρίζεστε ¨
Οπότε με άλλα λόγια, όπως καταλαβαίνεις μπορείς να μεταφέρεις τα ίδια κλειδιά και σε άλλο PC.
Επίσης έβαλα και λινκ σε cheat-sheet για όποιον θέλει να μάθει περισσότερε εντολές IRC