FreeBSD 11.0, τείχος προστασίας και openvpn, ένας απλός τρόπος

Συζήτηση στην κατηγορία 'FreeBSD' που ξεκίνησε ο χρήστης Pragma_linux, 14 Νοε 2016.

  1. Το άρθρο αυτό προορίζεται σε άτομα που έχουν μια σχετική τριβή με λίνουξ ή bsd. Αν ο χρήστης είναι αρχάριος (μέχρι χθες χρησιμοποιούσε windows ) θα δυσκολευτεί πάρα πολύ. Ο σκοπός μας είναι σε ένα απλό σύστημα χωρίς απομακρυσμένη διαχείρηση που θα μπορούσε να είναι σε ένα αυτόνομο μηχάνημα ή σε μια εικονική μηχανή με γεφύρωση δικτύου, να εγκαταστήσουμε ένα βασικό τείχος προστασίας καθώς και η προσαρμογή του openvpn επειδή αυτό είναι πολύ σύνηθες σε παρόχους VPN υπηρεσιών.

    Η Επιλογή firewall και τρόπου σύνδεσης επιλέχθηκαν έτσι γιατί θεώρησα οτι είναι ο ευκολότερος και ταχύτερος συνδιασμός των δύο που να λειτουργεί. Έμπειροι χρήστες φυσικά ξέρουν και μπορούν να προσαρμόσουν το pf ή να κάνουν flush και να εισάγουν χειροκίνητα τους όρους τους στο ipfw.

    Αρχικά πρέπει να βρούμε όλους τους τεχνικούς όρους του παρόχου VPN. Θα χρειαστούμε τους DNS server του παρόχου, ειδικότερα του διακομιστή που πρόκειται να εγκαταστήσουμε. Καλό είναι να επιλέξουμε διακομιστή αφού πρώτα τον δοκιμάσουμε για πιστότητα και ταχύτητα σε λίνουξ όπου μας είναι πιο εύκολο. Έπειτα θα χρειαστούμε τα ca.crt user.crt user.key ta.key.

    Συνήθως ο τρόπος σύνδεσης είναι μέσω UDP, θεωρητικά καλύτερο αλλά είναι δυνατό για συγκεκριμένους λόγους να χρειαζόμαστε TCP ρύθμιση. Θα πρέπει να ξέρουμε την θύρα που γίνεται αυτή η σύνδεση.
    Αν υπάρχει δυνατότητα να κατεβάσουμε το αρχείο διακομιστηςχψζ.ovpn οι περισσότερες πληροφορίες υπάρχουν εκεί όταν το ανοίξουμε μ' ένα επεξεργαστή κειμένου π.χ leafpad.Μπορεί να δούμε κάτι τέτοιο δηλαδή:

    xxx.xxx.xxx.xxx ο εν λόγω διακομιστής, yyy η εν λόγω θύρα.

    Δυστυχώς(αυτό φυσικά είναι πολύ αμφισβητίσιμο) το FreeBSD δεν έχει network manager ώστε να αλλάζουμε με 2-3 κλικ τον διακομιστή που θέλουμε. Εδώ επέλεξα να γίνεται σύνδεση κατά την εκκίνηση του συστήματος σε συγκεκριμένο διακομιστή γιατί θεώρησα οτι είναι το ευκολότερο για νέους χρήστες. Οι έμπειροι χρήστες μπορούν να χρησιμοποιούν διαφορετικούς διακομιστές.
    sudo pkg install openvpn
    Προσθέτουμε το πακέτο openvpn και βεβαιωνόμαστε οτι υπάρχουν στο συστήμά μας τα easy-rsa και lzo2
    Κώδικας:
    sudo leafpad /etc/rc.conf
    Προσθέτουμε και ενεργοποιούμε το τείχος προστασίας

    Περιορίζουμε το μέγεθος καταγραφών για επίμονους επίδοξους πρωκτολόγους προσθέτωντας
    στο /etc/sysctl.conf .

    Για να ρυθμίσουμε το openvpn στο σύστημα προσθέτουμε δυο φακέλους στο /usr/local/etc
    Κώδικας:
    sudo mkdir /usr/local/etc/openvpn 
    και
    Κώδικας:
    sudo mkdir /usr/local/etc/openvpn/keys 
    όπου μεταφέρουμε τα κλειδιά μας από το φάκελο που τα έχουμε, ας πούμε "Λήψεις".

    Στο /usr/local/etc/openvpn προσθέτουμε το αρχείο client.conf από το /usr/local/share/examples/openvpn/sample-config-files/ και το μετονομάζουμε σε openvpn.conf

    Στο /usr/local/etc/openvpn/keys προσθέτουμε όλα τα κλειδιά-διαπιστευτήρια στα οποία αναφερθήκαμε αρχικά.
    Είναι δυνατό να προστεθεί εκεί και το αρχείο χχχχ.ovpn.

    Κάνουμε επεξεργασία του openvpn.conf(πρώην client.conf) -> sudo leafpad /usr/local/etc/openvpn/openvpn.conf χρησιμοποιώντας όλες τις πληροφορίες που συλλέξαμε αλλά και βλέπουμε όταν ανοίγουμε με κειμενογράφο το χχχχχ.ovpn δλδ client, tun, remote ..διακομιστής....θύρα κλπ όπου μεγάλη προσοχή στη σωστή τοποθεσία των ca.crt, user.crt, user.key π.χ

    Φυσικά καλύτερα είναι να διαλέγουμε διακομιστές και παρόχους με remote-cert-tls server, οπότε στην επεξεργασία επιλέγουμε και ελέγχουμε να υπάρχει το

    Αφαιρούμε σε όσες γραμμές χρειάζεται το ; όπως σε άλλα αρχεία αφαιρούμε το # για να ενεργοποιήσουμε την επιλογή.
    Προσοχή επίσης στη σύνταξη του διακομιστή
    Έπειτα φροντίζουμε να προσθέσουμε στην εκκίνηση του συστήματος την ενεργοποίηση του openvpn με
    Κώδικας:
    sudo leafpad /etc/rc.conf 
    και
    είτε με τις εντολές(εγώ προτιμώ το πρώτο ώστε πάντα να τσεκάρω το σύνολο των εντολών εκκίνησης )

    Κώδικας:
    sudo sysrc openvpn_enable="YES"
     
    sudo sysrc openvpn_if="tun"
    Μπορούμε να ενεργοποιήσουμε αρχεία καταγραφών, σημαντικά πολλές φορές για αποσφαλμάτωση και άλλα προβλήματα.
    Κώδικας:
    sudo leafpad /etc/syslog.conf 
    και προσθέτουμε πριν το πριν το !*:

    Ενώ για log rotation
    Κώδικας:
    sudo leafpad /etc/newsyslog.conf 
    και προσθέτουμε με προσοχή στο κατάλληλο μέρος, και όχι στο τέλος, αν θέλουμε το σωστό τρόπο στα άλλα logs τη γραμμή :
    Κώδικας:
    /var/log/openvpn.log                    600  30    *    @T00  ZC
    Τελευταία και όχι χωρίς σημασία η εισαγωγή των DNS server, sudo leafpad /etc/resolv.conf
    και προσθέτουμε τους διακομιστές ονομάτων του παρόχου, που αντιστοιχούν βέβαια στο διακομιστή με τον οποίο μπαίνουμε στο διαδίκτυο.
    Με αυτό τον τρόπο εύκολα όταν δε θέλουμε να χρησιμοποιήσουμε VPN μια μια απλή αλλαγή ξαναχρησιμοποιούμε την απλή συνδεσή μας στο διαδίκτυο παρακάμπτωντας το VPN.
    Εγώ χρησιμοποιώ τα 208.67.222.222 και 208.67.220.220 για απλή περιήγηση

    Κάνουμε επανεκκίνηση του συστήματος και πλέον έχουμε VPN ενεργοποιημένο συν τείχος προστασίας. Καλό είναι βέβαια να ελέγξετε με υπηρεσίες όπως το http://ipleak.com/full-report/
    Προτείνω αυτό ώστε ταυτόχρονα να δούμε ότι υπάρχουν πολλά ακόμα που πρέπει να ρυθμιστούν στο φυλλομετρητή ώστε να είμαστε πιο καλυμμένοι.

    Η ομάδα και η κοινότητα του FreeBSD έχουν δεσμευτεί για υποστήριξη της σειράς 11 μέχρι και πέντε χρόνια. Μήπως είναι καιρός να του δώσουμε περισσότερη σημασία; Άλλωστε πάντα ήταν αξιοθαύμαστο για τη σταθερότητά του και την ασφάλειά του.

    Παρακαλώ όσους έχουν βρει λάθη ή έχουν να προτείνουν κάτι να σχολιάσουν.
    Αν εκδηλωθεί επίσης ενδιαφέρον στο forum, όταν βρω χρόνο θα κάνω ένα άρθρο για το πως να γίνει εγκατάσταση του FreeBSD 11 με xfce4, καθώς και απλούς τρόπους για τείχος προστασίας ή εντολές χρήσης.
  2. Μια βοήθεια αν μπορείτε! Η γραμμή /var/log/openvpn.log 600 30 * @T00 ZC έχει πολλά κενά που χάνονται όταν γίνεται η δημοσίευση. Πως μπορώ να το κάνω να παραμείνει όπως το δίνω;
  3. OK.Έγινε! Ευχαριστώ για τη βοήθεια
  4. Maria Afentouli Παιδί για τις δουλειές του Forum

    Τη βάζω και εδώ την απάντηση ώστε να είναι πλήρες το ποστ, σε περίπτωση που και κάποιος άλλος έχει την ίδια απορία:

    Βάζεις την γραμμή που θέλεις να παραμείνει ως έχει
    - με μορφοποίηση code («Κώδικας»), ξέρεις το προτελευταίο κουμπάκι στην 2η σειρά εργαλείων του έντιτορ (αριστερά και πριν από το «Παράθεση» / «Quote».
    πχ: Η πρόταση ήταν αυτή που (άμα τη δημοσιεύσει της) η μορφοποίηση «Παράθεση» / «Quote» σου έτρωγε τα κενά και φαινόταν έτσι:
    Ας το δοκιμάσουμε μαζί (θα βάλω κι εγώ τυχαία κενά, για να δούμε αν θα παραμείνουν τα κενά που υπήρχαν ενδιάμεσα και που χάθηκαν με την δημοσίευση).
    Με μορφοποίηση «Κώδικας»: (βάζω τυχαία κενά ανάμεσα (εγώ βάζω 2 φορές -πολλά μαζεμένα- κενά, η 1η είναι μετά το «log», και η 2η μετά το «T00») - οπότε μετά εσύ το διορθώνεις, με τα σωστά κενά, στο post σου):

    Κώδικας:
    /var/log/openvpn.log        600 30 * @T00      ZC)
    Και τα κενά διατηρούνται.
    Αρέσει σε Pragma_linux