Lösung: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead

Was ist apt-key?

Die Man Pages beschreiben apt-key wie folgt:

apt-key is used to manage the list of keys used by apt to authenticate packages. Packages which have been authenticated using these keys will be considered trusted.

apt-key wird verwendet, um die Liste der Schlüssel zu verwalten, die von apt zur Authentifizierung von Paketen verwendet werden. Pakete, die mit diesen Schlüsseln authentifiziert wurden, werden als vertrauenswürdig eingestuft.

Der Vollständigkeit halber hier der Punkt zur "deprecated" Meldung:

update (deprecated)
Update the local keyring with the archive keyring and remove from the local keyring the archive keys which are no longer valid. The archive keyring is shipped in the archive-keyring package of your distribution, e.g. the ubuntu-keyring package in Ubuntu.

Note that a distribution does not need to and in fact should not use this command any longer and instead ship keyring files in the /etc/apt/trusted.gpg.d/ directory directly as this avoids a dependency on gnupg and it is easier to manage keys by simply adding and removing files for maintainers and users alike.

Was bedeutet apt-key is deprecated?

In der Fehlermeldung "apt-key is deprecated. Manage keyring files in trusted.gpg.d" sind zwei Meldungen versteckt:

Bisher wurden Schlüssel in trusted.gpg verwaltet. In Zukunft sollten die Schlüssel einzeln unter trusted.gpg.d verwaltet werden. Der Grund für das Abschaffen des alten Vorgangs ist die schlicht die Sicherheit.

Zusätzlich wird apt-key als veraltet eingestuft. Da es sich hier nur um eine Warnung handelt, kann diese bis jetzt auch einfach ignoriert werden. Im Prinzip möchte sie den Nutzer weg von apt-key hin zu gpg schubsen und genau das möchte ich hier zeigen.

Bei einem apt update wirft ein Ubuntu beispielsweise folgenden Warnungen in Bezug auf nodejs und yarn Repositorys

reading package lists... Done
W: https://deb.nodesource.com/node_16.x/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

Lösung -  Schlüssel aus trusted.gpg in trusted.gpg.d umziehen

Die Lösung für die oben aufgeführte Problematik ist das bereits erwähnte Umschichten von trusted.gpg zu trusted.gpg.d.

Zunächst werden die betreffenden Schlüssel aufgelistet:

sudo apt-key list
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2014-06-13 [SC]
      9FD3 B784 BC1C 6FC3 1A8A  0A1C 1655 A0AB 6857 6280
uid           [ unknown] NodeSource <gpg@nodesource.com>
sub   rsa4096 2014-06-13 [E]

pub   rsa4096 2016-10-05 [SC]
      72EC F46A 56B4 AD39 C907  BBB7 1646 B01B 86E5 0310
uid           [ unknown] Yarn Packaging <yarn@dan.cx>
sub   rsa4096 2016-10-05 [E]
sub   rsa4096 2019-01-02 [S] [expires: 2023-01-24]
sub   rsa4096 2019-01-11 [S] [expires: 2023-01-24]


Schlüssel in eine eigene Datei verschieben

Danach die letzten 8 Zeichen der zweiten Zeile unter pub kopieren. In diesem Fall ist das 6857 6280. Das Leerzeichen zwischen den Zahlen muss entfernt werden.
Der zukünftige Name kann beliebig gewählt werden, es liegt allerdings nahe, ihn nach dem installierten Paket bzw. Repository zu benennen:

sudo apt-key export 68576280 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/nodejs-key.gpg
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).

sudo apt-key export 86E50310 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/yarn-key.gpg
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).

sudo apt-get update

Nun sollten die Warnungen der Vergangenheit angehören.

Neue Schlüssel hinzufügen

Sollte ein neuer Schlüssel hinzugefügt werden, wird in Zukunft nicht mehr mit apt-key gearbeitet, sondern gpg verwendet werden.

Früher

curl -sS https://download.spotify.com/debian/pubkey_5E3C45D7B312C643.gpg | sudo apt-key add -


Heute

curl -sS https://download.spotify.com/debian/pubkey_5E3C45D7B312C643.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/spotify.gpg

 

OSINT - Analyse Tools fürs Netzwerk

Der Begriff OSINT (Open Source Intelligence) ist nicht erst seit 2022 ein allgemein bekannter Begriff, hat allerdings durch den Krieg in der Ukraine, Krisen und dem Durst nach Informationsgewinnung, viel Aufschwung erfahren. Das erste Mal wurde die Öffentlichkeit durch Bellingcat im Jahr 2012 darauf aufmerksam.

Der Begriff steht für die Informationsgewinnung aus öffentlichen Daten. Dabei helfen Tools, diese Daten zu analysieren, zu interpretieren und zu sortieren. Gerade im Netzwerkbereich finden sich hier spannende Programme.

