Εμφάνιση 1-6 από 6
  1. #1
    Εγγραφή
    04-04-2012
    Μηνύματα
    1.511
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    24576/1024
    ISP
    ΟΤΕ Conn-x
    Router
    Fritz 7270, Mikrotik x86
    καλημέρα. έχω ένα 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. Τι χρειάζεται ν' αλλάξω.
    Οποιαδήποτε άλλος κανόνας που θα φανεί χρήσιμος, είναι ευπρόσδεκτος.
    Κώδικας:
     
    #!/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
    προς το παρόν βρίσκω τα failed attempts από το
    Κώδικας:
    /var/log/auth.log
    και τις κάνω export σε ένα αρχείο πχ /root/blocked.txt Aπό εκεί παίρνω τις IPs και τις περνάω χεράτα στο script στο σημείο που είναι οι blacklisted IPs. Υπάρχει τρόπος να το περάσω στο script αυτόματα?
    Τελευταία επεξεργασία από το μέλος atux_null : 14-02-18 στις 11:10.

  2. #2
    Εγγραφή
    04-04-2012
    Μηνύματα
    1.511
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    24576/1024
    ISP
    ΟΤΕ Conn-x
    Router
    Fritz 7270, Mikrotik x86
    κανείς?

  3. #3
    Εγγραφή
    13-12-2005
    Περιοχή
    X-Labs
    Ηλικία
    41
    Μηνύματα
    1.790
    Downloads
    179
    Uploads
    1
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΜΑΡΟΥΣΙ
    Ίσως μία αυτοματοποιημένη λύση με 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?

  4. #4
    Εγγραφή
    20-12-2005
    Μηνύματα
    3.220
    Downloads
    4
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    49997/4997
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΞΑΝΘΗ
    Router
    Speedport W 724V
    SNR / Attn
    24,4(dB) / (dB)
    Με μια σύντομη ματιά που του έριξα έχω μόνο άσχετες παρατηρήσεις. Δεν έχω κάποια σοβαρή συμβουλή για το πρόβλημά σου.

    Παράθεση Αρχικό μήνυμα από atux_null Εμφάνιση μηνυμάτων
    Κώδικας:
     
    iptables --flush
    iptables --delete-chain
    
    # Flushing all rules
    iptables -F
    iptables -X
    Αυτά τα δύο δεν είναι ακριβώς τα ίδια ? Γιατί τα έβαλες δύο φορές ?


    Παράθεση Αρχικό μήνυμα από atux_null Εμφάνιση μηνυμάτων
    Κώδικας:
    ### interface section use public Internet (venet0:0) ###
    iptables -A INPUT -i venet0:0 -j DROP
    Αυτό είναι το εξωτερικό σου interface ? Μάλλον δεν κατάλαβα κάτι καλά αλλά γιατί κόβεις όλη την εισερχόμενη κίνηση σαν πρώτο κανόνα ?

    Παράθεση Αρχικό μήνυμα από atux_null Εμφάνιση μηνυμάτων
    Κώδικας:
     
    iptables -P OUTPUT ACCEPT
    #################################################
    # allow loopback
    #################################################
    iptables -A OUTPUT -o lo -j ACCEPT
    Αν θα κρατήσεις το ACCEPT σαν policy για την εξερχόμενη κίνηση, τότε δεν χρειάζεσαι να επιτρέψεις το loopback ούτε και κανένα άλλο κανόνα για την αλυσίδα OUTPUT μια και το επιτρέπεις με την policy.

    Παράθεση Αρχικό μήνυμα από atux_null Εμφάνιση μηνυμάτων
    Κώδικας:
     
    iptables -A INPUT -p icmp --icmp-type any -j DROP
    iptables -A OUTPUT -p icmp -j DROP
    Αυτό είναι debatable βέβαια και οι απόψεις διίστανται αλλά προσωπικά πιστεύω πως είναι κακή ιδέα να κόβεις το icmp γιατί δεν έχεις εποπτεία όταν δημιουργείται ένα πρόβλημα.

    Παράθεση Αρχικό μήνυμα από atux_null Εμφάνιση μηνυμάτων
    Κώδικας:
     
    #################################################
    # 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
    
    #################################################
    # allow established connections
    #################################################
    
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    Εδώ δεν παίρνεις κάποιο μήνυμα από τον πυρήνα ότι η state είναι deprecated ή κάτι τέτοιο ? Εδώ και πολύ καιρό, η state έχει αντικατασταθεί από την πιο δυνατή υποδομή conntrack. Εσύ σαν admin δεν κάνεις κάτι διαφορετικό απλά αλλάζει το όνομα του κανόνα. Το "-m state" γίνεται "-m conntrack" και το "--state" γίνεται "--ctstate". Δηλαδή για παράδειγμα "iptables -A INPUT -m conntrack --ctstate INVALID -j DROP".


    Παράθεση Αρχικό μήνυμα από atux_null Εμφάνιση μηνυμάτων
    Κώδικας:
     
    #################################################
    # 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
    Ο κανόνας για το 2ο masquerade δεν αποτυγχάνει επειδή δεν έχει "-t nat" ? Επίσης το echo στο ip_forward και το sysctl δεν κάνουν ακριβώς την ίδια δουλειά ?


    Παράθεση Αρχικό μήνυμα από atux_null Εμφάνιση μηνυμάτων
    Κώδικας:
     
    #################################################
    # default policies
    #################################################
    
    iptables -P INPUT DROP
    Αυτό δεν υπάρχει και στην αρχή με τις άλλες policies ?
    "I like offending people, because I think people who get offended should be offended" - Linus Torvalds

    "Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
    κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
    Γα.... την πολιτική ορθότητα.

  5. #5
    Εγγραφή
    07-08-2013
    Περιοχή
    outer space
    Ηλικία
    50
    Μηνύματα
    2.090
    Downloads
    0
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    20480/1024
    ISP
    ΟΤΕ Conn-x
    Router
    draytek
    μια άλλη λύση για το ssh είναι να κόψεις την πρόσβαση με password και να την έχεις αποκλειστικά με keys
    To blog της Ελληνικής κοινότητας του bitcoin
    1HeyFM6xMpq8s7BahqEuNPcTedDjhNUsoc
    4411 804B 0181 F444 ADBD 01D4 0664 00E4 37E7 228E

  6. #6
    Εγγραφή
    04-04-2012
    Μηνύματα
    1.511
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    24576/1024
    ISP
    ΟΤΕ Conn-x
    Router
    Fritz 7270, Mikrotik x86
    Καλημέρα. Το SSH το έχω με κλειδί, εννοείται, απλά έχει και passwd.

