Scalevo - Invalidska kolica za penjanje stepenicama - ETH Zürich

Koristimo poslužitelje apache 2.4 s klijentskim certifikatima za posluživanje usluga temeljenih na http u našoj organizaciji. Najvažnije je da fosilne cgi zovemo da bi posluživali spremišta na takvom poslužitelju.

Potvrde klijenta koriste se za dodjeljivanje dozvola pristupa kategorijama spremišta pomoću , SSLRequire i fosilna sposobnost opsluživanja cijelih direktorija. Tj .:

 SSLRequire %{SSL_CLIENT_S_DN_OU} eq 'Owner' \ and %{SSL_CLIENT_S_DN_CN} in {'foo', 'bar'}   SSLRequire %{SSL_CLIENT_S_DN_OU} eq 'Admins' \ and %{SSL_CLIENT_S_DN_CN} in {'foo', 'frank'}  

To dobro funkcionira, ali počeo sam shvaćati da je to kako pomalo rastemo, a neki ljudi dobivaju širi raspon odgovornosti. Što je najvažnije, bolno je morati uređivati ​​konfiguracijske datoteke apachea i ponovno pokretati apache svaki put kada se ažuriraju dozvole.

Koji mehanizmi postoje za dinamičko ažuriranje konfiguracija apachea? (Konkretno SSL pravila). Je li to nešto što bi se moglo riješiti pomoću modula Lua i jednostavne baze podataka sqlite za sadržavanje pristupnih popisa? Je li prilagođeni "Davatelj autorizacije" odgovarajući alat za ovaj posao?

  • Događaju li se promjene zaista tako često? Možete barem generirati konfiguracijsku datoteku Apache (taj dio, odvojen kao posebna datoteka izvučena kroz Include) automatski s nečeg drugog, čak i s crona.

Prvo, Apache dokumentacija navodi da SSLRequire je zastario, pogledajte: http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslrequire

Neke mogućnosti:

  1. Vjerojatno ovu konfiguracijsku datoteku možete automatski izračunati iz nekog drugog resursa. Dakle, programirajte i čak ga imajte u cron-u s ponovnim učitavanjem Apache-a, ovo je sigurno u slučaju pogrešaka i ne stvarajte zahtjeve koji nedostaju
  2. Ovisno o načinu na koji pružate svoj sadržaj, svaki njegov dio mogao bi biti popraćen znakom .htaccess koja ima relevantno Require u tome. Ja osobno nisam za korištenje .htaccess isječci, ali oni postoje
  3. Pogledaj SSLOptions FakeBasicAuth: čineći to, "sadržaj" certifikata klijenta (ili bilo kojeg dijela SSL stvari s AuthBasicFake direktiva data u dokumentaciji kao moćnija) mogla bi se izložiti putem standardnih mehanizama provjere autentičnosti Apache; tako da biste samo trebali ispuniti datoteku sa svim "korisničkim imenima" (izvedenim iz klijentskog certifikata) i postaviti odgovarajuća ograničenja na datoteke / direktorije

Jako bih se trudio pronaći učinkovit kompromis koristeći samo osnovne značajke Apachea, čak i s nekim programima oko njih kako je gore izloženo, prije nego što bih pribjegao velikim puškama poput Lua (mod_lua smatra se eksperimentalnim u Apacheu i jeste li sigurni da imate odgovarajući API za sve SSL stvari?) ili bilo koji drugi jezik i bazu podataka. To bi sigurno uspjelo nakon određenog napora, ali znatno bi povećalo složenost cijelog sustava i moglo smanjiti njegovu pouzdanost.

radio za vas: Charles Robertson | Želite nas kontaktirati?