Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Comentariile sunt închise pentru Blocarea cererilor recursive in BIND

Cand avem un server de hosting pe care ruleaza si un server DNS logic ar fi sa il folosim doar pentru rezolvarea zonelor corespunzatoare domeniilor gazduite. Sa oferim posibilitatea sa rezolve orice domenii ar insemna sa oferim o facilitate nu doar inutila ci si periculoasa care poate afecta consumul general de resurse sau care va permite unui atacator sa foloseasca serverul BIND ca platforma de lansare a unui atac de tip DDoS.

Pe un server de tip LAMP vom specifica intotdeauna doua servere DNS in fisierul /etc/resolv.conf. Primul server va fi interfata loopback, 127.0.0.1, pentru rezolvarea numelor locale iar al doilea va fi serverul DNS oferit de furnizorul de servicii. Daca pe serverul DNS local nu se rezolva o cerere, se va repeta cererea pe serverul DNS secundar. Astfel putem bloca fara nici un fel de griji cererile recursive in serverul DNS local pentru ca domeniile care urmeaza sa fie contactate se vor rezolva intotdeauna datorita serverului DNS secundar. E totusi important, pentru a evita problemele, sa verificam fisierul /etc/resolv.conf si sa ne asiguram ca are setate doua nameservere – primul interfata de loopback iar al doilea cel oferit de furnizorul de servicii (ex. 1.2.3.4):

nameserver 127.0.0.1
nameserver 1.2.3.4

Daca fisierul /etc/resolv.conf e setat corect, putem efectua modificarile de blocare a cererilor recursive in fisierul /etc/namedb/named.conf. Deschidem fisierul si cautam zona in care se salveaza directivele de configurare – blocul options{ … }. In cadrul blocului options{ … } vom adauga urmatoarea linie:

allow-recursion no;

Dupa un restart serverul DNS va functiona blocand cererile recursive.

Exista totusi situatii in care am dori sa permitem accesul la cereri recursive de pe unele masini. Accesul se poate restrictiona folosind un ACL (Access Control List) care il declaram in afara blocului options{ … } de forma:

acl trusted {
    127.0.0.1;
    192.168.0.1;
    192.168.0.2;
    192.168.0.3;
};

In blocul ACL cu numele trusted (poate avea orice nume) adaugam cate o adresa IP urmata de semnul ; pentru fiecare adresa IP de la care permitem cereri recursive. Odata ce am creat zona trusted o mentionam in cadrul blocului options{ … } folosind directiva allow-recursion:

allow-recursion { trusted; };

Acum cererile recursive vor fi permise doar de la adresele IP din lista trusted. Pentru un plus de securitate, in cadrul blocului options{ … } putem restrictiona si notificarile si cererile de transfer la adresele IP din lista trusted folosind directivele allow-notify si allow-transfer:

allow-notify { trusted; };
allow-transfer { trusted; };
DNS

Comments are closed.