Definicja ACL
Access Control List (ACL) to zestaw reguł przypisanych do zasobu (np. pliku, folderu, portu sieciowego), który definiuje, kto i na jakich zasadach może z niego korzystać. Każdy wpis na liście zawiera identyfikator użytkownika lub grupy oraz poziom dostępu - np. odczyt, zapis, wykonanie.
ACL są szeroko stosowane w systemach operacyjnych, urządzeniach sieciowych oraz aplikacjach webowych jako sposób na granularne i łatwo audytowalne zarządzanie dostępem.
Typy ACL
| Typ | Opis |
|---|---|
| DAC | Discretionary Access Control - właściciel decyduje o uprawnieniach |
| MAC | Mandatory Access Control - dostęp wymusza polityka systemowa |
| RBAC | Role-Based Access Control - dostęp przydzielany według ról |
| ABAC | Attribute-Based Access Control - decyzja na podstawie atrybutów |
Przykład zapisu ACL
Na systemach typu Unix ACL może wyglądać następująco:
user\:john\:rw-
group\:devs\:r--
other::---
Oznacza to, że użytkownik john ma prawo odczytu i zapisu, grupa devs tylko odczyt, a inni nie mają dostępu.
Zastosowania ACL
- Systemy plików - precyzyjna kontrola dostępu do zasobów.
- Urządzenia sieciowe - filtrowanie ruchu na podstawie adresów IP, portów i protokołów.
- Aplikacje webowe - definiowanie uprawnień użytkowników do funkcji aplikacji.
- Chmura i IAM - kontrola dostępu do zasobów w AWS, Azure czy Google Cloud.
Korzyści stosowania ACL
- Granularne zarządzanie uprawnieniami.
- Wysoka przejrzystość i możliwość audytu.
- Zgodność z wymaganiami regulacyjnymi (np. ISO 27001, NIS2).
- Możliwość automatyzacji polityk bezpieczeństwa w systemach SOAR i SIEM.
Wyzwania i ograniczenia
- Złożoność zarządzania - duże listy ACL mogą być trudne w utrzymaniu.
- Brak spójności - różne systemy implementują ACL na różne sposoby.
- Brak dziedziczenia - nie wszystkie systemy wspierają hierarchiczne reguły.
- Skalowalność - trudności przy masowym zarządzaniu uprawnieniami w dużych środowiskach.
Trendy i rozwój
- Automatyczne aktualizacje ACL przez SIEM/SOAR na podstawie zdarzeń.
- Integracja z Zero Trust - ACL jako warstwa enforcementu polityk dostępowych.
- Zastosowanie w środowiskach kontenerowych - np. z użyciem AppArmor lub SELinux.
- Audytowalność i zgodność z NIS2 - dokładne logowanie zmian w ACL.