Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 12603|Απάντηση: 2

[Linux] Δείτε πώς το linux μου προστατεύει από επιθέσεις SYN

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 12/12/2015 12:04:58 π.μ. | | | |

Όταν έφτασα στην εταιρεία σήμερα το πρωί, ένιωσα αρκετά αργός όταν συνδέθηκα στον επίσημο ιστότοπο της εταιρείας, συνδέθηκα στον διακομιστή για να ελέγξω την κατάσταση πρόσβασης του επίσημου ιστότοπου:

[root@web ~]# netstat -anp |awk '{print $6}'|sort|uniq -c |sort -rn

     172 ΙΔΡΎΘΗΚΑΝ

     59 ΣΥΝΔΕΔΕΜΕΝΟ

    589 SYN_RECV

     15 ΡΕΥΜΑ

Το SYN είναι στην πραγματικότητα τόσο υψηλό, συνεχίστε να ανιχνεύετε το SYN που αποστέλλεται από αυτές τις IP:

[root@tweb ~]# netstat -an | grep ΣΥΝ | awk '{εκτύπωση $5}' | awk -F: '{εκτύπωση $1}' | ταξινόμηση | uniq -γ | ταξινόμηση -nr | περισσότερα

570 x.x.x.x   

(Η IP δεν είναι γραμμένη, είναι IP της Shandong Zaozhuang Unicom), αλλά αυτή η IP έχει στείλει τόσες πολλές συνδέσεις αιτημάτων SYN και ο συγχρονισμός του διακομιστή ιστού μας δεν είναι πολύ υψηλός, έτσι ώστε να μην μπορούν να αντιστοιχιστούν τα κανονικά αιτήματα των χρηστών και η σελίδα δεν μπορεί να ανοίξει. Επειδή το τείχος προστασίας υλικού διαχειρίζεται το τμήμα πληροφορικής της ομάδας, δεν έχω καμία εξουσία, επομένως μπορώ να λάβω μόνο ορισμένα μέτρα στον τοπικό διακομιστή για να μετριάσω εν μέρει την επίθεση SYN.

Πρώτα απ 'όλα, ας μιλήσουμε για την αρχή επίθεσης του SYN:

Στο πρωτόκολλο TCP/IP, το πρωτόκολλο TCP παρέχει αξιόπιστες υπηρεσίες σύνδεσης χρησιμοποιώντας μια χειραψία τριών κατευθύνσεων για τη δημιουργία μιας σύνδεσης.

Πρώτη χειραψία: Κατά τη δημιουργία μιας σύνδεσης, ο πελάτης στέλνει ένα πακέτο syn (syn=j) στον διακομιστή και εισέρχεται στην κατάσταση SYN_SEND, περιμένοντας να επιβεβαιώσει ο διακομιστής.

Η δεύτερη χειραψία: Όταν ο διακομιστής λάβει το πακέτο SYN, πρέπει να επιβεβαιώσει το SYN του πελάτη (ack=j+1) και επίσης να στείλει ένα πακέτο SYN (syn=k), δηλαδή πακέτο SYN+ACK, οπότε ο διακομιστής εισέρχεται στην κατάσταση SYN_RECV.

Τρίτη χειραψία: Ο πελάτης λαμβάνει το πακέτο SYN+ACK από τον διακομιστή και στέλνει το πακέτο επιβεβαίωσης ACK (ack=k+1) στον διακομιστή. Μετά από τρεις χειραψίες, ο πελάτης και ο διακομιστής αρχίζουν να μεταδίδουν δεδομένα.


Εάν ο χρήστης ξεκινήσει ένα αίτημα σύνδεσης με τον διακομιστή μόνο για να δώσει τα χέρια για δεύτερη φορά και δεν απαντήσει στον διακομιστή, ο διακομιστής θα συνεχίσει να περιμένει την επιβεβαίωση του χρήστη. Έτσι κάνουμε τις ακόλουθες αλλαγές απευθείας από τη σύνδεση SYN:

Ελέγξτε την προεπιλεγμένη διαμόρφωση SYN στο Linux:

[root@web ~]# sysctl -a | grep _syn

net.ipv4.tcp_max_syn_backlog = 1024

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_synack_retries = 5

net.ipv4.tcp_syn_retries = 5

