Access Control List (ACL) – En detaljerad förklaring på svenska

Access Control List (ACL)

Vad är en Access Control List (ACL)?

En Access Control List (ACL) är en säkerhetsmekanism som används för att reglera vem som har tillgång till ett specifikt system, fil, eller nätverksresurs och vilken typ av åtgärder de kan utföra. ACL spelar en viktig roll i cybersäkerhet genom att säkerställa att endast behöriga användare får tillgång till vissa resurser.

Syftet med ACL

  • Begränsa obehörig åtkomst till filer, mappar, system och nätverk.

  • Anpassa och specificera åtkomstnivåer baserat på användare och deras roller.

  • Förbättra IT-säkerhet genom att minimera risken för obehörig åtkomst.

Hur fungerar en ACL?

En ACL fungerar som en lista av regler där varje regel anger vem som har tillgång till en resurs och vilka åtgärder de får utföra.

Komponenter i en ACL

  1. Subjekt – En användare eller en grupp av användare.

  2. Objekt – En resurs, till exempel en fil, katalog, databas eller nätverksport.

  3. Behörighet – Vilken typ av åtkomst som är tillåten, t.ex. läsning, skrivning, exekvering.

  4. Regeltyp – Tillåt (Allow) eller Nekad (Deny).

Exempel på en enkel ACL-tabell

Användare/Grupper Resurs Behörighet
Admin /var/log/system.log Läs, skriv
User1 /home/user1/docs Läs, skriv
Guest /home/user1/docs Nekad

Typer av ACL

Fil- och katalogbaserad ACL

  • Styr åtkomst till filer och mappar i operativsystem.

  • Exempel:

    • Linux/Unix använder setfacl och getfacl.

    • Windows använder NTFS-behörigheter.

Nätverksbaserad ACL

  • Används för att styra trafiken inom nätverk, särskilt i brandväggar och routrar.

  • Exempel:

    • Tillåta eller blockera trafik på specifika IP-adresser eller portar.

Databas-ACL

  • Används för att styra vilka användare som får komma åt en databas.

  • Exempel:

    • MySQL, PostgreSQL och Oracle använder ACL för att styra dataåtkomst.

Molnbaserad ACL

  • Används för att styra åtkomst till molntjänster som AWS, Google Cloud och Azure.

  • Exempel:

    • AWS S3-bucket ACL styr vilka användare som kan se, skriva eller radera filer i en lagringsplats.

Exempel på ACL-implementering

Linux-filbehörighet med ACL

# Ge user1 läs- och skrivrättigheter till en fil
setfacl -m u:user1:rw example.txt

Cisco-router ACL-konfiguration

# Blockera all trafik från IP 192.168.1.10
access-list 100 deny ip 192.168.1.10 0.0.0.0 any

AWS VPC Nätverks-ACL-exempel

{
  "RuleNumber": 100,
  "Protocol": "TCP",
  "PortRange": {
    "From": 80,
    "To": 80
  },
  "CidrBlock": "192.168.1.0/24",
  "RuleAction": "ALLOW"
}

ACL vs RBAC (Rollbaserad åtkomstkontroll)

ACL skiljer sig från RBAC (Role-Based Access Control), där behörigheter ges till roller snarare än individer.

Jämförelse ACL RBAC
Behörighetshantering Direkt tilldelad per användare Tilldelad via roller
Administrativ enkelhet Svårare att hantera i stora system Lättare att administrera
Exempel Tillåt user1 att läsa file.txt Tillåt alla i “Administratörsgruppen” att läsa file.txt

Bästa praxis för ACL-användning

  1. Minimera behörigheter: Använd “Principen om minimal åtkomst”.

  2. Granska och uppdatera ACL regelbundet: Undvik gamla eller oanvända behörigheter.

  3. Logga och övervaka åtkomstförsök: För att upptäcka misstänkta aktiviteter.

Slutsats

En Access Control List (ACL) är en grundläggande och viktig säkerhetsmekanism för att skydda data, nätverk och system från obehörig åtkomst. Genom att implementera ACL korrekt kan organisationer och individer effektivt kontrollera vem som har tillgång till vad och minska risken för säkerhetsincidenter.

SQL Injection: Databasäkerhetshot och försvarsmetoder

 

1 thought on “Access Control List (ACL) – En detaljerad förklaring på svenska”

Leave a Comment