Linux Pam Tutorial

Linux Pam Tutorial
Linux-Pam er en rik samling av delte moduler som interaktivt autentiserer en bruker til programmer (eller tjenester) i et Linux-system. Linux-Pam er et forkortelse for pluggable autentiseringsmoduler, som utviklet seg fra UNIX-PAM-designen. Den kombinerer mange autentiseringsmoduler på lavt nivå med et API på høyt nivå for å gi dynamisk autentisering for apper. Til tross for den underliggende autentiseringsordningen, gjør dette at utviklere kan lage applikasjoner som krever autentisering. Linux-Pam (også kjent som “Pam”) støttes ofte som standard i moderne Linux-varianter.

Det mest avgjørende for en systemadministrator å forstå er hvordan PAM -konfigurasjonsfiler gir koblingen mellom tjenester og PAM -er som utfører de faktiske autentiseringsaktivitetene. Du trenger ikke å forstå Pams indre arbeid. Pam kan endre Linux -systemets sikkerhet betydelig. Feil innstillinger kan fullt ut eller delvis forby tilgang til maskinen din.

Grensesnitt av Linux-Pam i Ubuntu 20.04

Fire forskjellige ledelsesgrupper håndterer PAM -autentiseringsoppgaver hver for seg. Når en typisk bruker ber om en begrenset tjeneste, håndterer disse gruppene forskjellige deler av forespørselen:

  • Regnskap: Denne modulen brukes til å avgjøre om den leverte kontoen er gyldig under gjeldende omstendigheter. Flere faktorer blir sjekket i denne kategorien, inkludert utløp av kontoer, tiden på dagen, eller hvis brukeren har autorisasjon til den aktuelle tjenesten.
  • Autentisering: I denne modulen er brukerens identitet validert når all grunnleggende informasjon er bekreftet som nøyaktig. Brukerens identitet blir bekreftet ved å la dem oppgi en pålogging eller annen bestemt stykke data som bare de er pålagt å vite.
  • Passord: Autentiseringsmodulen skal visstnok fungere i samarbeid med denne modulen, som hjelper brukeren med å oppgradere passord. Begge resonansene gir muligheten til å håndheve sikre passord.
  • Økt: Denne modulen skisserer aktivitetene som må tas i starten og slutten av øktene, og den er ikke det minst viktige av modulene som utgjør rekkefølgen som den generelle PAM -strategien fullfører ønsket oppgave. Økten begynner når individet har autentisert seg med suksess.

Hvordan validere et Linux-PAM-program i Ubuntu 20.04

En applikasjon eller program må være "Pam Aware" eller uttrykkelig bygget og utarbeidet for å bruke PAM. Bruk “LDD” -kommandoen for å se om et program ble bygget med PAM-biblioteket for å avgjøre om det er “PAM-Aware” eller ikke. Når kommandoen “LDD /Bin /Su” blir utført, er filen “Libpam.Så ”blir fremhevet i den andre linjen som støtter spørringen. Validering vises på skjermbildet nedenfor:

Katalogen /etc /pam.D/ inneholder konfigurasjonen for Linux-PAM. Gå til PAM -katalogen ved å legge inn følgende kommando i Linux -operativsystemets terminal:

Det forrige øyeblikksbildet viser at man kan undersøke innholdet ved å legge inn “LS” -kommandoen i PAM -katalogen. SSHD -serveren må installeres hvis den ikke er oppført som en tjeneste som implementerer PAM. SSH, også kjent som Secure Shell, er et nettverksapplikasjon som krypterer dataoverføring og gjør det mulig for forskjellige datatyper og brukere å koble seg trygt og eksternt over et nettverk til forskjellige systemer. Følgende kommando kjøper OpenSSH-serverpakken:

Du kan deretter legge inn PAM-katalogen på nytt, se etter tjenestene og se SSHD er lagt til etter at den er ferdig med å installere alle filene. SSHD -tjenesten er fremhevet i “/etc/pam.D ”-katalog.

Hvordan konfigurere et Linux-PAM-program i Ubuntu 20.04

