καλημέρα. έχω ένα VPS με public ΙΡ και θέλω να τρέξω κάποιες υπηρεσίες πάνω του. έχω φτιάξει ένα basic script για να φορτώνω τα rules στο iptables, απλά χρειάζιμαι βοήθεια για να το συμμαζέψω. Το μηχάνημα θα πρέπει να κόβει οποιαδήποτε πρόσβαση από public IP εκτός από πόρτα 22 (ssh) & 1194 (openvpn). Όλοι θα συνδέονται μόνο μεσω openvpn και κατόπιν θα παίρνουν πρόσβαση στις υπηρεσίες. Παρακάτω είναι το script, αλλά έχω κάποια θέματα που θέλουν συμμάζεμα. τρέχω asterisk και βλέπω στο /var/log/asterisk/security πολλές προσπάθειες από κάποιες IPs να προσπαθούν να πάρουν πρόσβαση στον asterisk, αλλά επίσης βλέπω στα logs του συστήματος να προσπαθούν στην SSH. Θέλω αυτά τα brute force να το κόψω και έτσι έβαλα το rule που λέω blacklist. εκεί κόβω ranges ολόκληρα. Θα ήθελα όποιος κάνει πάνω από 3 αποτυχημένες προσπάθειες στο 5λεπτο να τον κάνω blacklist.
Στο openvpn που τρέχει, δίνει IPs 172.16.1.0/24. Με τους υπάρχοντες κανόνες κάνω connect κανονικά και βλέπω τα πάντα στο VPS, αλλά δεν μπορώ να δω Internet μέσω του VPS. Τι χρειάζεται ν' αλλάξω.
Οποιαδήποτε άλλος κανόνας που θα φανεί χρήσιμος, είναι ευπρόσδεκτος.
προς το παρόν βρίσκω τα failed attempts από τοΚώδικας:#!/bin/bash #echo service iptables stop | at now + 3 min ################################################# # clear existing chains ################################################# /etc/init.d/iptables-persistent stop iptables --flush iptables --delete-chain # Flushing all rules iptables -F iptables -X ### interface section use public Internet (venet0:0) ### iptables -A INPUT -i venet0:0 -j DROP # Setting default filter policy iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP ################################################# # allow loopback ################################################# iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT ################################################# # drop all ICMP ################################################# iptables -A INPUT -p icmp --icmp-type any -j DROP iptables -A OUTPUT -p icmp -j DROP ################################################# # Blacklist ################################################# iptables -A INPUT -s 224.0.0.0/4 -j DROP iptables -A INPUT -d 224.0.0.0/4 -j DROP iptables -A INPUT -s 240.0.0.0/5 -j DROP iptables -A INPUT -d 240.0.0.0/5 -j DROP iptables -A INPUT -s 0.0.0.0/8 -j DROP iptables -A INPUT -d 0.0.0.0/8 -j DROP iptables -A INPUT -d 239.255.255.0/24 -j DROP iptables -A INPUT -d 255.255.255.255 -j DROP iptables -A INPUT -s 148.0.0.0/8 -j DROP iptables -A INPUT -s 46.0.0.0.0/8 -j DROP iptables -A INPUT -s 37.0.0.0/8 -j DROP ################################################# #for SMURF attack protection ################################################# iptables -A INPUT -p icmp -m icmp --icmp-type address-mask-request -j DROP iptables -A INPUT -p icmp -m icmp --icmp-type timestamp-request -j DROP iptables -A INPUT -p icmp -m icmp -m limit --limit 1/second -j ACCEPT ################################################# # Droping all invalid packets ################################################# iptables -A INPUT -m state --state INVALID -j DROP iptables -A FORWARD -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state INVALID -j DROP # flooding of RST packets, smurf attack Rejection iptables -A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/second --limit-burst 2 -j ACCEPT # Protecting portscans # Attacking IP will be locked for 24 hours (3600 x 24 = 86400 Seconds) iptables -A INPUT -m recent --name portscan --rcheck --seconds 86400 -j DROP iptables -A FORWARD -m recent --name portscan --rcheck --seconds 86400 -j DROP # Remove attacking IP after 24 hours iptables -A INPUT -m recent --name portscan --remove iptables -A FORWARD -m recent --name portscan --remove ################################################# # allow established connections ################################################# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ################################################# # allow public ################################################# # allow ssh on 22 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT # 1194 OpenVPN iptables -A INPUT -m state --state NEW -m udp -p udp --dport 1194 -j ACCEPT ################################################# # enable NAT ################################################# sysctl -w net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -o venet0:0 -j MASQUERADE ################################################# #OpenVpn_NAT. Allows connected devices to access Internet #showing the VPSs IP ################################################# iptables -A POSTROUTING -s 172.16.1.0/24 -j tun0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward #iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT iptables -I INPUT -i tun0 -j ACCEPT iptables -I FORWARD -i tun0 -j ACCEPT iptables -I FORWARD -o tun0 -j ACCEPT iptables -I OUTPUT -o tun0 -j ACCEPT iptables -I INPUT -t filter -p udp --dport 1723 -j ACCEPT iptables -A POSTROUTING -t nat -s 172.16.1.0/24 -j SNAT --to venet0:0 echo -e "allow openvpn connections\n ################################################# # ssh ################################################# iptables -N ATTACKED iptables -N ATTK_CHECK iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --seconds 86400 --name BANNED --rsource -j DROP iptables -A ATTACKED -m recent --update --seconds 600 --hitcount 3 -j LOG --log-prefix "IPTABLES (Rule ATTACKED): " --log-level 7 iptables -A ATTACKED -m recent --set --name BANNED --rsource -j DROP iptables -A ATTK_CHECK -m recent --set --name ATTK --rsource iptables -A ATTK_CHECK -m recent --update --seconds 600 --hitcount 3 --name ATTK --rsource -j ATTACKED iptables -A ATTK_CHECK -j ACCEPT ################################################# # default policies ################################################# iptables -P INPUT DROPκαι τις κάνω export σε ένα αρχείο πχ /root/blocked.txt Aπό εκεί παίρνω τις IPs και τις περνάω χεράτα στο script στο σημείο που είναι οι blacklisted IPs. Υπάρχει τρόπος να το περάσω στο script αυτόματα?Κώδικας:/var/log/auth.log
Εμφάνιση 1-6 από 6
Θέμα: βοήθεια με iptables
-
14-02-18, 10:23 βοήθεια με iptables #1
Τελευταία επεξεργασία από το μέλος atux_null : 14-02-18 στις 11:10.
-
17-02-18, 20:13 Απάντηση: βοήθεια με iptables #2
κανείς?
-
17-02-18, 20:31 Απάντηση: βοήθεια με iptables #3
Ίσως μία αυτοματοποιημένη λύση με fail2ban θα σας εξυπηρετούσε στο θέμα αυτό.
https://www.fail2ban.org/wiki/index.php/Main_Page
πχ.
https://www.digitalocean.com/communi...n-ubuntu-14-04
Εάν το VPS σου έχει εγκαταστημένο κάποιο panel όπως πχ. Plesk, Cpanel,...κοκ,
τότε θα μπορέσεις να εγκαταστήσεις και να ρυθμίσεις το fail2ban πολύ πιο εύκολα.
πχ.
https://docs.plesk.com/en-US/12.5/ad...ail2ban.73381/
Ελπίζω να σε βοηθήσουν τα παραπάνω.Τελευταία επεξεργασία από το μέλος logan11 : 17-02-18 στις 20:33. Αιτία: typo
Is God willing to stop evil, but not able?
- Then he is not almighty.
Is he able, but not willing?
- Then he is evil.
Is he able and willing?
- Then where does evil come from?
Is he not able nor willing?
- Then why call him God?
-
17-02-18, 20:42 Απάντηση: βοήθεια με iptables #4
Με μια σύντομη ματιά που του έριξα έχω μόνο άσχετες παρατηρήσεις. Δεν έχω κάποια σοβαρή συμβουλή για το πρόβλημά σου.
Αυτά τα δύο δεν είναι ακριβώς τα ίδια ? Γιατί τα έβαλες δύο φορές ?
Αυτό είναι το εξωτερικό σου interface ? Μάλλον δεν κατάλαβα κάτι καλά αλλά γιατί κόβεις όλη την εισερχόμενη κίνηση σαν πρώτο κανόνα ?
Αν θα κρατήσεις το ACCEPT σαν policy για την εξερχόμενη κίνηση, τότε δεν χρειάζεσαι να επιτρέψεις το loopback ούτε και κανένα άλλο κανόνα για την αλυσίδα OUTPUT μια και το επιτρέπεις με την policy.
Αυτό είναι debatable βέβαια και οι απόψεις διίστανται αλλά προσωπικά πιστεύω πως είναι κακή ιδέα να κόβεις το icmp γιατί δεν έχεις εποπτεία όταν δημιουργείται ένα πρόβλημα.
Εδώ δεν παίρνεις κάποιο μήνυμα από τον πυρήνα ότι η state είναι deprecated ή κάτι τέτοιο ? Εδώ και πολύ καιρό, η state έχει αντικατασταθεί από την πιο δυνατή υποδομή conntrack. Εσύ σαν admin δεν κάνεις κάτι διαφορετικό απλά αλλάζει το όνομα του κανόνα. Το "-m state" γίνεται "-m conntrack" και το "--state" γίνεται "--ctstate". Δηλαδή για παράδειγμα "iptables -A INPUT -m conntrack --ctstate INVALID -j DROP".
Ο κανόνας για το 2ο masquerade δεν αποτυγχάνει επειδή δεν έχει "-t nat" ? Επίσης το echo στο ip_forward και το sysctl δεν κάνουν ακριβώς την ίδια δουλειά ?
Αυτό δεν υπάρχει και στην αρχή με τις άλλες policies ?"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
23-02-18, 04:01 Απάντηση: βοήθεια με iptables #5
μια άλλη λύση για το ssh είναι να κόψεις την πρόσβαση με password και να την έχεις αποκλειστικά με keys
To blog της Ελληνικής κοινότητας του bitcoin
1HeyFM6xMpq8s7BahqEuNPcTedDjhNUsoc
4411 804B 0181 F444 ADBD 01D4 0664 00E4 37E7 228E
-
23-02-18, 09:43 Απάντηση: βοήθεια με iptables #6
Καλημέρα. Το SSH το έχω με κλειδί, εννοείται, απλά έχει και passwd.
Παρόμοια Θέματα
-
Βοήθεια με PoE
Από isurfer στο φόρουμ NetworkingΜηνύματα: 23Τελευταίο Μήνυμα: 25-01-18, 16:37 -
Χρειάζομαι βοήθεια με εξωτερικό δίσκο
Από stelios35 στο φόρουμ Σκληροί δίσκοι, αποθηκευτικά μέσα και λοιπά περιφερειακάΜηνύματα: 14Τελευταίο Μήνυμα: 14-10-17, 13:22 -
Βοήθεια με επιλογή νέου τροφοδοτικού
Από wjun στο φόρουμ Κουτιά, τροφοδοτικά και ψύξηΜηνύματα: 3Τελευταίο Μήνυμα: 14-04-17, 13:19 -
[Netgear] μια βοηθεια με μοντεμ ρουτερ
Από GEOREN στο φόρουμ ADSL & Broadband Hardware, routers και modems...Μηνύματα: 23Τελευταίο Μήνυμα: 15-03-17, 14:11 -
Βοηθεια με Geetek HomeStart Wireless router
Από dennmell στο φόρουμ Wireless NetworkingΜηνύματα: 1Τελευταίο Μήνυμα: 15-03-17, 11:48
Bookmarks