pam

Linux Pam-zelfstudie voor beveiliging

Linux Pam-zelfstudie voor beveiliging
PAM staat voor Pluggable Authentication Modules die dynamische authenticatie-ondersteuning biedt voor applicaties en services in een Linux-besturingssysteem. Het is een beveiligingsmechanisme dat bescherming mogelijk maakt via PAM in plaats van om gebruikersnaam en wachtwoord te vragen. PAM is verantwoordelijk voor de authenticatie van de bestanden die worden uitgevoerd. Elke applicatie bestaat uit verschillende configureerbare bestanden en elk bestaat uit een stapel van verschillende modules. Deze modules worden vervolgens van boven naar beneden uitgevoerd en vervolgens genereert de PAM op basis van het resultaat de respons, of deze nu geslaagd of mislukt is.

PAM maakt het een stuk eenvoudiger voor beheerders en ontwikkelaars omdat het zelf wijzigingen aan het broncodebestand aanbrengt en minimale interactie vereist. PAM kan dus ook worden gedefinieerd als een gegeneraliseerde Application Programming Interface voor authenticatiegerelateerde services. In plaats van de code opnieuw te schrijven, wordt deze vanzelf aangepast.

Pam-module-interfaces

Authentiek: Het is de module die verantwoordelijk is voor authenticatiedoeleinden; het verifieert het wachtwoord.
Account: Nadat de gebruiker is geverifieerd met de juiste inloggegevens, controleert het accountgedeelte op geldigheid van het account, zoals beperkingen op het gebied van verval of tijdaanmelding, enz.
Wachtwoord: Het wordt alleen gebruikt om het wachtwoord te wijzigen.
Sessie: Het beheert de sessies, bevat een account van gebruikersactiviteit, het maken van mailboxen, maakt de thuismap van de gebruiker enz.

zelfstudie

  1. Om te controleren of uw toepassing LINUX-PAM gebruikt of niet, gebruikt u de volgende opdracht in uw terminal:

    $ ldd /bin/su

    Zoals we in regel 2 van de uitvoer kunnen zien, bestaat er een lipbpam.dus bestand dat de vraag bevestigt.

  2. De configuratie van LINUX-PAM staat in de directory /etc/pam.d/. Open de terminal van uw Linux-besturingssysteem en ga naar de pam-directory door het commando te typen: $ cd /etc/pam.d/

    Dit is de directory die andere services bevat die PAM . ondersteunen. Men kan


    controleer de inhoud door de opdracht $ ls   in de map van pam uit te voeren, zoals weergegeven in de bovenstaande schermafbeelding.

    als je sshd niet vindt als een service die PAM ondersteunt, moet je de sshd-server installeren.

    SSH (of beveiligde shell) is een versleutelde netwerktool die is ontworpen om verschillende typen computers/gebruikers veilig op afstand in te kunnen loggen op verschillende computers via een netwerk. U moet het openssh-server-pakket installeren, wat u kunt doen door de volgende opdracht in uw terminal uit te voeren:.

    $sudo  apt-get   install openssh-server

    Het zal alle bestanden installeren en dan kun je de pam-map opnieuw invoeren en controleren op de services en zien dat sshd is toegevoegd.

  3. Typ vervolgens de volgende opdracht:. VIM is een teksteditor die platte tekstdocumenten opent zodat de gebruiker ze kan zien en bewerken. $vim sshd

    Als u de vim-editor wilt verlaten en dit niet kunt, drukt u tegelijkertijd op de Esc-toets en de dubbele punt (:) waardoor u in de invoegmodus komt. Typ na de dubbele punt q en druk op enter. Hier staat q voor quit.

    U kunt naar beneden scrollen en alle modules zien die eerder zijn beschreven met termen als vereist, inclusief, vereist enz. Wat zijn dat?

    Ze worden de PAM-controlevlaggen genoemd. Laten we in hun details treden voordat we in veel meer concepten van PAM-services duiken.

