Γεια σε όλους,
Μετά από πολύ καιρό με elastix 2.6 είπα να αναβαθμιστώ σε FreePBX 14.
Διαβάζω για το firewall λοιπόν, όλα αυτόματα, responsive firewall, για να δουλέψει λένε βάλτε το μηχάνημα στο DMZ του ρούτερ, τέλεια λέω, δε χρειάζεται να πιάνομαι με iptables κτλ.
Το στήνω, δοκιμάζω να μπώ με ssh και λάθος password να δοκιμάσω, και δε γίνεται τίποτα, μ 'αφήνει και δοκιμάζω όσες φορές θέλω.
Χμμμμμμμμ.......
Δοκιμάζω να κάνω register remote extension απο το κινητό με zoiper με επίτηδες λάθος password, τα ίδια.
Χμμμμμμμμμμμμμ........
Μετά απο αρκετό ψάξιμο, βρήκα τα εξής:
1. Το fail2ban ενώ ξεκινάει δε δουλεύει και θέλει reload για να πάρει μπρος.
Για να τσεκάρετε, δώστε απο terminal fail2ban-client status
Αν λέει number of jail : 0 , δε κάνει και πολλά
Φτιάχνει με fail2ban-client reload (τσεκάρετε ξανά με fail2ban-client status, πρέπει να λέει κάτι άλλο απο 0)
Μόνιμη λύση:
Ανοίγουμε το αρχείο /usr/lib/systemd/system/fail2ban.service
Προσθέτουμε τη γραμμή με bold και σώζουμε:
2. SSH login attemptsΚώδικας:[Unit] Description=Fail2Ban Service After=httpd.service [Service] Restart=always ExecStartPre=-/usr/bin/fail2ban-check ExecStart=/usr/bin/fail2ban-server -f -s /var/run/fail2ban/fail2ban.sock -p /var/run/fail2ban/fail2ban.pid -x ExecStartPost=/usr/bin/fail2ban-client reload ExecStop=/usr/bin/fail2ban-client stop
Αρχικά να πώ ότι μπορείτε να περιορίσετε το SSH login από το firewall ώστε να επιτρέπει μόνο τις trusted ip και να τελείωσει εκεί.
Επειδή όμως γουστάρουμε να μπαίνουμε terminal απ όπου θέλουμε με το κινητό μας και να νιώθουμε hacker , το πρόβλημα είναι το εξής:
To fail2ban τσεκάρει το αρχείο var/log/secure για γραμμές σαν την παρακάτω:
Το φίλτρο για την αναζήτηση είναι στο αρχείο etc/fail2ban/filter.d/sshd.conf , και συγκεκριμένα η γραμμή με bold :Κώδικας:Oct 22 08:52:56 freepbx sshd[8527]: Failed password for invalid user admin from 217.182.63.15 port 56046 ssh2
Αν δε καταλάβατε ήδη ποιο είναι το πρόβλημα, το log γραφει ssh2 και το φίλτρο ψάχνει για ssh.Κώδικας:# Fail2Ban filter for openssh # [INCLUDES] # Read common prefixes. If any customizations available -- read them from # common.local before = common.conf [Definition] _daemon = sshd failregex = ^%(__prefix_line)s(?:error: PAM: )?[aA]uthentication (?:failure|error) for .* from <HOST>( via \S+)?\s*$ ^%(__prefix_line)s(?:error: PAM: )?User not known to the underlying authentication module for .* from <HOST>\s*$ ^%(__prefix_line)sFailed \S+ for .*? from <HOST>(?: port \d*)?(?: ssh\d*)?(: (ruser .*|(\S+ ID \S+ \(serial \d+\) CA )?\S+ %(__md5hex)s(, client user ".*", client host ".*")?))?\s*$ ^%(__prefix_line)sROOT LOGIN REFUSED.* FROM <HOST>\s*$ ^%(__prefix_line)s[iI](?:llegal|nvalid) user .* from <HOST>\s*$ ^%(__prefix_line)sUser .+ from <HOST> not allowed because not listed in AllowUsers\s*$ ^%(__prefix_line)sUser .+ from <HOST> not allowed because listed in DenyUsers\s*$ ^%(__prefix_line)sUser .+ from <HOST> not allowed because not in any group\s*$ ^%(__prefix_line)srefused connect from \S+ \(<HOST>\)\s*$ ^%(__prefix_line)sReceived disconnect from <HOST>: 3: \S+: Auth fail$ ^%(__prefix_line)sUser .+ from <HOST> not allowed because a group is listed in DenyGroups\s*$ ^%(__prefix_line)sUser .+ from <HOST> not allowed because none of user's groups are listed in AllowGroups\s*$ ignoreregex = # DEV Notes: # # "Failed \S+ for .*? from <HOST>..." failregex uses non-greedy catch-all because # it is coming before use of <HOST> which is not hard-anchored at the end as well, # and later catch-all's could contain user-provided input, which need to be greedily # matched away first. # # Author: Cyril Jaquier, Yaroslav Halchenko, Petr Voralek, Daniel Black
Οπότε αλλάζουμε την παραπάνω γραμμή και σώζουμε:
Μετά από αυτά, όλα δουλεύουν άψογα.Κώδικας:^%(__prefix_line)sFailed \S+ for .*? from <HOST>(?: port \d*)?(?: ssh2\d*)?(: (ruser .*|(\S+ ID \S+ \(serial \d+\) CA )?\S+ %(__md5hex)s(, client user ".*", client host ".*")?))?\s*$
Μη βάλετε το μηχάνημα πίσω απο firewall, χάνετε όλα τα καλούδια για remote extensions, αν είστε πίσω από router βάλτε το κέντρο στο DMZ.
Happy calling!
Εμφάνιση 1-15 από 20
Θέμα: FreePBX14 security
-
24-10-17, 12:01 FreePBX14 security #1
-
24-10-17, 12:11 Απάντηση: FreePBX14 security #2
Αν το βάλεις πίσω απο DMZ, ελπίζω να έχεις και λεφτά για να πληρώσεις τον λογαριασμό των κλήσεων μετά
-
24-10-17, 12:15 Απάντηση: FreePBX14 security #3
Τεκμηριωμένη η άποψη σου
Και πως ακριβώς θα μαντέψει ο άλλος το extension ΚΑΙ το secret με 5 προσπάθειες πριν γίνει ban?
-
24-10-17, 12:23 Απάντηση: FreePBX14 security #4The 3 most dangerous things in the world are a computer technician with a software patch, a programmer with a screwdriver and a customer with an idea....
Εγκατάσταση Ubuntu και Joomla
-
24-10-17, 12:23 Απάντηση: FreePBX14 security #5
Αυτό είναι κάτι που είχανε πει και αυτοί που την πατήσανε πριν την πατήσουν
Πέρα απο το ότι δεν έχεις να κάνεις με 5 προσπάθειες αλλά 5 προσπάθειες απο μια ip, δεν έχεις μόνο τα bruteforce στο sip, αλλά και τα διάφορα vulnerabilities που μπορεί να έχει κάποιο άλλο service που έχεις βγάλει στο internet μέσω dmz
Υποθέτω έχεις τσεκάρει οτι οι κωδικοί στο manager δεν είναι οι default και ότι έχεις βάλει τα ανάλογα στο fail2ban ώστε να τους μπλοκάρει στις 5 προσπάθειες (απο μια ip το ξαναλέω)
-
24-10-17, 12:33 Απάντηση: FreePBX14 security #6
Επειδή το χεις στο DMZ δε σημαίνει ότι τα χεις όλα ανοιχτα, ρυθμίζονται οι ζώνες που έχουν πρόσβαση σε services απο το firewall.
Γιατί να ανοιξεις το port του manager σε internet traffic?
-
24-10-17, 12:43 Απάντηση: FreePBX14 security #7
Το dmz αυτό σημαίνει, ότι έχεις τα πάντα ανοιχτά
-
24-10-17, 12:46 Απάντηση: FreePBX14 security #8
Και το software firewall?
-
24-10-17, 12:49 Απάντηση: FreePBX14 security #9The 3 most dangerous things in the world are a computer technician with a software patch, a programmer with a screwdriver and a customer with an idea....
Εγκατάσταση Ubuntu και Joomla
-
24-10-17, 13:06 Απάντηση: FreePBX14 security #10
Πότε ενημερώθηκε τελευταία φορά το firewall του router σας?
Λοιπόν εντάξει, επειδή το κουράσαμε, δεν είναι υποχρεωτικό, να βοηθήσω πήγα, στο κάτω κάτω έτσι λέει και το documentation να το στήσεις.
Προσωπικά δεν νομίζω να υπάρχει διαφορά απ' το να ανοίξεις τα sip και ssh(αν το χρειαζεσαι) ports στο router. Αν έχεις remote extensions π.χ. με μη σταθερή ip (π.χ. κινητό) κάτι πρέπει ν ανοίξεις στο internet. Επίσης, επειδή το 'χω στήσει hosted, έχει public ip όπως και να 'χει.
Σύμφωνοι, το VPN είναι ασφαλέστερο για remote extensions. Εντάξει τώρα?
Προσωπικά, και μόνο, έχω 10 remote extensions εδώ και καιρό και δεν έχω θέμα.
Ασκηση για το σπίτι: Επιτρέψτε remote extensions να συνδέονται μόνο με το DDNS και όχι καρφωτη IP.
-
24-10-17, 13:09 Απάντηση: FreePBX14 security #11
Ενα απλό search και έχεις αναφορές για την έκδοση 13 απο το 2016 για remote code execution.
Υπηρεσία που είναι ανοιχτή απο το firewall της διανομής.
Θέλεις να το έχεις σε DMZ, δικαίωμα σου, μην το προτείνεις όμως στους άλλους
Sip δεν θα άνοιγα στο internet, μόνο IAX σε διαφορετική πόρτα με δυνατό κωδικό, ssh πάλι σε διαφορετική πόρτα με fail2ban και πρόσβαση μόνο μέσω private key
-
24-10-17, 13:12 Απάντηση: FreePBX14 security #12
Το firmware του router ενημερώθηκε 12/10/2017 , αλλά και πάλι μόνο με VPN συνδέομαι (DMZ ούτε για αστείο ), δεν έχω τα resources για να έχω την απαιτούμενη ασφάλεια .
Εμείς απλώς σου λέμε ποιες είναι οι καλύτερες τακτικές για να μην βρεθείς με φουσκωμένους λογαριασμούς . Αν δεν θες να τις ακούσεις οκ , αλλά μην το προτείνεις και σε άλλους .The 3 most dangerous things in the world are a computer technician with a software patch, a programmer with a screwdriver and a customer with an idea....
Εγκατάσταση Ubuntu και Joomla
-
24-10-17, 13:41 Απάντηση: FreePBX14 security #13
Απλά να αναφέρω το παρακάτω χαρακτηριστικό παράδειγμα
https://community.freepbx.org/t/crit...014-7235/24536
bug που επηρέαζε όλες τις versions του freepbx και δεν νομίζω ότι το κάλυπτε το fail2ban. Αν εκτελούσε κάποιος το αντίστοιχο exploit απλά χρειαζόταν μια ευκαιρία.
Επίσης μερικά cases ανοιχτά στο packetstorm για το freepbx 13
https://packetstormsecurity.com/file...Execution.html
https://packetstormsecurity.com/file...Execution.html
https://packetstormsecurity.com/file...Injection.html
https://packetstormsecurity.com/file...Execution.html
https://packetstormsecurity.com/file...Execution.html
Τέλος νέα έκδοση σημαίνει και νέα bugs. Οπότε είναι μέχρι να βρεθούν. You daring rascal!
-
24-10-17, 13:50 Απάντηση: FreePBX14 security #14
Το κέντρο σε dmz = BIG NO NO!!! Ούτε για αστείο αυτό. Πίσω από hardware firewall με fail2ban (με 1 προσπάθεια και ban time 25 χρόνια) και κωδικούς που να γεμίζουν Α4 σε 16pt γραμματοσειρά. Remote extensions / access μέσου openvpn που να τρέχει σε άλλο μηχάνημα με 2048 bit keys (αργότερα 4096).
Μια φορά την πατάς αλλά θα είναι και τσουχτερή…
-
25-10-17, 01:07 Απάντηση: FreePBX14 security #15
Δεν πρότεινα τίποτα σε κανένα, την εμπειρία μου έγραψα. Εσείς γιατί μου λέτε τι να κάνω και τι όχι? Παραβίασα κάποιον κανόνα του forum?
Σέβομαι τις γνώμες όλων, και ιδιαίτερα του kronos, που από τα post του έχω καταλάβει πως έχει ξεχάσει περισσότερα περί VOIP απ' αυτά που εγώ ξέρω.
Όπως έγραψα και παραπάνω, αυτό είναι το προτεινόμενο setup απο το freepbx:
https://wiki.freepbx.org/display/FPG/Firewall
Its aim is to provide a simple way to secure the 'average' VoIP server installation, the 95%. In more complex setups, it is always wise to discuss your security requirements with someone with experience in this arena.
Σωστά όλα αυτά που λέτε, αλλά είστε στο 5%.
Διαβάστε και τι λέει αυτός που το φτιαξε:
https://www.freepbx.org/robs-twist-o...rewall-really/
Και στη τελική, για μένα και τους περισσότερους, το 95% εiναι good enough. Απ το να κάθομαι να περνάω σε 10 κινητά VPN client και να εκπαιδεύω 10 άσχετους να το δουλεύουν, προτιμώ να ρισκάρω τα 7,5€ credit που έχω στη modulus. O δε server στήνεται ξανά απο snapshot με 2 κλικ σε 5 λεπτά. Το ζητούμενο είναι να σταματάς τα script kiddies, και νομίζω ότι αυτό το setup το κάνει με το παραπάνω. Αν θέλει κάποιος να χαραμίσει το 0 day που βρήκε στο server μου, χαλάλι του!
Δεν είναι οι περιστάσεις όλων ίδιες, μην είστε απόλυτοι. Είναι βήμα προς τα μπρος να στήνει o καθένας good enough firewall με λίγα κλικ.
Αν βέβαια το κάνεις για κάποιο άλλο επι πληρωμή, εκεί αλλάζει.
Φιλικά πάντα.
Bookmarks