Μετάβαση στο περιεχόμενο
Secret Knock

Απόκρυψη του SSH πίσω από χτύπημα θυρών

Μια ανοιχτή θύρα SSH συγκεντρώνει προσπάθειες σύνδεσης από όλο το διαδίκτυο. Το χτύπημα θυρών διατηρεί τη θύρα κλειστή έως ότου αποδείξετε ότι γνωρίζετε ένα μυστικό — έπειτα την ανοίγει μόνο για τη διεύθυνσή σας, για λίγα δευτερόλεπτα.

Με knockd και nftables

Απορρίψτε το SSH από προεπιλογή και επιτρέψτε το μόνο από διευθύνσεις σε ένα σύνολο με χρονικό όριο. Το knockd προσθέτει τη διεύθυνση που χτυπά σε αυτό το σύνολο· το nftables την αφαιρεί όταν λήξει το χρονικό όριο και η υφιστάμενη συνεδρία SSH συνεχίζει να λειτουργεί.

table inet filter {
    set knocked4 {
        type ipv4_addr
        flags timeout
    }
    chain input {
        type filter hook input priority 0; policy drop;
        ct state established,related accept
        iif "lo" accept
        tcp dport 22 ip saddr @knocked4 accept
    }
}
/etc/nftables.conf (απόσπασμα)

Η ενότητα του knockd που συμπληρώνει το σύνολο:

[openSSH]
    sequence      = 7311:tcp,8822:tcp,9133:udp
    seq_timeout   = 10
    tcpflags      = syn
    start_command = /usr/sbin/nft add element inet filter knocked4 { %IP% timeout 30s }
/etc/knockd.conf

Διατηρήστε χωριστή τη μόνιμη πρόσβαση

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

Ή χρησιμοποιήστε fwknop

Το fwknop SPA είναι ισχυρότερο από μια ακολουθία: ένα κρυπτογραφημένο, επαληθευμένο πακέτο που δεν μπορεί να χρησιμοποιηθεί ξανά. Δείτε τον οδηγό για το fwknop.

Από το iPhone σας στο SSH

  1. 1Κρατήστε πατημένο το ορειχάλκινο ρόπτρο. Το Secret Knock ελέγχει ότι η θύρα 22 απαντά και δείχνει για πόση ώρα παραμένει ανοιχτή.
  2. 2Το Άνοιγμα SSH ανοίγει την εφαρμογή SSH με έναν σύνδεσμο ssh:// για τον διακομιστή.
  3. 3Η ρύθμιση «Διατήρηση της πόρτας μισάνοιχτης όσο εμφανίζεται η οθόνη της» στέλνει ξανά χτύπημα λίγο πριν λήξει το χρονικό παράθυρο, όσο η πόρτα εμφανίζεται στην οθόνη.

Όλα τα παραδείγματα στο GitHub → Κάθε διαμόρφωση αυτής της σελίδας, έτοιμη για αντιγραφή: github.com/mobilcomm/secretknock-examples (κοινό κτήμα).

Ερωτήσεις

Αντικαθιστά αυτό τα κλειδιά SSH;

Όχι. Το χτύπημα θυρών αποκρύπτει την υπηρεσία· διατηρήστε επίσης ισχυρά κλειδιά SSH και απενεργοποιήστε τις συνδέσεις με κωδικό.

Οδηγοί για τη διαμόρφωσή σας