Hver PAM -modulens samtale resulterer i enten suksess eller fiasko. Resultatet håndteres av PAM ved hjelp av kontrollflagg. Kontrollflaggene spesifiserer den relative viktigheten av hver modulens suksess eller fiasko i det overordnede målet om å etablere brukerens identitet med tjenesten, og moduler kan bli stablet i en viss rekkefølge. Det er fire forhåndskonfigurerte kontrollflagg tilgjengelig:

  • Påkrevd: For at autentisering skal komme videre, må pakkesvaret være vellykket. Brukeren vil ikke bli varslet hvis forsøket mislykkes på dette stadiet til alle pakken tester bruken av det som grensesnittet er ferdig med å kjøre funnene sine.
  • nødvendig: I henhold til argumentene, hvis dette går i stykker, vil alt annet også. Pam vil også bli avsluttet, og en feilvarsel vil bli levert.
  • tilstrekkelig: Hvis denne modulen er vellykket og alle tidligere nødvendige moduler er også vellykkede, kalles ingen ytterligere nødvendige moduler.
  • Valgfritt: Angir at modulen ikke er viktig for om brukerens serviceforespørsel er vellykket eller mislykket. Verdien blir bare vurdert i fravær av noen avgjørende suksesser eller feil fra tidligere eller senere stablede moduler.
  • Inkluder: Når den matchende parameteren matches, blir hver linje i konfigurasjonsfilen hentet av dette kontrollflagget.

Bare skriv inn følgende kommando inne i PAM -katalogen:

Som du kan se, kontroll-flaggene, som vi har beskrevet tidligere i følgende PAM-fil:

Følgende generelle retningslinjer skal brukes mens du skriver hovedkonfigurasjonen:

  • Service: Det virkelige navnet på programmet
  • Type: grensesnitt/kontekst/type modul
  • Kontroll-flagg: Hvis modulen ikke klarer å fullføre sin autentiseringsoppgave, bestemmer kontrollflagget hvordan PAM-api vil oppføre seg
  • Modul: Pams absolutte eller relative banenavn filnavn
  • Module-Argument: Modulparametere er en liste over symboler som kan brukes til å påvirke modulfunksjonaliteten

Hvis du ønsker å forhindre at rotbrukere kobles til et hvilket som helst system over SSH, må du begrense tilgangen til SSHD -tjenesten. Videre skal tilgangen til påloggingstjenestene begrenses.

Flere moduler begrenser tilgangs- og tilskuddsrettigheter, men vi kan bruke den utrolig tilpasningsdyktige og funksjonsrike modulen/lib/security/pam listfile.så. Gå til /etc /pam.d/ katalog, åpne måltjenestens fil, og gjør de nødvendige endringene som følger:

Følgende regulering må settes inn i filen:

Tidligere er modultypen Auth (eller kontekst). Kontrollflagget indikerer at til tross for hvor godt de andre modulene utfører, hvis modulen brukes, må den lykkes, eller det generelle utfallet vil være en feil. Et middel for å aktivere eller avkrefte tjenester basert på enhver fil er gitt av PAM -listenfilen.Så modul. onerr = lykkes er et argument for modulen. Elementet = Bruker er et modulargument som beskriver filens innhold som må verifiseres. Sense = nekt modulalternativet indikerer handlingen som skal tas hvis elementet er lokalisert i filen. Ellers blir det motsatte handlingsforløpet bedt om. Fil med ett element per linje er spesifisert av modulalternativet Fil =/etc/ssh/nektusere.

Navnroten må legges til filen/etc/ssh/deniedusere etter at den er opprettet:

Etter å ha gitt de nødvendige tillatelsene, lagrer du endringene og steng filen:

Med den forrige regelen på plass, vil PAM bli instruert om å sjekke/etc/ssh/nektusere og forhindre at eventuelle listede brukere bruker SSH og påloggingstjenester fremover.

Konklusjon

Programmer som er avhengige av autentisering kan sikre at bare autoriserte applikasjoner er i et Linux-operativsystem på grunn av det robuste API på høyt nivå kjent som PAM. Det har mye kraft, men det er også ganske vanskelig å forstå og operere. For applikasjoner og tjenester som kjører under Linux, tilbyr PAM dynamisk autentiseringsstøtte. Ytelsen til en modul kan evalueres ved hjelp av hvilken som helst av kontrollflaggene som er oppført i denne håndboken. PAM brukes ofte i mange sikre systemer fordi det er mer brukervennlig og pålitelig enn den konvensjonelle passord-og-brukernavn-autentiseringsmekanismen.