- Authelia vyhodnocuje pravidlá zhora nadol a použije prvú úplnú zhodu.
- Predvolená politika by mala byť zamietnuť, aby sa zabránilo neoprávnenému prístupu.
- Obídenie umožňuje vstup bez overenia a nepodporuje používateľské filtre.
- Pravidlá môžu filtrovať domény, používateľov, skupiny, trasy, siete a metódy.
Ak už máte spustenú a chránenú aplikáciu Authelia, ďalším krokom je rozhodnúť sa kto môže vstúpiť, odkiaľ a s akou úrovňou autentifikácieNie všetci používatelia potrebujú prístup k rovnakým službám, ani všetky trasy nepredstavujú rovnaké riziko.
Pravidlá prístupu Authelia vám umožňujú aplikovať rôzne politiky na základe domény, požadovanej cesty, používateľa, jeho skupín, zdrojovej IP adresy alebo dokonca metódy HTTP. To vám umožňuje vyžadovať dvojfaktorové overenie pre administratívny panel, povoliť jednoduchší prístup cez VPN a blokovať všetky požiadavky, ktoré ste explicitne neautorizovali.
Čo kontrolujú pravidlá prístupu Authelie?

Pravidlá sú definované v tejto sekcii access_control z konfiguračného súboru. Keď reverzná proxy odošle dotaz spoločnosti Authelia, systém analyzuje údaje požiadavky a určí aká politika by sa mala uplatňovať pred povolením alebo zamietnutím prístupu.
Pravidlo môže použiť nasledujúce kritériá:
- Doména: Identifikujte postihnutú aplikáciu alebo subdomény.
- Zdroj: Pravidlo sa obmedzuje na jednu trasu alebo skupinu trás.
- Predmet: aplikuje politiku na konkrétnych používateľov alebo skupiny.
- Mriežka: Skontrolujte IP adresu, z ktorej požiadavka pochádza.
- Metóda: rozdiel medzi požiadavkami GET, POST, PUT, DELETE alebo inými.
- Konzultácia: Umožňuje vám vyhodnotiť určité parametre zahrnuté v URL adrese.
Tieto zásady ovplyvňujú iba požiadavky, ktoré prechádzajú cez autorizačný mechanizmus proxy. Ak aplikácia udržiava priamo prístupný portNávštevník by mohol obísť Autheliu vstupom cez IP adresu a port.
Ako Authelia vyhodnocuje pravidlá prístupu
Authelia skúma pravidlá postupne, zhora nadolHneď ako nájde prvú zhodu, ktorá spĺňa všetky kritériá, použije svoju politiku a zastaví kontrolu ďalších zhôd. Ak sa žiadna nezhoda nenachádza, použije hodnotu default_policy.
To znamená, že najšpecifickejšie pravidlá by sa mali zobraziť pred všeobecnými pravidlami. Napríklad, ak chcete verifikačný koncový bod sprístupniť verejnosti, chrániť dashboard pomocou 2FA a na zvyšok použiť heslo, môžete použiť toto poradie:
access_control:
default_policy: 'deny'
rules:
- domain: 'estado.example.com'
resources:
- '^/api/health([/?].*)?$'
policy: 'bypass'
- domain: 'estado.example.com'
subject:
- 'group:admins'
policy: 'two_factor'
- domain: 'estado.example.com'
policy: 'one_factor'
Výnimka pre /api/health Musí sa objaviť ako prvé. Ak by bolo všeobecné pravidlo domény umiestnené ako prvé, Authelia by ho okamžite uplatnila. Výnimka by sa nikdy nedosiahla..
Ktorú prístupovú politiku by ste mali použiť
Authelia má štyri hlavné pravidlá. Každé z nich určuje minimálnu úroveň potrebnú na vybavenie požiadavky:
- poprieť: Úplne blokuje prístup k zdroju.
- obísť: Umožňuje prístup bez overovania na Authelia.
- jeden_faktor: Vyžaduje sa aspoň používateľské meno a heslo.
- dva_faktory: Vyžaduje si to aj splnenie druhého kompatibilného faktora.
Najbezpečnejšou konfiguráciou je použitie deny ako predvolenú politiku a povoliť iba to, čo je nevyhnutné prostredníctvom explicitných pravidiel. Týmto spôsobom nebude nová aplikácia náhodne odhalená, pretože jej pravidlo ešte nebolo vytvorené.
access_control:
default_policy: 'deny'
rules:
- domain: 'documentos.example.com'
policy: 'one_factor'
- domain: 'panel.example.com'
policy: 'two_factor'
Odporúča sa použiť bypass Používajte s mimoriadnou opatrnosťou, pretože sa tým odstráni overenie pre akúkoľvek zodpovedajúcu požiadavku. Okrem toho nemožno kombinovať s kritériom subjectpretože Authelia musí najprv overiť návštevníka, aby zistila jeho používateľské meno a skupiny.
Ako vytvoriť pravidlá podľa domény a subdomény