Ich selbst nutze für persönliche Zwecke diverse öffentliche bzw. freie Tools, sei es zur Netzwerkanalyse, für verdächtige E-Mailheader oder zum DNS Check. Möglichkeiten gibt es sehr viele.

Dabei ist eine kleine Liste zusammen gekommen, welche ich euch gerne zur Verfügung stellen möchte.

Eine dauerhaft aktualisierte Liste findet ihr in Zukunft unter osint.itrig.de.

Browser User Agent & Bot Analyse (online)
  • https://whatmyuseragent.com
  • https://robotsdb.de/robots-verzeichnis
  • https://www.cimtools.net/en/extra/bots_list.php
Domain Certificates SSL Check (lokal)
  • https://github.com/drwetter/testssl.sh
Domain Certificates SSL Check (online)
  • https://ciphersuite.info
  • https://crt.sh
  • https://www.ssllabs.com/ssltest
  • https://observatory.mozilla.org
  • https://ciphersuite.info
Domain DNS Tools (lokal)
  • https://github.com/darkoperator/dnsrecon
Domain DNS Tools (online)
  • https://dnsdumpster.com
  • https://www.whatsmydns.net
  • https://toolbox.googleapps.com/apps/dig
  • https://viewdns.info
Domain URL Tools (online)
  • https://osint.sh
  • https://urlscan.io
  • https://www.brightcloud.com/tools/url-ip-lookup.php
  • https://unshorten.me
  • https://securitytrails.com
  • https://www.maxmind.com/en/locate-my-ip-address
Firmen Analyse (online)
  • https://www.bundesanzeiger.de
  • https://www.insolvenzbekanntmachungen.de
  • https://www.northdata.de
Git Search Tools (online)
  • https://grep.app
IP Search & Scan Tools (lokal)
  • https://github.com/robertdavidgraham/masscan
IP Search & Scan Tools (online)
  • https://www.shodan.io/explore
  • https://search.censys.io
  • https://fullhunt.io

Mail Analyse Tools (lokal)

  • https://github.com/ninoseki/eml_analyzer
  • https://github.com/cyberdefenders/email-header-analyzer
  • https://thatsthem.com/reverse-email-lookup
 
Mail Analyse Tools (online)
  • https://hunter.io
  • https://emailrep.io
  • https://eml-analyzer.herokuapp.com
  • https://www.spf-record.de
  • https://toolbox.googleapps.com/apps/messageheader
Malware & File Analyse (lokal)
  • https://github.com/mandiant/capa
  • https://github.com/horsicq/Detect-It-Easy
Malware & File Analyse (online)
  • https://labs.inquest.net
  • https://www.virustotal.com/gui/home/search
  • https://www.filescan.io/scan
Messenger Analyse (online)
  • https://telemetr.io (telegram)
Multitools (lokal)
  • https://github.com/pyhackertarget/hackertarget
  • https://github.com/laramies/theHarvester
Multitools Browser Add-ons
  • https://github.com/ninoseki/mitaka
  • https://addons.mozilla.org/de/firefox/addon/hacktools
Network BGP / ASN Tools (online)
  • https://bgp.he.net
  • https://www.peeringdb.com
  • https://bgp.tools
  • https://bgpstream.crosswork.cisco.com
Sammlungen - Collections
  • https://github.com/jivoi/awesome-osint
  • https://github.com/cipher387/osint_stuff_tool_collection
  • https://osintframework.com

Schwachstellen - CVE (online)

  • https://www.cvedetails.com
  • https://www.cve.org
  • https://www.opencve.io
Sonstiges
  • https://iknowwhereyourcatlives.com (Katzen)
  • https://intelx.io (Darkweb)
  • https://github.com/secdev/scapy (Traffic Tests)
  • https://locust.io (Traffic Tests)

Website Traffic

  • https://www.similarweb.com/de
Webtech Analyse (online)
  • https://www.wappalyzer.com
  • https://osint.sh/stack
  • https://website.informer.com
  • https://builtwith.com
  • https://www.whatruns.com

Portmaster - OpenSource Application Firewall mit Adblocker

Das Tool Portmaster ist eine Endbenutzerfirewall, welche dem Anwender die volle Kontrolle über aus und eingehende Internetverbindungen zurückgibt. Im Oktober wurde Version 1.x der Firewall Portmaster veröffentlicht.

Für Windows Nutzer dürfte dieses Tool Gold wert sein, denn freie Tools mit guter Usability wie Portmaster sind im Microsoft Universum rar gesät. Linux Nutzer kommen ebenfalls nicht zu kurz, denn die Firewall kann auch von Debian/Ubuntu oder Fedora Anwendern installiert werden. Selbst für mobile Geräte stehen APKs bereit.

