Blog Image

Linux funkar!

Skapa krypterad partition med filsystem

Tips och tricks Posted on Tue, February 04, 2020 22:57:18

Skapa partitionen som ska krypteras (/dev/sda2 i detta exempel)

Använd Gparted, cfdisk, fdisk eller liknande.

Kryptera partitionen /dev/sda2

cryptsetup luksFormat /dev/sda2

WARNING!

This will overwrite data on /dev/sda2 irrevocably.

Are you sure? (Type uppercase yes): YES
(Ange valfritt lösenord)
Enter passphrase:
Verify passphrase:

Avkryptera partitionen och mappa mot valfri tagg (exempelvis encrypted)

cryptsetup open /dev/sda2 encrypted
(Skriv samma lösenord som angavs tidigare)
Enter passphrase for /dev/sda2:

Skapa ett filsystem på partitionen

mkfs.ext4 /dev/mapper/encrypted

mke2fs 1.43.4 (31-Jan-2017)
Creating filesystem with 9883648 4k blocks and 2473984 inodes
Filesystem UUID: c6629598-4f80-4435-9732-7118562ef7d3
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624

Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done

Montera filsystemet (på valfritt ställe, exempelvis /mnt)

cryptsetup –type luks open /dev/sda2 encrypted
mount -t ext4 /dev/mapper/encrypted /mnt

root@devuan:~# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/encrypted 37G 49M 35G 1% /mnt

Avmontera filsystemet

umount /mnt
cryptsetup close encrypted

Referenser

https://gitlab.com/cryptsetup/cryptsetup/

https://www.cyberciti.biz/hardware/howto-linux-hard-disk-encryption-with-luks-cryptsetup-command/

https://linuxconfig.org/basic-guide-to-encrypting-linux-partitions-with-luks



Automatisk SSH-inloggning

Tips och tricks Posted on Fri, May 17, 2019 21:36:47

Automatisk SSH-inloggning med kryptonycklar istället för lösenord

Referenser:

https://www.ssh.com/ssh/
https://www.ssh.com/ssh/keygen
http://www.rebol.com/docs/ssh-auto-login.html
https://www.benhup.com/freebsd/openssh-configuration-with-elliptic-curve
https://www.techrepublic.com/article/how-to-easily-add-an-ssh-fingerprint-to-your-knownhosts-file-in-linux/

Vad behövs:

Ett kryptonyckelpar (med en publik nyckel och en privat nyckel) för varje klient som vill ansluta mot servern (SSH-server).
Den publika nyckeln läggs på servern och den privata används av klienten för att logga in på servern.

1. Skapa nyckelparet (inloggad på servern som den användare som ska ansluta från klienten):

På servern:

Nycklarna skapas som default i katalogen ~/.ssh

cd ~/.ssh
ssh-keygen -t ed25519

Tryck retur vid varje prompt. Ange en passphrase om du vill kryptera den privata nyckeln för ökad säkerhet.

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/maup/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/maup/.ssh/id_ed25519.
Your public key has been saved in /home/maup/.ssh/id_ed25519.pub.

2. Konfigurera servern att använda den publika nyckeln (id_ed25519.pub):

På servern:

cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys

Ändra filrättigheter så att filen authorized_keys inte är läsbar för andra.

chmod 600 ~/.ssh/authorized_keys

Observera >> som lägger till nyckeln i slutet av filen authorized_keys som kan innehålla flera publika nycklar.

3. Kopiera den privata nyckeln (id_ed25519) till klienten:

På klienten:

cp /media/MyUSB/id_ed25519 ~/.ssh/

Ändra filrättigheter så att den inte är läsbar för andra.

chmod 600 ~/.ssh/id_ed25519

4. Konfigurera klienten så att den privata nyckeln kopplas ihop med servern som har den publika nyckeln.

På klienten (byt ut “some.server.or.ip.com” mot serverns namn eller IP):

echo “Host myserver” >> ~/.ssh/config
echo “Hostname some.server.or.ip.com” >> ~/.ssh/config
echo “IdentityFile ~/.ssh/id_ed25519” >> ~/.ssh/config

5. Lägg in serverns host-fingerprint i klientens ~/.ssh/known_hosts för att vara säker på att det är rätt server som klienten ansluter mot.

På klienten (byt ut “some.server.or.ip.com” mot serverns namn eller IP):

ssh-keyscan -H some.server.or.ip.com >> ~/.ssh/known_hosts

(för paranoida) Jämför innehållet i ~/.ssh/known_hosts med *.pub-filerna i /etc/ssh på servern:

ls /etc/ssh/*.pub
/etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ed25519_key.pub /etc/ssh/ssh_host_rsa_key.pub

6. Testa

På klienten:

ssh myserver



Säker VNC

Tips och tricks Posted on Sun, February 24, 2019 21:53:47

Det är mycket viktigt att tänka på säkerheten vid användning av VNC. Nedan visas några exempel där säkerheten utgörs av SSH med port forward, TLS-kryptering och lösenordsskydd av VNC-anslutningen och att det endast är tillåtet att ansluta mot vncservern från localhost (endast interna anslutningar tillåtna).

Anslut från dator A (myclient.net) till skrivbord på dator B (myserver.net)

A (VNC-klient) -> B (VNC-server)

1. Starta ett skrivbord (:1 anger skrivbordets nummer) på dator B för användaren “vncuser”.

Porten som ska användas för att ansluta mot skrivbordet blir implicit 5900+skrivbordsnummer=5901.

su – vncuser -c ‘tigervncserver :1 -SecurityTypes=TLSVnc -localhost=yes’

2. Anslut med SSH och gör “port forward” för att koppla port 5901 på dator B till lokal port 20000 på dator A.

Kan göras som valfri användare.

ssh myserver.net -f -N -o Compression=yes -L 20000:localhost:5901

3. Anslut med VncViewer via tunneln

xtigervncviewer localhost:20000 -SecurityTypes=TLSVnc

Omvänd “port forward” (reverse tunneling) kan användas för VNC-anslutning från dator A till dator B om det inte är tillåtet med inkommande anslutningar mot dator B

A (SSH-server) <- B (SSH-klient)

A (VNC-klient) -> B (VNC-server) (via reverse-tunnel)

1. Starta ett skrivbord (:1 anger skrivbordets nummer) på dator B för användaren “vncuser”.

Porten som ska användas för att ansluta mot skrivbordet blir implicit 5900+nummer=5901.

su – vncuser -c ‘tigervncserver :1 -SecurityTypes=TLSVnc -localhost=yes’

2. Anslut med SSH och gör “reverse tunneling” till datorn som kör vncservern genom att göra en SSH-anslutning från B till A.

Kan göras som valfri användare.

ssh -f -N -o Compression=yes -R 20000:localhost:5901 myclient.net

3. Anslut med VncViewer på A via reverse-tunneln mot B

xtigervncviewer -SecurityTypes=TLSVnc localhost:20000

Lista aktiva vncservrar

Lista startade vncservrar för användaren vncuser.

su – vncuser -c ‘tigervncserver -list’