Kritérium domain Umožňuje vám zadať presnú doménu alebo zoznam domén. Podporuje tiež zástupné znaky na použitie rovnakej politiky na viacero subdomén.
access_control:
default_policy: 'deny'
rules:
- domain:
- 'grafana.example.com'
- 'portainer.example.com'
policy: 'two_factor'
- domain: '*.interno.example.com'
policy: 'one_factor'
Divoká karta *.interno.example.com Toto ovplyvní subdomény pod touto adresou. Musí byť uzavretá v úvodzovkách, aby sa zabránilo nesprávnej interpretácii hviezdičky systémom YAML.
Domény použité v pravidlách musia byť pokryté jednou z domén definovaných v session.cookiesAk nie sú, Authelia automaticky zamietne žiadosťaj keď sa pravidlo zdá byť správne.
Ako obmedziť prístup podľa používateľov a skupín
Kritérium subject Toto vám umožňuje aplikovať politiku iba na konkrétnych používateľov alebo skupiny. Hodnoty musia začínať na user: o group:.
access_control:
default_policy: 'deny'
rules:
- domain: 'panel.example.com'
subject:
- 'group:admins'
policy: 'two_factor'
- domain: 'documentos.example.com'
subject:
- 'user:ana'
- 'group:editores'
policy: 'one_factor'
V druhom príklade bude môcť používateľ zadať ana alebo ktorýkoľvek člen skupiny editoresPoložky na hlavnej úrovni zoznamu fungujú ako alternatívy.
Môžete tiež požadovať, aby osoba patrila do viacerých skupín súčasne:
subject:
- 'user:ana'
- ['group:admins', 'group:infraestructura']
Táto podmienka zodpovedá používateľovi ana alebo s akoukoľvek osobou patriacou do skupiny admins e infraestructura zároveň.
Ako chrániť konkrétne trasy pomocou Authelie

Kritérium resources Používa regulárne výrazy na aplikovanie rôznych politík v rámci tej istej domény. To vám umožňuje vyžadovať 2FA pre administratívnu oblasť bez toho, aby ste ju nevyhnutne museli vnucovať zvyšku aplikácie.
access_control:
default_policy: 'deny'
rules:
- domain: 'app.example.com'
resources:
- '^/admin([/?].*)?$'
policy: 'two_factor'
- domain: 'app.example.com'
policy: 'one_factor'
Výraz chráni /admin, jeho podtrasy a varianty, ktoré obsahujú parametre. Keďže administratívne pravidlo je špecifickejšie, malo by byť umiestnené pred všeobecným pravidlom.
Výrazy musia byť zapísané vždy v úvodzovkáchLomítko, špeciálny znak alebo nesprávny únikový znak môžu zabrániť spusteniu Authelie alebo spôsobiť, že pravidlo bude pokrývať viac ciest, ako bolo zamýšľané.
Ako aplikovať pravidlá na základe zdrojovej siete
Siete je možné deklarovať pomocou individuálnych adries, rozsahov CIDR alebo opakovane použiteľných skupín. Toto je užitočné na vyžadovanie jednofaktorového overenia z lokálnej siete alebo VPN a dvojfaktorového overenia, keď pripojenie pochádza z internetu.
definitions:
network:
red_local:
- '192.168.1.0/24'
vpn:
- '10.8.0.0/24'
access_control:
default_policy: 'deny'
rules:
- domain: 'panel.example.com'
networks:
- 'red_local'
- 'vpn'
policy: 'one_factor'
- domain: 'panel.example.com'
policy: 'two_factor'
Authelia potrebuje správne prijať pôvodnú IP adresu návštevníka. Proxy preto musí odoslať zodpovedajúce hlavičky a iba tieto hlavičky by mali byť deklarované ako dôveryhodné. proxy, ktoré skutočne ovládateSpoliehanie sa na hlavičky z akéhokoľvek zdroja by umožnilo falšovanie IP adresy a obchádzanie sieťového pravidla.
Hoci technicky sa môžete prihlásiť bypass</code dentro de la LAN, mantener al menos one_factor suele ser una opción más prudente para paneles sensibles.
Kedy použiť pravidlá metódy HTTP
Kritérium methods Umožňuje rozlišovať medzi požiadavkami GET, POST, PUT, PATCH, DELETE, OPTIONS a ďalšími rozpoznanými metódami. Bežným prípadom použitia je povolenie požiadaviek CORS pred overením bez autentifikácie.
access_control:
default_policy: 'deny'
rules:
- domain: 'api.example.com'
methods:
- 'OPTIONS'
policy: 'bypass'
- domain: 'api.example.com'
policy: 'two_factor'
Toto kritérium by sa nemalo používať na zvýšenie úrovne autentifikácie počas odosielania formulára. Authelia nedokáže zachovať telo požiadavky pri presmerovaní používateľa, takže požiadavka POST by mohla stratiť odoslané údaje.
Keď aplikácia potrebuje rôzne povolenia na čítanie a úpravu informácií, zvyčajne je najlepšie spravovať tieto povolenia v rámci samotnej aplikácie alebo prostredníctvom jej rolí.
Ako skontrolovať, ktoré pravidlo Authelia uplatní
Pred reštartovaním služby môžete overiť syntax súboru z kontajnera:
docker exec authelia authelia config validate \
--config /config/configuration.yml
Príkaz access-control check-policy Umožňuje vám simulovať požiadavku a skontrolovať, ktoré pravidlo bude zodpovedať:
docker exec authelia authelia access-control check-policy \
--config /config/configuration.yml \
--url https://panel.example.com/admin \
--username ana \
--groups admins,infraestructura \
--ip 192.168.1.50 \
--method GET \
--verbose
Výstup identifikuje prvú úplnú zhodu a ukazuje, ktoré kritériá boli úspešné alebo neúspešné. Pred pokračovaním sa odporúča zopakovať test s rôznymi používateľmi, skupinami, trasami, sieťami a metódami. uplatňovať pravidlá vo výrobe.
Bežné chyby pri konfigurácii pravidiel prístupu

Všeobecné pravidlo sa objaví pred výnimkou.
Authelia sa zastaví pri prvej úplnej zhode. Najprv uvedie najkonkrétnejšie pravidlá a všeobecné nechá na koniec.
Obídenie je kombinované s používateľom alebo skupinou
Pravidlo bypass nemožno použiť subjectNa overenie totožnosti návštevníka musí Authelia požadovať aspoň one_factor.
Doména nie je pokrytá súborom cookie relácie
Overte, či sa doména aplikácie zhoduje s jednou z domén nakonfigurovaných v session.cookies teda platná subdoména.
Regulárny výraz zodpovedá príliš veľa cestám
Ukotvite vzory pomocou ^ y $ kde je to vhodné a skontrolujte každú URL adresu pomocou check-policy pred reštartovaním.
Authelia dostane nesprávnu IP adresu
Skontrolujte hlavičky preposielané proxy serverom a jeho konfiguráciu dôveryhodného proxy servera. V opačnom prípade pravidlá založené na networks Nebudú fungovať správne.
Aplikácia zostáva prístupná prostredníctvom svojho portu.
Pravidlá nemôžu chrániť pripojenie, ktoré obchádza proxy. Vypnite priame presmerovanie portov a použite vnútorná sieť medzi kontajnermi.
Rovnaká sekcia sa nachádza vo viacerých súboroch
Nevyhlasovať access_control vo viacerých súboroch čakajúcich na automatické zlúčenie pravidiel službou Authelia. Centralizujte sekciu do jedného konfiguračného súboru.
Formulár stráca údaje, keď vyžaduje 2FA.
Presmerovanie počas POST požiadavky môže zahodiť odoslaný obsah. Nepoužívajte pravidlá pre jednotlivé metódy na implementáciu interných povolení aplikácie.
Správna konfigurácia prístupových pravidiel Authelia vám umožňuje uplatniť princíp najmenších privilégií bez správy samostatného systému autentifikácie pre každú službu. Kľúčom je stanoviť deny Ako predvolená politika zoradiť výnimky od najšpecifickejších po najvšeobecnejšie a overiť každý scenár pred jeho vystavením skutočným používateľom.
Som technologický nadšenec, ktorý zo svojich „geekovských“ záujmov urobil povolanie. Strávil som viac ako 10 rokov svojho života používaním špičkových technológií a hraním so všetkými druhmi programov z čistej zvedavosti. Teraz som sa špecializoval na počítačovú techniku a videohry. Je to preto, že už viac ako 5 rokov píšem pre rôzne webové stránky o technológiách a videohrách a vytváram články, ktoré sa snažia poskytnúť vám potrebné informácie v jazyku, ktorý je zrozumiteľný pre každého.
Ak máte nejaké otázky, moje znalosti siahajú od všetkého, čo súvisí s operačným systémom Windows, ako aj Androidom pre mobilné telefóny. A môj záväzok je voči vám, vždy som ochotný venovať pár minút a pomôcť vám vyriešiť akékoľvek otázky, ktoré môžete mať v tomto internetovom svete.