Lighttpd σε RaspberryPi με χρήση fail2ban

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Lighttpd σε RaspberryPi με χρήση fail2ban

Δημοσίευσηαπό xXx » 07 Μάιος 2019, 21:57

Lighttpd σε RaspberryPi με χρήση fail2ban:
Δεν γνωρίζω από πόσο παλιά δεν λειτουργεί η υπηρεσία fail2ban σε debian διανομές
με την χρήση lighttpd ως εξυπηρετητή, αλλά σίγουρα δεν λειτουργεί σε διανομές βασισμένες
σε debian stretch. Στην περίπτωση αυτού του οδηγού, μιλάμε για Raspbian stretch lite.
Το πρόβλημα:
Παρότι η προστασία ssh λειτουργεί χωρίς καμμία σχεδόν παρέμβαση στις ρυθμίσεις fail2ban,
αυτό δεν ισχύει για την περίπτωση lighttpd με προστατευόμενες σελίδες - διευθύνσεις.
Όσες δηλαδή αποτυχημένες προσπάθεις κι αν κάνει ένας επιτιθέμενος στις σελίδες μας,
δεν εντοπίζεται από την υπηρεσία fail2ban ώστε να του στερηθεί η πρόσβαση από το τείχος
προστασίας (iptables). Η υπηρεσία fail2ban φαίνεται να τρέχει, και να μας προστατεύει,
αναφέροντας πως δεν εντόπισε καμμία αποτυχημένη προσπάθεια εισόδου στις προστατευόμενες
με κωδικό σελίδες μας. Αυτό όμως δεν ισχύει καθόλου, και είναι τρομερά σοβαρό!
Αποτέλεσμα:
Ένας κακόβουλος χρήστης, μπορεί να κάνει άπειρες απόπειρες εισαγωγής, μέχρι που τελικά
να βρει τα ανόματα χρηστών - κωδικούς πρόσβασης που έχουμε ορίσει για τις σελίδες μας.
Γιατί συμβαίνει αυτό;
Γιατί τα πάντα είναι ρυθμισμένα λάθος, και οδηγούν σε λάθος σημεία. Πιθανότατα παλιότερα
να ίσχυαν οι τοποθεσίες που αναφέρονται, αλλά αυτό δεν ισχύει πλέον.
Η λύση:
Εγκαταστήστε τα απαραίτητα προγράμματα, αν δεν το έχετε κάνει ήδη:
Κώδικας: Επιλογή όλων
sudo apt-get install fail2ban php7.0-fpm lighttpd

Ρυθμίστε την php7.0-fpm τον lighttpd και τις προστατευόμενες σελίδες σας κατά βούλησιν.
Στο παράδειγμα που ακολουθεί, χρησιμοποιώ 2345 θύρα για την υπηρεσία ssh, και 6789 για
τον lighttpd. Οπότε, για να έχετε προστασία από επιθέσεις, ρυθμίστε τα παρακάτω ως εξής:
Κώδικας: Επιλογή όλων
sudo nano /etc/fail2ban/jail.local

Και προσθέστε τα παρακάτω περιεχόμενα:
[DEFAULT]
ignoreip = 127.0.0.1/8
bantime = 86400
findtime = 600
maxretry = 3
backend = auto

[sshd]
enabled = true
port = 2345
logpath = %(sshd_log)s
backend = %(sshd_backend)s


[lighttpd-auth]
enabled = true
port = 6789,https
logpath = %(lighttpd_error_log)s

Αμέσως μετά ρυθμίστε τις λανθασμένες οδηγίες στα αρχεία:
Κώδικας: Επιλογή όλων
sudo nano /etc/fail2ban/paths-common.conf

Αλλάξτε την γραμμή που αναφέρεται στον lighttpd ως εξής:
lighttpd_error_log = /var/log/lighttpd/access.log

Και ρυθμίστε και το παρακάτω αρχείο:
Κώδικας: Επιλογή όλων
sudo nano /etc/fail2ban/filter.d/lighttpd-auth.conf

Κάντε κόμεντ (#) την υπάρχουσα failregex γραμμή, και βάλτε από κάτω μία νέα, ως εξής:
failregex = ^<HOST> .* "(GET|POST|HEAD) [^"]+" 401

Κάντε ρηστάρτ lighttpd php και fail2ban:
Κώδικας: Επιλογή όλων
sudo systemctl restart lighttpd
sudo systemctl restart php7.0-fpm
sudo systemctl restart fail2ban

