Houd je wachtwoorden uit de opdrachtgeschiedenis

beveiliging

Artikelgereedschap

  • Tip ons
  • Printen
  • Reacties (3)
Aanbevelen

Gepubliceerd: Dinsdag 16 november 2010
Auteur: Koen Vervloesem

Iedereen maakt het wel eens mee: je hebt zojuist per ongeluk je wachtwoord in je shell ingegeven, waardoor het in je opdrachtgeschiedenis als cleartext te lezen is. Dat is natuurlijk niet de bedoeling, dus we geven hier wat tips om dit tegen te gaan.

Het eerste wat er fout kan gaan is dat je je wachtwoord in een shell ingeeft in plaats van in een venster van een ander programma, bijvoorbeeld als je per ongeluk het verkeerde venster gefocust hebt. Druk je daarna op enter, dan probeert je shell je wachtwoord als opdracht uit te voeren - wat normaal gezien niet lukt - en voegt je wachtwoord toe aan de opdrachtgeschiedenis (in ~/.history of ~/.bash_history). Een eenvoudige maar heel efficiënte manier om dit tegen te gaan is een ! in (maar niet op het einde van) je wachtwoord gebruiken: zowel Bash als ZSH beschouwen wat achter de ! komt als een event designator. Als je zo'n wachtwoord per ongeluk in je shell intypt en op enter drukt, krijg je de foutmelding "event not found" en wordt je wachtwoord niet aan de opdrachtgeschiedenis toegevoegd.

Negeren

Maar er zijn ook opdrachten waarbij je je wachtwoord als argument aan het programma kunt of soms zelfs moet doorgeven. Geef je zo'n opdracht in, dan is je wachtwoord uiteraard als onderdeel van die opdracht te lezen in de opdrachtgeschiedenis. Bash kent gelukkig een mechanisme om dit tegen te gaan: de omgevingsvariabele HISTCONTROL. Als deze ignorespace of ignoreboth bevat, dan voegt Bash geen opdrachten toe aan de geschiedenis als ze starten met één of meerdere spaties. Doet je distributie dit nog niet (Ubuntu schakelt al jaren standaard ignoreboth in voor HISTCONTROL), voeg dan de volgende regel toe aan je ~/.bashrc:

HISTCONTROL=ignorespace

Nu moet je er wel aan denken dat je een opdracht met een wachtwoord in (of andere informatie die je niet in cleartext in je opdrachtgeschiedenis wil zien) altijd moet beginnen met een spatie. Maar eens je jezelf dit hebt aangeleerd, zal je niet meer per ongeluk wachtwoorden lekken.

Maak de geschiedenis leeg

Is het leed echter al geschied en staat je wachtwoord of een opdracht met een wachtwoord in je geschiedenis, dan zit er niets anders op dan je opdrachtgeschiedenis te legen. Gelukkig kan dat in Bash eenvoudig met de opdracht 'history -c'. Daarmee wis je dan wel je volledige opdrachtgeschiedenis van je huidige loginsessie, maar dat is slechts een klein ongemak als je daardoor de zekerheid hebt dat je wachtwoord niet meer te zien is.

Bron: Techworld

De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.

Relevante whitepapers

Alle whitepapers >>

Nieuwsbrief

Ontvang dagelijks een overzicht van het laatste ICT-Nieuws in uw mailbox

Whitepapers

  • Flexibele IT noodzaak voor banken

    Banken worden belemmerd in hun agility door de beperkte flexibiliteit van hun IT-systemen. Onderzoeksrapport waarin de drastische vernieuwing wordt beschreven.

    Downloaden
  • Overheid bespaart met cloud computingDiscussie over cloud-beleid overheid. Whitepaper over kosten, veiligheid en beschikbaarheid.
  • Kostenbesparing voor long tail appsOplossing voor kostenkwesties in VDI. Technologie geschikt voor long tail apps.
» Meer whitepapers

Peiling

Loading Poll

Video: Review: HTC One X-smartphone met vijf...

Review: HTC One X-smartphone met vijf cores (video)