May
10
2010
Knock Knock! Who’s there?

Είμαι από εκείνους τους τύπους που ΔΕΝ χρησιμοποιεί iptables, μάλιστα 9 στις 10 φορές το θεωρώ κι εντελώς άχρηστο σε ένα σύστημα. Παρόλα αυτά όμως, χρησιμοποιώ tcp wrappers & sshd σε μία high not-known port & ssh key authentication κ.λ.π.-κ.λ.π.

Το πρόβλημα με το tcp wrappers είναι ότι πρέπει να δηλώσεις τις στατικές IP’s που έχεις πράγμα το οποίο σε εμποδίζει να μπεις σε ένα σύστημα από μία άγνωστη τοποθεσία. Φυσικά εμποδίζει κι όλους τους “πονηρούς” τύπους, αλλά το πιο σημαντικό είναι ότι εμποδίζει κι εσένα όταν χρειαστεί να μπεις από κάπου “άγνωστα”.

Η λύση σε αυτό το γόρδιο δεσμό την προσφέρει το knock!
Λειτουργεί ως δαίμονας κι ακούει τα port knockings σε ένα σύστημα.
Έχει ένα εύκολο αρχείο ρυθμίσεων το οποίο μπορείς να τροποποιήσεις και σου δίνει την δυνατότητα να τρέχεις μια συγκεκριμένη εντολή (ή script ή whatever) όταν ενεργοποιηθεί ο “μυστικός” συνδυασμός χτυπημάτων.

Μιας κι όλα τα παραδείγματα είναι πάνω σε iptables, να προσφέρω με την σειρά μου ένα παράδειγμα βασισμένο σε tcp wrappers για το ssh:

[openSSH]
sequence = 7000,8000,9000
seq_timeout = 10
command = /bin/sed -i ’s/^(sshd.*)/1 %IP%/g’ /etc/hosts.allow
tcpflags = syn

Pretty Neat !