portmaster

Blocklisten und Secure DNS

Neben den üblichen Firewallfunktionen mit detaillierter Traffic Darstellung und Auflistung einzelner Verbindungen beherrscht das Tool Blocklisten. Diese können über die Einstellungen in der Funktionsleiste angepasst werden. Beim ersten Start werden diese mit der Ersteinrichtung automatisch aktiviert.

Die Tracker Blocklisten sorgen für die Verbindungsunterdrückung zu Werbe-Netzwerken oder anderen Inhalten. Portmaster ersetzt somit quasi Tools wie Pi-Hole oder diverse Browser-Add-ons. Die genannten Filtereinstellungen sind unter Global Settings/Privacy Filter zu finden.

Portmaster verwendet zur DNS Auflösung DNS-over-TLS, dies geschieht in den Standardeinstellungen über Cloudflare, kann aber auf Quad9 oder AdGuard umgestellt werden. Die DNS-Server werden via URL-Scheme konfiguriert und bieten daher auch die Möglichkeit Community Settings zu hinterlegen

Unter Global Settings/Secure DNS können diese DNS-Server jederzeit angepasst, beziehungsweise entfernt werden. Ist nichts hinterlegt, werden die DNS-Server des Systems verwendet.

portmaster-programme

Features

Nachdem die Firewall das erste Mal in Betrieb genommen wurde, sollte der Einfachheit halber auf „Allow All und Prompt“ gestellt werden, sonst kann es durchaus zu viel Klickarbeit kommen, gerade unter Windows Systemen. Abseits davon bietet Portmaster alles, was sicherheitsbewusste Anwender mögen.

  • Kontrolle über das Verhalten der installierten Programme

  • Fliegender Wechsel zwischen den Standard-Netzwerkaktionen: Zulassen, Sperren, Nachfragen

  • Statistiken über alle Verbindungen

  • Adblocker und Trackerblocking

  • Auflistung der geblockten Anfragen

  • DNS-over-TLS

  • P2P Verbindungen blockieren

  • Quellcodekontrolle via github

Fazit

Als Application Firewall ist Portmaster auf jeden Fall eine Installation wert, alleine schon wegen der Vielzahl an Einstellungsmöglichkeiten und der Vielfalt des Monitorings.

Features wie SPN (Secure Private Network) lassen sich die Entwickler zwar bezahlen, allerdings sollte nicht jeder Nutzer verschiedene Länder IPS zu einzelnen Programmen zuweisen wollen, daher ist dieses nicht vorhandene Feature verkraftbar.

Portmaster hat auf meinem Windows System Windows Firewall Control inzwischen abgelöst.

Download

truffleHog3 – Passwörter und Zugangsdaten in Git, Github, Gitlab oder AWS finden und entfernen

Bereits im April dieses Jahres wurde Version 3 des Repository-Security-Tools Trufflehog veröffentlicht. Zeit, einen eigenen Artikel über das bekannte Kali Tool zu verfassen.

Was ist Trufflehog

Leaked credentials oder secret keys sollten nicht in Github Repositorys zu finden sein, dennoch passiert dies öfters als gedacht. Genau hier setzt das Tool truffleHog3 an, es scannt Repositorys und mehr auf Geheimnisse wie Zugangsdaten, API Keys usw.

Das Security-Tool durchläuft dabei die gesamte Commit-Historie jedes Branches, prüft jedes diff von jedem commit und sucht nach Geheimnissen.

Möglich wird dies unter anderem durch die Verwendung von regulären Ausdrücken und Entropie.

Mit der Version 3 unterstützt truffleHog inzwischen mehr als 700 verschiedene Key Types von AWS, Azure, Confluent oder Facebook. Eine Übersicht der Detektoren ist hier zu finden.

Folgende Code Quellen werden momentan unterstützt:

  • git
  • github
  • gitlab
  • S3
  • filesystem
  • syslog

Installation

Die Trufflehog Installation erfordert eine funktionierende GO Installation. Alternativ kann auch auf Python Pip zurückgegriffen werden, allerdings wird via Pip momentan keine aktuelle Version angeboten. Für einen Test bietet sich die Docker Variante an.

#Aktuellste Version
git clone https://github.com/trufflesecurity/trufflehog.git
cd trufflehog
go install oder go build

#Via Python Pip (allerdings steht hier nur Version 3.0.x zur Verfügung)
pip3 install trufflehog3

#Die aktuellste Version via Docker Paket laufen lassen

docker run -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --org=trufflesecurity

Anwendungsbeispiele

#Hilfe
trufflehog --help

#github scan mit Optionen
trufflehog github --repo=https://github.com/trufflesecurity/trufflehog

trufflehog github --repo=https://github.com/trufflesecurity/trufflehog --json --only-verified