Κάντε 3 αποτυχημένες προσπάθειες (έχοντας κι άλλον τρόπο να εισέλθετε στο σύστημα)
με ssh και στις προστευόμενες σελίδες σας, για να σιγουρευτείτε πως όλα λειτούργησαν.
Πάντα ελέγχετε ότι όλα λειτουργούν, πριν αφεθείτε στις προεπιλεγμένες ρυθμίσεις/αναφορές.
Ελπίζω να φανεί χρήσιμος ο οδηγός σε κάποιους Έλληνες εκεί έξω.
Κυρίως Desktop: MoBo: GA-MA78GM-S2H | CPU: AMD Phenom(tm) II X4 920 2.80 GHz | VGA: NVIDIA Corporation GF119 [GeForce GT 610] | RAM: 3GB DDR2 800 | Audio: Realtek ALC889A (ATI SB) | Audio: NVIDIA Corporation GF119 HDMI | OS: Debian jessie 64bit
Άβαταρ μέλους
xXx
punkTUX
punkTUX
 
Δημοσιεύσεις: 208
Εγγραφή: 05 Μάιος 2010, 16:12
Τοποθεσία: Ελλάδα, Θεσσαλονίκη, Άνω Πόλη
Εκτύπωση

Re: Lighttpd σε RaspberryPi με χρήση fail2ban

Δημοσίευσηαπό Learner » 19 Μάιος 2019, 16:56

Άσχετη ερώτηση, αλλά μιας και το είδα εδώ,
γιατί php7.0-fpm ;
να υποθέσω HTTP/2 ;

Ξέρεις, ο περισσότερος κόσμος εκεί έξω έχω την εντύπωση ότι δεν χρησιμοποιεί lighttpd , εξού και οι default ρυθμίσεις είναι διαφορετικές.

Όπως και να χει, χρήσιμος ο οδηγός.
About Me
NickTux@GitHub

Spoiler: show
1. Ubuntu 18.04 LTS
2. Intel Core i3 CPU M 380 2.53GHz ‖ RAM 6GB ‖ Acer Aspire 5733
3. Intel Integrated Graphics [8086:0046] {i915}
4. wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01)
Άβαταρ μέλους
Learner
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 9748
Εγγραφή: 08 Νοέμ 2010, 21:24
Τοποθεσία: Αθήνα
Launchpad: nicktux
IRC: NickTh
Εκτύπωση

Re: Lighttpd σε RaspberryPi με χρήση fail2ban

Δημοσίευσηαπό xXx » 20 Μάιος 2019, 14:03

ο περισσότερος κόσμος εκεί έξω έχω την εντύπωση ότι δεν χρησιμοποιεί lighttpd

Ναι, είναι αλήθεια, γι'αυτό γράφτηκε ο "οδηγός" (είναι δύσκολο να βρει κάποιος πληροφορίες γι'αυτό το σενάριο).
Δεν περιμένεις πολλά από ένα RaspberryPi, οπότε είναι πολύ πιθανό να προτιμήσεις lighttpd για τα απλά script σου.
γιατί php7.0-fpm;

Έδωσα αυτό το παράδειγμα, γιατί αν κάποιος την χρησιμοποιεί (έχει δηλαδή γίνει stretch μέσω πολλαπλών update),
τότε θα χρειαστεί να κάνει restart και την php-fpm για να λειτουργήσουν όσα ανέφερα.
Αν δεν κάνω λάθος, η fpm δεν υπάρχει πλέον στα αποθετήρια.

Όπως και να'χει, το σενάριο αναφέρεται κυρίως στο πως να "τσακώνει" ο fail2ban τους κακόβουλους, κάτι το οποίο δεν
κάνει εξ'ορισμού, και δυστυχώς αν δεν το προσέξει κανείς, νομίζει πως όλα είναι μια χαρά.
Κυρίως Desktop: MoBo: GA-MA78GM-S2H | CPU: AMD Phenom(tm) II X4 920 2.80 GHz | VGA: NVIDIA Corporation GF119 [GeForce GT 610] | RAM: 3GB DDR2 800 | Audio: Realtek ALC889A (ATI SB) | Audio: NVIDIA Corporation GF119 HDMI | OS: Debian jessie 64bit
Άβαταρ μέλους
xXx
punkTUX
punkTUX
 
Δημοσιεύσεις: 208
Εγγραφή: 05 Μάιος 2010, 16:12
Τοποθεσία: Ελλάδα, Θεσσαλονίκη, Άνω Πόλη
Εκτύπωση


Επιστροφή στο Οδηγοί - How to - Tutorials

cron