tcp_max_syn_backlog είναι το μήκος της ουράς SYN και η αύξηση του μήκους της ουράς SYN μπορεί να φιλοξενήσει περισσότερες συνδέσεις δικτύου που περιμένουν να συνδεθούν. tcp_syncookies είναι ένας διακόπτης για την ενεργοποίηση της λειτουργίας cookie SYN, η οποία μπορεί να αποτρέψει μερικές επιθέσεις SYN. tcp_synack_retries και tcp_syn_retries ορίσετε τον αριθμό των συνδέσεων επανάληψης για το SYN και μειώστε τις προεπιλεγμένες παραμέτρους για να ελέγξετε τον αριθμό των συνδέσεων SYN όσο το δυνατόν περισσότερο.

Ακολουθούν οι παράμετροι που έχω τροποποιήσει, οι οποίες μπορούν να τροποποιηθούν ανάλογα με την πραγματική κατάσταση του διακομιστή μου:

[root@web ~]# περισσότερα /etc/rc.d/rc.local

#!/bin/sh

# Αυτό το scrip{filter}t θα εκτελεστεί *μετά* από όλα τα άλλα init scrip{filter}ts.

# Μπορείτε να βάλετε τα δικά σας πράγματα προετοιμασίας εδώ αν δεν το κάνετε

# Θέλετε να κάνετε το πλήρες init στυλ Sys V.

αγγίξτε /var/lock/subsys/local

ulimit -HSn 65535

/usr/local/apache2/bin/apachectl start

#####

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

sysctl -w net.ipv4.tcp_syncookies=1

sysctl -w net.ipv4.tcp_synack_retries=3

sysctl -w net.ipv4.tcp_syn_retries=3

Προκειμένου η διαμόρφωση να τεθεί σε ισχύ αμέσως χωρίς επανεκκίνηση του διακομιστή, μπορεί να εκτελεστεί

#sysctl -w net.ipv4.tcp_max_syn_backlog=2048

#sysctl -w net.ipv4.tcp_syncookies=1

#sysctl -w net.ipv4.tcp_synack_retries=3

#sysctl -w net.ipv4.tcp_syn_retries=3

Μερικοί άνθρωποι θέλουν να χρησιμοποιούν λίστες ελέγχου πρόσβασης για να αποτρέψουν επιθέσεις SYN, κάτι που επιβραδύνει τις επιθέσεις SYN σε κάποιο βαθμό:

Επίθεση πλημμύρας Syn

#iptables -A ΕΙΣΟΔΟΣ -p tcp --syn -m όριο --όριο 1/s -j ΑΠΟΔΟΧΗ

--Όριο 1/s Περιορίστε τον αριθμό των ταυτόχρονων συν σε 1 φορά ανά δευτερόλεπτο

Σάρωση κατά της θύρας

# iptables -A ΜΠΡΟΣΤΑ -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m όριο --όριο 1/s -j ΑΠΟΔΟΧΗ

Ping του θανάτου

# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#>iptables-αποθήκευση >/etc/sysconfig/iptables

Για προβολή, #iptables -L

ACCEPT tcp -- οπουδήποτε οπουδήποτε σημαίες tcp: FIN,SYN,RST,ACK/SYN όριο: μέσος όρος ριπής 1/δευτ. 5

ACCEPT tcp -- οπουδήποτε οπουδήποτε σημαίες tcp: FIN, SYN, RST, ACK/RST όριο: μέσος όρος ριπής 1/δευτ. 5

ACCEPT icmp -- οπουδήποτε οπουδήποτε Όριο αιτήματος ηχούς icmp: μέσος όρος ριπής 1/δευτ. 5

Ελέγξτε ξανά τη σύνδεση syn:

[root@web ~]# netstat -an | grep ΣΥΝ | awk '{εκτύπωση $5}' | awk -F: '{εκτύπωση $1}' | ταξινόμηση | uniq -γ | ταξινόμηση -nr | περισσότερα

     20 10.92.10.220

      1 125.43.36.199

Προφανώς ο αριθμός των συνδέσεων SYN έχει μειωθεί.






Προηγούμενος:Λύση "Λυπούμαστε, δεν εγκαθιστάτε μια γνήσια εφαρμογή, το πρόγραμμα εγκατάστασης δεν μπορεί να συνεχίσει να εκτελεί discuz"
Επόμενος:Το SC Create δημιουργεί μια υπηρεσία συστήματος των Windows
Δημοσιεύτηκε στις 13/12/2015 10:53:04 π.μ. |
Τι δυνατή εμφάνιση
Δημοσιεύτηκε στις 14/12/2015 3:55:43 μ.μ. |
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com