Aici voi vorbi despre capabilitățile lui Apache de a proteja conținutul serverului sau al părților sale.
Apache directive pentru controlul accesului
Monitorizarea prin IP
Dacă trebuie doar să permiteți sau să blocați accesul la orice parte a site-ului sau la întregul server pentru anumite adrese IP, utilizați următoarele directive.
Atenție vă rog! Dacă doriți să utilizați aceste directive în fișierul .htaccess, asigurați-vă că pentru gazdă directiva AllowOverride din fișierul de configurare rădăcină Apache include opțiunea Limit
Valori: Ordine (permite, respinge, respinge, permite)
Ordinul Ordin specifică ordinea în care se poate citi din directivele Allow and Deny- Permiteți, refuzați - citiți mai întâi directiva Permiteți. Dacă utilizatorul nu este pe această listă, atunci este blocat. Dacă este, citiți apoi directivele Deny (procesul nu este încă finalizat). Dacă utilizatorul este acolo, atunci este blocat. Dacă nu este acolo, atunci este omis. De exemplu, utilizatorul este ignorat numai dacă există numai în lista Permis, dar nu în Deny
- Neagă, permite - directivele Deny sunt procesate mai întâi și acei utilizatori care se află în această listă sunt excluși. Orice altele sunt sărite. De exemplu, utilizatorul este ignorat întotdeauna, dar dacă nu se află pe lista Deny
Formatul directivelor este: (Allow | Deny) de la (IP | IPs | all) (IP | IPs | all). (IP | IP | toate)
Directivele Allow and Deny definesc clienții care permit sau refuză accesul la server.
Directivele permit utilizarea:- IP unică (IP) - tipul obișnuit de IP, de exemplu, 127.0.0.1
- Grupuri IP (IP) - un grup IP, de exemplu, pentru acces, numai dintr-o rețea locală, 192.168.1.0/24
- Orice IP (toate) - indică orice IP
După cuvântul din, orice număr de direcții specificate separate printr-un spațiu
Acest fișier specifică accesul numai pentru clienți din rețeaua locală sau din IP 11.11.11.12
O parte din fișierul httpd.conf
Deci, interzicem un site pentru orice IP
Controlați după numele sau grupul de utilizatori
Dacă aveți nevoie să protejați un site sau o parte a acestuia de o parolă, utilizați următoarele directive.
Atenție vă rog! Dacă doriți să utilizați aceste directive în fișierul .htaccess, verificați că pentru gazdă directiva AllowOverride din fișierul de configurare rădăcină Apache include opțiunea AuthType. De asemenea, pentru unele directive (AuthUserFile și AuthGroupFile) aveți nevoie de suportul mod_auth
Valori: AuthType (Basic | Digest)
Formatul directivei: AuthName "String"
Această directivă specifică textul prompt care este afișat în browser când intri în partea protejată a site-ului, vezi figura de mai sus
Formatul directivelor este: (AuthUserFile | AuthGroupFile) "String"
Atenție vă rog! Pentru ca aceste directive să funcționeze, aveți nevoie de modulul Apache mod_auth, care se conectează în mod implicit
Aceste directive definesc, respectiv, calea (absolută) la fișierul care stochează pachetele Nume: DES și calea (de asemenea, absolută) la fișierul care stochează pachetele Grupa: Nume Nume. nume
Conține informații despre nume de utilizatori valabile și parole în formatul Nume: DES, unde DES este numele algoritmului de criptare. Fișierul poate fi creat de programul consola standard inclus în Apache, htpasswd. Pentru o descriere a utilizării sale, vedeți mai jos.
Această directivă ar trebui specificată numai dacă ați specificat o valoare pentru directiva Cerere (a se vedea mai jos) egală cu grupul
Acest fișier conține informații despre grupurile de utilizatori permise să se conecteze. Formatul fișierului: Grupa: Nume nume. Prenume. Numai acei utilizatori care există și care se află în grupurile descrise în directiva privind cerințele (vezi mai jos) vor putea intra
Valori: Necesar (Nume de utilizator Name.group | Grup de grup. | Grup | valid-utilizator
Această directivă definește principiul autentificării:- Utilizatorii numai pentru utilizatori indicați de spațiul următor și indicând parola corectă vor putea să se conecteze
- Utilizatorii din grup care aparțin grupurilor indicate mai jos printr-un spațiu și care indică parola corectă vor putea să se conecteze. Este necesară specificarea directivei AuthGroupFile
- Utilizator valabil - orice utilizator existent în fișierul AuthUserFile și specificarea parolei corecte se poate autentifica
Directivele necesare pentru metoda AuthType Basic sunt listate aici. Alte directive referitoare la metoda AuthType Digest, nu voi lista, deoarece acestea au o acțiune direcțională și în general sistemele nu sunt utilizate
Apache hppasswd utilitate
Acest program de consolă creează fișiere specificate în directiva AuthUserFile. Fișierul stochează pachetele Nume: Parola pentru accesarea porțiunii protejate a site-ului
De obicei, programul vine cu Apache și este localizat în folderul bin din folderul rădăcină
Formatul apelului de utilitate:
Opțiuni pentru linia de comandă- -c - creați un fișier nou. Dacă acest parametru nu este specificat și fișierul nu există, utilitarul va genera o eroare și un accident. Atenție vă rog! Dacă fișierul a existat deja, acesta va fi suprascris
- -d - utilitarul va folosi algoritmul de criptare DES (în C este funcția cript ()). Implicit este folosit în toate sistemele de operare, dar nu în Windows
- -m - utilizați algoritmul de criptare MD5, care este cifrul implicit în Windows
- -p - salvați parola în forma sa pură, fără criptare. Funcționează numai pe Windows
- -s - utilitatea va folosi algoritmul de criptare SHA
- -b - în modul normal, fără această opțiune, utilitarul primește parola introducând fluxul standard de intrare. Când utilizați această opțiune, parola trebuie să meargă după calea către fișierul de parolă, iar utilitarul va primi o parolă din această opțiune. Utilitatea nu va aștepta intrarea utilizatorului, va reveni imediat la controlul shell-ului. Exemplu: htpasswd -b .htpasswd smhtpass
Exemple de parole
O parte din fișierul httpd.conf
Aici, accesul este permis în același fișier cu utilizatorii, dar numai cu cei care se află în grupurile mele sau root definite în fișierul .htgroup
Pentru a crea un fișier de parolă pentru primul exemplu
Intrăm în shell și scriem astfel de comenzi