PAM-besturingsvlaggen

  1. Verplicht: Moet slagen voor resultaatsucces. Het is de noodzaak waar men niet zonder kan.
  2. Vereiste: Moet slagen, anders worden er geen verdere modules uitgevoerd.
  3. Voldoende: Het wordt genegeerd als het niet lukt. Als deze module is geslaagd, worden er geen vlaggen meer gecontroleerd.
  4. Optioneel: Het wordt vaak genegeerd. Het wordt alleen gebruikt als er slechts één module in de interface is.
  5. omvatten: Het haalt alle regels op uit de andere bestanden.

Nu is de algemene regel om de hoofdconfiguratie te schrijven als volgt: servicetype controle-vlagmodule module-argumenten:

  1. ONDERHOUD: Dit is de naam van de applicatie. Stel dat de naam van uw toepassing NUCUTA . is.
  2. TYPE: Dit is het type module dat wordt gebruikt. Stel dat hier de gebruikte module authenticatiemodule is.
  3. CONTROL-VLAG: Dit is het type controlevlag dat wordt gebruikt, een van de vijf typen zoals eerder beschreven:.
  4. MODULE: De absolute bestandsnaam of de relatieve padnaam van de PAM.
  5. MODULE-ARGUMENTEN: Het is de afzonderlijke lijst met tokens om het gedrag van de module te regelen.

Stel dat u root-gebruikerstoegang tot elk soort systeem via SSH wilt uitschakelen, dan moet u de toegang tot de sshd-service beperken. Bovendien moeten de inlogdiensten worden gecontroleerd toegang.

Er zijn verschillende modules die de toegang beperken en privileges geven, maar we kunnen de module gebruiken /lib/security/pam_listfile.zo die extreem flexibel is en veel functionaliteiten en privileges heeft.

  1. Open en bewerk het bestand/de applicatie in de vim-editor voor de doelservice door de /etc/pam.d/ map eerst.

De volgende regel moet in beide bestanden worden toegevoegd:

auth vereist pam_listfile.so\onerr=geslaagd item=user sense=deny file=/etc/ssh/denidusers

Waar auth de authenticatiemodule is, is vereist de controlevlag, het pam_listfile.dus module geeft de deny-privileges aan de bestanden, onerr=succeed is het moduleargument, item=user is een ander moduleargument dat bestandslijsten specificeert en de inhoud waarop moet worden gecontroleerd, sense=deny is een ander moduleargument dat zal als item is gevonden in een bestand en file=/etc/ssh/denidusers dat een type bestand specificeert dat slechts één item per regel bevat.

  1. Maak vervolgens een ander bestand /etc/ssh/denidusers en voeg root toe als de naam erin. Dit kan gedaan worden door het commando te volgen: $sudo vim /etc/ssh/denidusers
  1. Sla vervolgens de wijzigingen op nadat u de rootnaam eraan hebt toegevoegd en sluit het bestand.
  2. Gebruik de chmod commond om de toegangsmodus van het bestand te wijzigen. De syntaxis voor het chmod-commando is
 chmod   [referentie][operator][mode] bestand

Hier worden de verwijzingen gebruikt om een ​​lijst met letters te specificeren die aangeeft aan wie toestemming moet worden gegeven.

Hier kunt u bijvoorbeeld het commando schrijven:

$sudo   chmod   600  /etc/ssh/denidusers

Dit werkt op de eenvoudige manier. U specificeert de gebruikers aan wie de toegang tot uw bestand wordt geweigerd in het bestand /etc/ssh/denidusers en stelt de toegangsmodus voor het bestand in met de opdracht chmod. Vanaf nu zal PAM tijdens het proberen toegang te krijgen tot het bestand vanwege deze regel alle gebruikers die in het bestand /etc/ssh/denidusers  staan, toegang tot het bestand weigeren.

Conclusie

PAM biedt ondersteuning voor dynamische authenticatie voor toepassingen en services in een Linux-besturingssysteem. Deze handleiding vermeldt een aantal vlaggen die gebruikt kunnen worden om de uitkomst van het resultaat van een module te bepalen. Het is handig en betrouwbaar. voor gebruikers dan het traditionele wachtwoord- en gebruikersnaamverificatiemechanisme, en dus wordt PAM vaak gebruikt in veel beveiligde systemen.

Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...