#AWS scan
trufflehog s3 --bucket=<bucket name> --only-verified

#Dateisystem
trufflehog filesystem --directory=/home/guenny/ansible/repository

Da die aktuellste Version momentan nur via Source/Docker zur Verfügung steht, können Gitlab, S3 und Co nur darüber gescannt werden

  git [<flags>] <uri>
    Find credentials in git repositories.

  github [<flags>]
    Find credentials in GitHub repositories.

  gitlab --token=TOKEN [<flags>]
    Find credentials in GitLab repositories.

  filesystem --directory=DIRECTORY
    Find credentials in a filesystem.

  s3 [<flags>]
    Find credentials in S3 buckets.

  syslog [<flags>]
    Scan syslog

trufflehog


Passwörter und andere Geheimnisse aus Git-Repositories entfernen

Was tun, wenn ein Passwort gefunden wurde?

Git Filter Branch bietet eine Möglichkeit, um dieses Problem zu beheben.

Beispielsweise:

git filter-branch --prune-empty --index-filter "git rm --cached -f --ignore-unmatch löschdatei" -- --all

Git Filter Branch ist ein sehr mächtiges Tool, daher verweist Github selbst auf den BFG Repo Cleaner und git filter-Repo

Mit ersterem lassen sich relativ einfach sensitive Dateien löschen oder ersetzen.

bfg --delete-files id_{dsa,rsa}  my-repo.git
bfg --replace-text passwords.txt  my-repo.git
git push --force

Wenn ein Passwort im letzten Commit vorhanden ist, würde übrigens auch amend ausreichen:

git commit --amend

Fazit

Vergessene Zugangsdaten in Repositorys schaffen unnötige Sicherheitslücken. Diese lassen sich mit TruffleHog einfach aufspüren. Das Tool unterstützt inzwischen weit mehr als nur Github. So lässt sich der gesamte Software Development Life Cycle/SDLC bei Bedarf überwachen.

Mit TruffleHog Enterprise bietet der Hersteller inzwischen eine GUI in der Cloud an, allerdings lässt er sich diese auch bezahlen. Für eine automatisierte Überwachung der eigenen Repositorys lassen sich alle Aufgaben via Kommandozeile erledigen.

Download



Ähnliche Artikel

Security Tools: Trivy – Docker Container auf Sicherheitslücken durchsuchen

Nuclei - schneller Schwachstellen Scanner mit praktischen Vorlagen

Security: GVM 21.04 - mit Docker in 15 Minuten zum OpenVAS Schwachstellen Scanner

Shellclear - History automatisch auf sensible Inhalte untersuchen

Das kleine Tool shellclear automatisiert das Überprüfen der Shell History auf sensible Inhalte wie Passwörter oder Zugangstoken.

shellclear

Unterstützt werden Shells wie Bash, Zsh, PowerShell und Fish. Das Tool greift auf ein Pattern-File zurück, welches beliebig erweitert werden kann.

Beim Start der Shell werden die Inhalte der History automatisch über dieses YAML-Pattern-File auf Passwörter und Token geprüft.

Sind sensible Inhalte vorhanden, werden diese gelistet und können gelöscht werden.

Momentan wird auf AWS Access Keys, Github Tokens, Gitlab Tokens, Slack, Cloudflare, Twitter, Facebook und vieles mehr getestet.

Installation

curl -sS https://raw.githubusercontent.com/rusty-ferris-club/shellclear/main/install/install.sh | bash

Einbinden in die Shell

nano ~/.bashrc
eval $(shellclear --init-shell)

bzw. 

nano ~/.zshrc
eval $(shellclear --init-shell)

Powershell

$PROFILE

Invoke-Expression (&shellclear --init-shell)

Fish

nano ~/.config/fish/config.fish

shellclear --init-shell | source

shellclear-findings

Verwendung

Durch das Einbinden in beispielsweise Zsh oder Bash prüft shellclear bei jedem Start automatisch auf sensible Inhalte in der History. Dieser Vorgang kann zusätzlich manuell gestartet und konfiguriert werden. Auch das Banner "your shell is clean from sensitive data" lässt sich ausblenden.

#sensible Inhalte suchen
shellclear find

#sensible Inhalte als Tabelle ausgeben
shellclear find --format table

#sensible Inhalte bereinigen
shellclear clear

#banner ausblenden
shellclear --no-banner

#eigene Config festlegen
shellclear config

#history verstecken
shellclear stash

Fazit

Kleiner Helfer für den Alltag, der tut, was er soll. Dank des YAML Formats ist das Tool beliebig erweiterbar. Abgesehen davon sind die größten Cloud-Firmen bereits integriert und das Tool erfüllt im Hintergrund seinen Zweck.