/dev/blog/ID10T

Advertisement

Linux: SSH Agent Forwarding nach sudo

• Linux • Comments

Kurztipp: Wenn ihr den durch SSH Agent Forwarding weitergebenen Private Key auch bei sudo-Befehlen nutzen wollt, müsst ihr die env-Variable SSH_AUTH_SOCK in der /etc/sudoers unter Defaults env_keep eintragen. Sähe dann beispielsweise so aus:

Defaults env_reset
Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE SSH_AUTH_SOCK"

Achtet natürlich auch darauf, dass euer SSH-Client auch ForwardAgent aktiviert hat. ;-)

Debian: Aus der Quelle kompilierte Programme löschen

• Linux • Comments

Wenn man Programme aus der Quelle kompiliert, ist es oft schwierig, diese wieder zu deinstallieren. Wenn der Ersteller der Sources nicht ein make uninstall eingebaut hat, ist ein es mühevolles Durchklauben der einzelnen Verzeichnisse.
Die Lösung für dieses Problems hört auf den Namen checkinstall. Dieses kleine Helferlein erstellt aus den vorher vorbereiteten und kompilierten Dateien ein .deb-Paket (bzw. bei RedHat, Fedora, CentOS ein rpm) und installiert es dann. Dadurch kann man es einfach mit dpkg (bzw. rpm) wieder deinstallieren. Weiterer Vorteil: Man kann das erstellte Paket auch sichern oder mit anderen teilen.
Ein Kompilierungsvorgang mit checkinstall sieht dann so aus:

./configure #hier koennen natuerlich auch Optionen angegeben werden
make
sudo checkinstall --type=debian --install=yes

Nachdem checkinstall fertig ist, könnt ihr die Installation leicht prüfen. Für die Backupsoftware Amanda, über die ihr in Bälde hier vermutlich auch noch etwas lesen werdet, sähe das so aus:

[email protected]:/usr/local/src/amanda-3.3.4# dpkg --get-selections |grep amanda
amanda                                          install
[email protected]:/usr/local/src/amanda-3.3.4# 

Die Deinstallation ginge dann dementsprechend mit dpkg -r oder -P. Checkinstall ist in den Debian Repositories in der neusten Version verfügbar, für CentOS muss es selbst kompiliert werden.

OT: Armutszeugnis für Google Docs

• Rants • Comments

Diese Bild kann man eigentlich unkommentiert stehen lassen.
2013-09-10-gdocs-odt
Für alle, die doch etwas Kontext brauchen: Google Docs kann zwar die proprietären doc,docx,usw. Formate von Microsoft anzeigen, aber das offene Open Document Format ist nicht verfügbar. Das finde ich ziemlich erbärmlich.

 

Update 20150212: Wie in den Kommentaren richtig erwähnt, unterstützt Google Docs inzwischen ODF (seit Dezember 2014). Auch Gmail kann solche Dokumente nun direkt öffnen.

Linux: Kurztipps für Rsyslog

• Linux • Comments

Hier zwei kleine Konfigurationseinstellungen für Rsyslog, die ich immer wieder vergesse und dann zeitaufwändig im Netz oder auf Referenzmaschinen suchen muss.

Um in Debian/Raspbian sämtliche cron-Einträge aus dem syslog zu tilgen, folgendes in eine Datei eurer Wahl (beispielsweise 00-cron) unter /etc/rsyslog.d/ schreiben:

cron.none -/var/log/syslog
:msg, contains, "/var/www/cron.php" ~

Um in CentOS sämtliche Einträge des sshd bzw. spezifischer der Log Facility AUTH in die /var/log/auth.log umzuleiten, brauchen wir wieder eine Datei unter /etc/rsyslog.d/. Meine 00-sshd.conf enthält dann folgendes:

auth.none       -/var/log/messages
auth.* /var/log/auth.log

Nach solchen Änderungen muss Rsyslog nochmals neu gestartet werden.

service rsyslog restart

Ich hoffe, dass ich das nächste Mal, wenn ich diese Tweaks brauche, mich auch an diesen Eintrag erinnere. :-D

Linux: SSH-Server sichern

• Linux • Comments

Da ich meinen vServer ja komplett neu aufsetzen muss, nutze ich die Gelegenheit, um hier meine Konfiguration der /etc/ssh/sshd_config zur Sicherung des SSH-Servers aufzuführen. Dazu poste ich hier einfach eine beispielhafte sshd_config mit (englischen) Kommentaren.

# sshd_config by m3adow, created 2013-09-06
# Tested for:
# OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

# Restrict to IPv4. Change to inet6 for IPv6 only. Comment it out or use "any" for no restriction.
AddressFamily inet

# Set AuthorizedKeysFile to standard for visibility.
#AuthorizedKeysFile .ssh/authorized_keys

# Disable ALL authentication methods
# We'll enable those for our loginuser.
ChallengeResponseAuthentication no
GSSAPIAuthentication no
HostbasedAuthentication no
KerberosAuthentication no
PasswordAuthentication no
PubKeyAuthentication no
RSAAuthentication no
UsePAM no

# Reduce LoginGraceTime to 60 seconds
LoginGraceTime 60

# Reduce MaxAuthTries to make manual bruteforcing more difficult
MaxSessions 4
# Enable random early drops for unauthenticated connections
MaxStartups 4:60:8

# Configure Logging
LogLevel INFO
SyslogFacility AUTH

# Empty Passwords are bad, mkay? Use Pubkeys for this.
PermitEmptyPasswords no

# Root Login via SSH is bad too.
# If you really want this, use "without-password" to enable root Login with Pubkey only.
PermitRootLogin no

# Change the SSH-Port to prevent a lot of automated Login Tries which clutter up your logfiles.
Port 4711

# Print the last Login.
PrintLastLog yes

# Only use the secure SSH-Protocol 2
Protocol 2

# Enable StrictMode
StrictModes yes

# Since I don't think X11 belongs to a server, there's no use for Forwarding.
X11Forwarding no

# Only use Ciphers and MACs which are declared safe by the German BSI
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256
MACs hmac-sha1,[email protected],hmac-ripemd160

# No we set up our loginuser "foo" which is the only user allowed to access the server.
Match User foo
        # We only want Public Key Authentication since it's the most secure way.
        PubKeyAuthentication yes

Die Datei kann natürlich gerne auf anderen Servern genutzt werden. :-)
Ich denke, dass diese config-Datei selbst erklärend ist. Falls ihr aber trotzdem noch Fragen habt, nur zu.

Advertisement