Παρόμοια Θέματα

  1. Βοήθεια με PoE
    Από isurfer στο φόρουμ Networking
    Μηνύματα: 23
    Τελευταίο Μήνυμα: 25-01-18, 16:37
  2. Χρειάζομαι βοήθεια με εξωτερικό δίσκο
    Από stelios35 στο φόρουμ Σκληροί δίσκοι, αποθηκευτικά μέσα και λοιπά περιφερειακά
    Μηνύματα: 14
    Τελευταίο Μήνυμα: 14-10-17, 13:22
  3. Βοήθεια με επιλογή νέου τροφοδοτικού
    Από wjun στο φόρουμ Κουτιά, τροφοδοτικά και ψύξη
    Μηνύματα: 3
    Τελευταίο Μήνυμα: 14-04-17, 13:19
  4. [Netgear] μια βοηθεια με μοντεμ ρουτερ
    Από GEOREN στο φόρουμ ADSL & Broadband Hardware, routers και modems...
    Μηνύματα: 23
    Τελευταίο Μήνυμα: 15-03-17, 14:11
  5. Βοηθεια με Geetek HomeStart Wireless router
    Από dennmell στο φόρουμ Wireless Networking
    Μηνύματα: 1
    Τελευταίο Μήνυμα: 15-03-17, 11:48

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας