2010-03-23 12 views
5

Czy jest dostępna jakakolwiek inna implementacja (np. W projekcie OSS) Java SecurityManager, która ma więcej funkcji niż ta w JDK?Inne wdrożenia SecurityManager są dostępne?

szukam funkcji, takich jak

  • konfigurowalne w czasie wykonywania
  • polityka aktualizować w czasie wykonywania, czytaj z innych źródeł danych niż pliku security.policy
  • Temat świadomy, np różne polityki na wątek
  • Polityki wyższego poziomu, np. "Wyłącz funkcje sieciowe, ale zezwól na ruch JDBC"
  • Typowe, wstępnie zdefiniowane zasady, np. "Zezwalaj na dostęp w trybie odczytu do zwykłych właściwości systemu, takich jak file.encoding lub line.separator, ale nie zezwalaj na dostęp do odczytu dla użytkownika.home"
  • Monitorowanie i rejestrowanie rejestrowania kontroli, np. „Logowanie wszystkie dostępu do plików, log wszelki dostęp do sieci nie będzie knownhost.example.org”
  • Blokowanie pracy „zainteresowanie” zezwolenie aż administrator udziela pozwolenia, pozwalając Temat/zadanie kontynuować
  • ...

Jestem prawie pewien, że serwery aplikacji (przynajmniej komercyjne) mają własną implementację SecurityManager lub przynajmniej własną konfigurację zasad. Zastanawiam się, czy jest jakiś darmowy projekt z podobnymi wymaganiami.

+0

Czy kiedykolwiek "znalazłeś" rozwiązanie? –

+0

Nie, naprawdę nie znalazłem odpowiedniej biblioteki, która oferuje zaawansowaną implementację SecurityManager – mhaller

Odpowiedz

2
  • Dynamiczny ProtectionDomains (wprowadzone w 1.4 IIRC), delegat do modyfikowalne Policy.
  • Ustalanie uprawnień według wątku jest trudne, trudne. Managaer bezpieczeństwa apletu robi to przez ThreadGroup, co ogólnie uważa się za coś złego.
  • Możesz zezwolić na połączenia z określonymi portami. Podobnie możesz mieć uprzywilejowany sterownik JDBC, który może być proxy dla innego sterownika, przyznając określone uprawnienia przez AccessController.doPrivileged.
  • Uprawnienia dla właściwości systemu można określić dla każdego klucza.
  • AccessController w implementacji Sun/Oracle ma funkcje śledzenia.
  • Applets/WebStart pokaże okno dialogowe na przykład na temat drukowania. Ale podejście do usług JNLP jest znacznie lepsze.

"Glossitope" próbował mieć system, który tworzył okno dialogowe za każdym razem, gdy zażądano pozwolenia. Oczywiście prośba nie ma sensu dla użytkownika, który chce zobaczyć tańczące świnie. (Glossitope było próbą wersji Java panelu bocznego Vista. Funkcje dodane do 6u10 (instalacja typu "przeciągnij i upuść", okna inne niż prostokątne, ikona ostrzeżenia zamiast banera, usługi JNLP) sprawiają, że jest ona w większości zbędna.)