User Tools

Site Tools


snippets:security

Snippets: Security

GnuPG/OpenPGP

  • In der ~/.gnupg/gpg.conf sollte der default-key gesetzt sein
  • Die Option default-recipient-self verhindert dass man z.B. seine gesendeten Mails nicht lesen kann, da sie für den Empfänger verschlüsselt wsind …

Signieren

Die Legacy-Variante: Eingebettete ASCII-SIgnatur:

gpg --clearsign wichtig.md

Binäre Signatur in eigener, getrennter Signatur-Datei:

gpg --output wichtig.sig --detach-sig wichtig.md

Eine Signatur verifizieren:

gpg --verify wichtig.sig

Wenn der entsprechende Public Key nicht im Schlüsselbund ist, zeigt GnuPG an, ob die Signatur an sich gültig ist, bricht aber trotzdem ab, da nicht bekannt ist ob der Schlüssel legitim ist.

Daten verschlüsseln/entschlüsseln

TODO
  • Empfänger: 0x605DA5C729F9C184
  • Selbst auch ein Empfänger, sonst könnte man die selber verschlüsselte Nachricht nicht entschlüsseln
gpg --encrypt --recipient 0x605DA5C729F9C184 --default-recipient-self Omas_Butterkuchen.pdf
  • Datei wieder entschlüsseln
  • Wichtig: ohne –output würde GnuPG auf STDOUT schreiben!
gpg --output Omas_Butterkuchen.pdf --decrypt Omas_Butterkuchen.pdf.gpg

SFTP-only Benutzer für Webspace-Kunden

Die folgenden Snippets sind eine Ergänzung/Zusammenfassung meines Blog-Posts zu dem Thema.
# 
# Setup an SFTP-only user account
# 
 
 
# 
# Customer config
# 
cfg_username="web_rolltreppe3"
cfg_realname="rolltreppe3.de"
cfg_uid=2103
cfg_domain="rolltreppe3.de"
 
 
#
# Generic Config
#
cfg_group="www-data"
cfg_additional_groups="sftponly"
cfg_home_prefix="/srv/http/"
cfg_comment_prefix="[WebhostingCustomer] "
 
 
#
# Add new user
#
sudo useradd \
	--uid $cfg_uid \
	--comment "${cfg_comment_prefix}${cfg_realname}" \
	--home-dir "${cfg_home_prefix}${cfg_username}/web" \
	--gid "${cfg_group}" \
	--groups "${cfg_additional_groups}" \
	--shell /bin/false \
	"${cfg_username}"
 
 
# 
# Directory structure
# 
sudo mkdir -p "${cfg_home_prefix}${cfg_username}/web"
sudo mount -o bind \
	/mnt/nfs.htdocs/${cfg_realname} \
	${cfg_home_prefix}${cfg_username}/web
 
echo "/mnt/nfs.htdocs/${cfg_realname}  ${cfg_home_prefix}${cfg_username}/web  none  defaults,bind  0  0" \
	| sudo tee --append /etc/fstab
 
 
#
# Basic setup for the new user
#
sudo passwd ${cfg_username}
 
new_home=$(getent passwd $cfg_username | cut -d: -f6)
 
sudo mkdir "${new_home}/.ssh"
sudo cp ~/.ssh/id_ed25519.pub "${new_home}/.ssh/authorized_keys"
 
sudo chown -R ${cfg_username}:${cfg_group} ${new_home}/.ssh
sudo chmod 600 ${new_home}/.ssh/authorized_keys
snippets/security.txt · Last modified: by malte70