Re: apache: δεν είναι DOS attack αλλά τι είναι?

rouvas at di.uoa.gr rouvas at di.uoa.gr
Tue Jun 12 23:09:15 EEST 2007


Tasos Laskos said:
> To ksanastelno: http://httpd.apache.org/docs/1.3/mod/mod_access.html

Από το ανωτέρω link, ακολουθώντας το link για τα environment variables,
προς το τέλος της σελίδας, έχει μια παράγραφο "Prevent "Image Theft"" που
επιτρέπει το deny,allow με βάση το referer. Αν μπορεί να τροποποιηθεί αυτό
ώστε να ταιριάζει στην περίπτωση έχει καλώς. Αλλιώς δεν βλέπω πως requests
από διαφορετικούς hosts για την ίδια "σελίδα" θα μπορούσαν να
περιοριστούν.

Εξ'άλλου ο referer είναι πάντα ο ίδιος, οπότε αν μπορεί να γίνει κάτι ο
πλέον "ελπιδοφόρος" δρόμος θα πρέπει να περνάει από αυτόν. Νομίζω.

>
> Logika 8a tsekarei prota ayto kai meta 8a kanei ta path translations
> opote 8a lytoseis merika resources.
>
> Anw, efoson de paizei hosts.deny, to opoio einai i veltisti lysi, logo
> diaforetikon IP addresses, mod_access einai to next best thing.
>
> Kali tyxi. :)
>
> ndemou at gmail.com wrote:
>
>> On 6/12/07, rouvas at di.uoa.gr <rouvas at di.uoa.gr> wrote:
>>
>>> Tasos Laskos said:
>>>
>>>> [...]
>>>> De ksero an mporeis na ton blockareis vasi tou referrer.
>>>> Toulaxiston, de ksero an ginete "eykola".
>>>>
>>> Balto sto .htaccess tou dir sou allazontas to "myspace" me to domain
>>> pou [...]
>>>   RewriteCond %{HTTP_REFERER} .*myspace.*
>>>   RewriteRule  .*                 /dont-link-to-me  [G]
>>> [...]
>>>
>>> Gyrizei ston agent pou xtipa ton apache sou ena 310 ('h kati tetoio).
>>> [...]
>>>
>>
>> έχει νόημα το blocking που γίνεται από τον apache επιστρέφοντας ένα
>> 310 ή ότι άλλο? Εννοώ πως από όσα φαίνονται ο apache ούτως ή άλλως
>> απορρίπτει τα requests με ένα 404. Το κακό είναι ότι στην πορεία και
>> επειδή τα requests είναι πολύ συχνά (π.χ. 20/sec) υπερφορτώνεται.

Θεωρητικώς, ναι. Ένα 404 response θα έπρεπε να αποθαρύνει. Εμπειρικώς
μιλώντας, όμως, έχω παρατηρήσει ότι δεν συμβαίνει αυτό. Πιθανόν γιατί ένα
404 response μπορεί να προκύπτει και από άλλους λόγους (όπως π.χ. λάθος
ρυθμίσεις, προσωρινή μη διαθεσιμότητα του resource, κλπ.) Έπειτα, για να
γυρίσει 404 πρέπει πρώτα να ψάξει τον κατάλογο (και τα πιθανά .htaccess
αρχεία) για να αποφανθεί ότι το ζητούμενο δεν υπάρχει ώστε να γυρίσει 404.

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

Επίσης, με το rewrite μπορείς να γυρίσεις ότι response θέλεις, όχι
κατ'ανάγκη 310. Για παράδειγμα, θα έχει πλάκα να του γυρνάς ένα 304
(redirection) και να τον στέλνεις στον εαυτό του... Επίσης, μπορείς
κάλιστα να του γυρνάς 404. Γενικώς, μπορείς να παίξεις.

Πάντως, όποια λύση και αν επιλέξεις (mod_rewrite ή mod_access) το ταχύτερο
όλων θα ήταν να το βάλεις κατευθείαν στον httpd.conf και όχι στο .htaccess
του καταλόγου ώστε ο apache να μην μπαίνει καν στον κόπο να κάνει access
τον κατάλογο .

-Στάθης


>>
>> Αν υπάρχει τρόπος να απορρίπτει τα requests ΚΑΙ με λιγότερο "κόπο"
>> αυτό σίγουρα θα άξιζε.
>>
>> κάτι άλλο που μπορώ να κάνω και δεν το έχω σκεφτεί (εκτός από το να
>> μεταφερθώ σε ισχυρότερο server :-P)
>>
>>
>>
>
>
> --
> linux-greek-users mailing list -- http://lists.hellug.gr






More information about the Linux-greek-users mailing list