ΤΕΛΕΥΤΑΙΑ ΕΝΗΜΕΡΩΣΗ: 21.04.2019
Προστέθηκε το Windscribe. Αφαιρέθηκε το VPNBook.
Σε προηγούμενη δημοσίευση είδαμε πόσο εύκολο είναι να στήσει κάποιος σε Linux Server ένα VPN χρησιμοποιώντας, το ασφαλέστερο για σήμερα πρωτόκολλο, openvpn.
Εδώ θα δούμε πόσο εύκολα μπορεί κάποιος να χρησιμοποιήσει μια υπηρεσία Free VPN σε Ubuntu/Linux client.
Πόσες υπηρεσίες FreeVPN υπάρχουν, είναι αξιόπιστες, πως θα επιλέξω;
Δεκάδες είναι οι υπηρεσίες που προσφέρουν δωρεάν VPN σε διάφορα πρωτόκολλα. Καταρχήν μπορούμε να αποκλείσουμε όσες προσφέρουν PPTP, L2TP/IPsec κλπ, μιας και τα συγκεκριμένα θεωρούνται αναξιόπιστα και ευπαθή. Επικεντρωνόμαστε σε openvpn.
Φροντίζουμε να διαθέτουν αρχείο .ovpn
ώστε να εφαρμόσουμε την υπηρεσία σε επίπεδο συστήματος και όχι μόνο Browser. Επειδή κυκλοφορούν αρκετά πρόσθετα (addons) τα οποία υπόσχονται Free VPN, ανωνυμίες κλπ, συνήθως είτε δεν λειτουργούν καθόλου είτε είναι απελπιστικά αργά. Μη «ψαρώνετε» από τα reviews και τα αστεράκια καθώς αυτά εύκολα αποκτώνται.
Διαβάζουμε τα ToS (Terms of Service ή Terms of Use) για να πάρουμε μια ιδέα περί τίνος πρόκειται. Εκεί συνήθως αναφέρονται διάφορα όπως «Δεν κρατάμε αρχείο καταγραφής» , «δεν πουλάμε σε διαφημιστές τα προσωπικά σας δεδομένα» … και άλλες τέτοιες υποσχέσεις. Να γνωρίζετε ένα πράγμα ! Στις περισσότερες των περιπτώσεων όταν το προϊόν είναι δωρεάν, ο χρήστης (δηλαδή εμείς) είμαστε το προϊόν. Αυτό βέβαια δεν ισχύει πάντοτε αλλά σε ένα μεγάλο ποσοστό, ισχύει.
Βρίσκουμε πόσο καιρό είναι online η συγκεκριμένη υπηρεσία. Έχει και αυτό τη σημασία του. Οτιδήποτε κάτω από δύο χρόνια, το ξανασκεφτόμαστε.
Διαβάζουμε reviews από διάφορους χρήστες. Αν ψάξουμε με το όνομα της υπηρεσίας και τις λέξεις review problem privacy θα μας επιστραφούν αρκετά αποτελέσματα. Φιλτράρουμε αυτά τα αποτελέσματα και διαβάζουμε επιλεκτικά. Προτιμούμε προσωπικά blogs και forums και λιγότερο γνωστές σελίδες με συντάκτες επί πληρωμή. Καταλαβαίνετε το γιατί.
Κοιτάμε τη χώρα προέλευσης των υπηρεσιών. Αν και αυτό λίγη σημασία έχει διότι οι υπηρεσίες μπορούν να προσφέρονται από άλλη χώρα από εκείνη που φιλοξενείται ο/οι VPN server/servers.
Αφού έχουμε κάνει την έρευνά μας και έχουμε καταλήξει στο τι θέλουμε να χρησιμοποιήσουμε, πάμε να δούμε παρακάτω πως γίνεται σε Ubuntu/Linux.
Εγκατάσταση πακέτων
Το πακέτο που χρειαζόμαστε ίσως είναι ήδη εγκατεστημένο στη διανομή που χρησιμοποιούμε. Είτε είναι είτε όχι, δίνουμε τη παρακάτω εντολή σε ένα τερματικό.
sudo apt-get install network-manager-openvpn-gnome
Εάν είναι ήδη εγκατεστημένο η παραπάνω εντολή δεν θα κάνει κάτι. Εάν δεν είναι, τότε θα εγκατασταθεί το απαραίτητο πακέτο για υποστήριξη openvpn μέσω του Network Manager.
Προσέξτε εδώ ότι το πακέτο αναφέρεται σε gnome και σε όσα γραφικά περιβάλλοντα μπορούν να το υποστηρίξουν.
Ενεργοποίηση VPN
Εφόσον ολοκληρώσουμε την εγκατάσταση κάνουμε μια αποσύνδεση και επανασύνδεση. Έπειτα, από τον Network Manager ανοίγουμε το Edit Connections και προσθέτουμε μια νέα σύνδεση φορτώνοντας το αρχείο .ovpn
που έχουμε κάνει λήψη νωρίτερα (από την υπηρεσία που έχουμε επιλέξει).
Παρακάτω βλέπουμε ένα παράδειγμα σε Ubuntu 16.04 LTS, με επιλεγμένη υπηρεσία το ProtonVPN.
Εφόσον έχουμε εισάγει τα σωστά στοιχεία (username, password) θα πρέπει να συνδεθούμε άμεσα στην υπηρεσία.
Μπορούμε να κάνουμε έναν έλεγχο είτε στο whatismyip.com
είτε στο whoer.net
.
Άλλη μια τοποθεσία για έλεγχο (Leak) είναι το YouTube. Όσο και να μη φαίνεται εξειδικευμένο, το συγκεκριμένο site «σκάβει» τόσο βαθιά στο σύστημά μας που μπορεί να βρει σχεδόν τα πάντα. Μη σας κάνει εντύπωση εάν το whoer και άλλα εξειδικευμένα sites αναφέρουν τα επιθυμητά αποτελέσματα και μπαίνοντας στο YouTube σας βγάλει αριστερά επάνω το GR.
Fix DNS Leak
Fix Leak σε Firefox
Τότε, θα πρέπει κάποιος να ψάξει από που γίνεται Leak και να το διορθώσει. Οι συνήθως ύποπτοι είναι το WebRTC (που από τη «φύση» του κάνει leak, έτσι δουλεύει άλλωστε δεν το κάνει επίτηδες), η java/script και ο flash player.
Απενεργοποίηση WebRTC σε Firefox
Πληκτρολογούμε στη γραμμή διευθύνσεων about:config
και αποδεχόμαστε το warning. Έπειτα ψάχνουμε για το media.peerconnection.enabled
και το θέτουμε σε false
Έλεγχος Java/Javascript
Εδώ μπορούμε να κάνουμε εγκατάσταση το γνωστό πρόσθετο (addon) No Script στον Firefox και να μάθουμε να δουλεύουμε με αυτό. Πλέον έχει εκσυγχρονιστεί και διαθέτει έναν πίνακα ελέγχου σχετικά εύκολο στη χρήση.
Disable Flash Player
Αν και στο Ubuntu και σε κάποια derivatives ο flash player δεν είναι καν εγκατεστημένος, εάν τον έχουμε κάνει εγκατάσταση ή υπήρχε εξ αρχής και ήταν ενεργοποιημένος, μπορούμε να τον απενεργοποιήσουμε πηγαίνοντας στο Add-ons και στη καρτέλα Plugins. Δεν είναι κάτι το δύσκολο, θα το βρείτε αμέσως.
Firefox Profile
Επειδή είναι βαρετό έως και σαδιστικό να κάνει κάποιος όλα αυτά τα πράγματα βήμα προς βήμα συνεχώς και μετά να τα αναιρεί, αν δεν θέλει άλλο privacy protection για παράδειγμα, μπορούμε να δημιουργήσουμε ένα προφίλ στον Firefox με όλες αυτές τις ρυθμίσεις αποθηκευμένες και να το επιλέγουμε όποτε επιθυμούμε.
Από ένα τερματικό εκκινούμε τον Firefox με την εντολή
firefox -p
Εκεί επιλέγουμε τη δημιουργία νέου προφίλ. Αποεπιλέγουμε το κουτάκι που γράφει «Use the selected profile without asking at startup». Με αυτό το τρόπο θα μας ρωτάει με ποιο προφίλ θέλουμε να εκκινήσει.
Open DNS servers
Ένα επιπρόσθετο μέτρο είναι η αλλαγή των DNS από εκείνους του ISP μας σε κάποιους Public. Αυτό μπορεί να γίνει είτε σε επίπεδο Router, είτε σε επίπεδο λειτουργικού συστήματος.
Σε Ubuntu και παράγωγες διανομές ο Network Manager παρέχει μέσω γραφικού περιβάλλοντος το κατάλληλο μενού. Πρώτα επιλέγουμε τη σύνδεσή μας και στη καρτέλα IPv4 αλλάζουμε από Automatic DHCP σε Automatic DHCP (address only). Έπειτα θέτουμε τους DNS που θέλουμε και πατάμε Apply. Το ίδιο κάνουμε και για τη σύνδεση του VPN.
Ακόμη έχω Leak
Αν μετά από όλα τα παραπάνω φαίνεται να υπάρχει ακόμη DNS Leak, τότε μπορούμε να εφαρμόσουμε τους παρακάτω κανόνες μέσω iptables
.
Εδώ υποθέτουμε τα εξής:
1. Η διεύθυνση του τοπικού δικτύου είναι κάτι σαν 192.168.1.x/24
2. Το intefrace της σύνδεσης μας έχει όνομα enp2s0
3. Γνωρίζουμε την IP του VPN στο οποίο έχουμε συνδεθεί και αντικαθιστούμε στον τελευταίο κανόνα τα xxx.xx.x.xx με αυτή ή μπορούμε να δώσουμε δικαιώματα για όλο το range. Πχ. xxx.xx.0.0/16 σε περίπτωση που αλλάζει συχνά η IP και έχουμε προβλήματα σύνδεσης.
4. Το interface για τη VPN σύνδεση μας έχει όνομα κάτι σαν tun0
5. Δεν έχουμε άλλους κανόνες iptables ενεργοποιημένους, ούτε κάποιο front-end όπως πχ ufw (firewall).
Τα παραπάνω μπορούμε να τα βρούμε εξετάζοντας τα αποτελέσματα των εντολών:
ifconfig ή ip addr
και
sudo ufw status ή sudo iptables -L
Τα παρακάτω έχουν γραφτεί υπό μορφή script (εξού και το shebang στη πρώτη γραμμή). Αποθηκεύουμε ως πχ iptables_vpn_rules, δίνουμε δικαιώματα εκτέλεσης chmod 755 iptables_vpn_rules
και εκτελούμε με sudo ./iptables_vpn_rules
.
Για να αναιρέσουμε όλους τους κανόνες δίνουμε σε ένα τερματικό sudo iptables -F
#!/bin/bash iptables -A INPUT -i lo -j ACCEPT # Να επιτρέπεται η πρόσβαση στη σύνδεση loopback iptables -A OUTPUT -o lo -j ACCEPT iptables -A OUTPUT -d 255.255.255.255 -j ACCEPT # Να επιτρέπεται η επικοινωνία με τον DHCP server iptables -A INPUT -s 255.255.255.255 -j ACCEPT iptables -A INPUT -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT # Να επιτρέπεται η επικοινωνία με το δικό μας δίκτυο iptables -A OUTPUT -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT iptables -A FORWARD -i enp2+ -o tun+ -j ACCEPT # Να επιτρέπεται η επικοινωνία μεταξύ enp2+ και tun+ iptables -A FORWARD -i tun+ -o enp2+ -j ACCEPT iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE # Κάνε map την IP διεύθυνση από το tun+ interface και να επιτρέπεται η αλλαγή του header. Αυτός ο κανόνας είναι λίγο πολύ self explanatory (MASQUERADE) iptables -A OUTPUT -o enp2+ ! -d xxx.xx.x.xx -j DROP # Αν ο προορισμός των πακέτων που φεύγουν (outgoing) είναι διαφορετικός από τη διεύθυνση του VPN, τότε να γίνονται DROP. Έτσι γλυτώνουμε ένα leak σε περίπτωση που κάτι πάει στραβά με τη VPN σύνδεση.
Extra Tip
Χρησιμοποιείτε πάντα DuckDuckGo αντί Google Search.
Q&A
- Ποια υπηρεσία προτείνεις για Free VPN ;
Τρεις φαίνονται τίμιες, από όσες έχω δοκιμάσει. Δηλαδή κάνουν ότι υπόσχονται. Κατά σειρά προτεραιότητας:
- Windscribe. Διαθέτει Linux Client σε μορφή Script (CLI). Δεν χρειάζεται σχεδόν καμία ρύθμιση, ούτε iptables. Ρυθμίζει το Firewall μόνο του (αυτόματα).
- TunnelBear. Tο συγκεκριμένο προτείνεται από το DuckDuckGo. Από Linux Clients υπάρχουν οδηγίες για Ubuntu και Fedora. Ακολουθήστε τις εδώ.
- ProtonVPN
- Έχω Kubuntu ή KDE ως γραφικό περιβάλλον.
Τι πακέτο να κάνω εγκατάσταση αντί του network-manager-openvpn-gnome ;
Πρώτα ελέγχουμε μήπως ο Network Manager υποστηρίζει ήδη το αρχείο .ovpn
.
Αν δεν το υποστηρίζει δοκίμαζουμε κάνοντας εγκατάσταση το πακέτο network-manager-openvpn
.
Αν πάλι δεν δουλέψει, καταφεύγουμε στη σίγουρη λύση του τερματικού.
sudo apt-get install openvpn sudo openvpn --config /path/to/.ovpn
- Έχεις να προτείνεις κάποιο site/blog για αξιόπιστο review VPN υπηρεσιών;
Ένα το οποίο έχω ανακαλύψει και νομίζω ότι κάνει καλή και δίκαιη κριτική είναι το thatoneprivacysite.net
Φαίνεται να ψάχνει αρκετά πριν δημοσιεύσει, φαίνεται να κάνει καλή δουλειά. Εκεί θα βρείτε και κριτική για το ProtonVPN.
Ως δεύτερο, το spreadprivacy.com
από το DuckDuckGo. Για VPNs δείτε στο spreadprivacy.com/how-to-choose-a-vpn
Until next time …
Thanks for reading!
Πάρα πολύ καλό το άρθρο! Απλά να πω ότι το proton δε μου ενεργοποιούσε τα downloads στη free έκδοση, αντίθετα το tunnelbear μου δούλεψε άψογα…
Ενδιαφέρον άρθρο! Ευχαριστούμε! :)
Νομίζω ότι το update-resolv-conf βοηθάει αρκετά στο leak.
Μπράβο Nick, άλλο ένα ωραίο άρθρο, ημουν σε αναζήτηση για VPN μάλιστα στο site του Σαλίχ ρωτούσα για το protonVPN.
Υπαρχει καποιο πακετο για kde ?
Σε ευχαριστώ εκ των προτερων !
Δες πρώτα αν μπορείς να προσθέσεις το αρχείο
.ovpn
ως έχει. Αν όχι και σου επιστρέφει μήνυμα λάθους, τότε κάνε εγκατάσταση τοnetwork-manager-openvpn
Αν ακόμη έχεις πρόβλημα να αναγνωρίσει το αρχείο, καταφεύγεις στην σίγουρη λύση του τερματικού.
sudo apt-get install openvpn
sudo openvpn --config /path/to/.ovpn