Aggiunti argomenti ufw e cryptsetup
This commit is contained in:
parent
991697797e
commit
bdb80ba10d
4 changed files with 192 additions and 1 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
allievi
|
||||||
|
|
4
assets/tmux/journalctl.conf
Normal file
4
assets/tmux/journalctl.conf
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
splitw -h
|
||||||
|
send-keys "journalctl -f -u sshd" Enter
|
||||||
|
selectp -t 0
|
||||||
|
|
|
@ -701,7 +701,10 @@ Ecco alcuni esempi di come utilizzare `OnCalendar`:
|
||||||
```ini
|
```ini
|
||||||
OnCalendar=*-01-01 00:00:00
|
OnCalendar=*-01-01 00:00:00
|
||||||
```
|
```
|
||||||
- Puoi anche combinare questi campi per specificare eventi più precisi. Ad esempio, per eseguire un evento ogni mercoledì alle 17:48:00, puoi usare:
|
- Puoi anche combinare questi campi per specificare eventi più
|
||||||
|
precisi. Ad esempio, per eseguire un evento ogni mercoledì alle
|
||||||
|
17:48:00, puoi usare:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
OnCalendar=Wed *-*-* 17:48:00
|
OnCalendar=Wed *-*-* 17:48:00
|
||||||
```
|
```
|
||||||
|
@ -884,3 +887,185 @@ anche se il PC è spento al momento previsto per il backup [1].
|
||||||
- [13] https://blog.devgenius.io/devops-in-linux-systemd-timer-4e95f57b6d71
|
- [13] https://blog.devgenius.io/devops-in-linux-systemd-timer-4e95f57b6d71
|
||||||
- [14] https://dashdash.io/5/systemd.timer
|
- [14] https://dashdash.io/5/systemd.timer
|
||||||
- [15] https://techviewleo.com/configuring-cron-jobs-in-linux-using-systemd-timers/
|
- [15] https://techviewleo.com/configuring-cron-jobs-in-linux-using-systemd-timers/
|
||||||
|
|
||||||
|
# Linux hardening
|
||||||
|
|
||||||
|
Il "Linux Hardening" è un processo fondamentale per migliorare la
|
||||||
|
sicurezza dei sistemi Linux, riducendo la superficie di attacco e
|
||||||
|
limitando i danni che possono essere causati da attacchi
|
||||||
|
informatici. Questo processo coinvolge l'ottimizzazione della
|
||||||
|
configurazione del sistema per operazioni sicure e la protezione dei
|
||||||
|
dati, seguendo tre regole principali: rimuovere funzionalità non
|
||||||
|
necessarie, applicare patch e aggiornamenti tempestivamente e
|
||||||
|
mantenere impostazioni di configurazione sicure [2].
|
||||||
|
|
||||||
|
Linux Hardening è essenziale perché i sistemi Linux, specialmente
|
||||||
|
quelli preinstallati, spesso vengono forniti con configurazioni
|
||||||
|
predefinite che potrebbero non essere ottimizzate per la
|
||||||
|
sicurezza. Questo include credenziali predefinite, configurazioni non
|
||||||
|
ottimizzate e software non aggiornato, che rappresentano potenziali
|
||||||
|
punti di ingresso per gli attaccanti [3].
|
||||||
|
|
||||||
|
Il processo di hardening richiede un'attenta considerazione delle
|
||||||
|
componenti del sistema, comprese le impostazioni di sicurezza
|
||||||
|
specifiche per ciascuna, e l'implementazione di misure proattive per
|
||||||
|
prevenire attività malevole. Questo può includere l'uso di benchmark
|
||||||
|
dell'industria, come quelli forniti dal Center for Internet Security
|
||||||
|
(CIS) e dal Security Technical Implementation Guide (STIG), per
|
||||||
|
guidare le configurazioni sicure [1][2].
|
||||||
|
|
||||||
|
## Riferimenti
|
||||||
|
|
||||||
|
- [1] https://github.com/trimstray/the-practical-linux-hardening-guide#:~:text=Simply%20speaking%2C%20hardening%20is%20the,suspicious%20activity%20in%20the%20future.
|
||||||
|
- [2] https://www.netwrix.com/linux_hardening_security_best_practices.html
|
||||||
|
- [3] https://cleverism.com/linux-hardening-how-its-done/
|
||||||
|
- [4] https://ubuntu.com/blog/what-is-system-hardening-definition-and-best-practices
|
||||||
|
- [5] https://mattiazignale.medium.com/introduction-to-linux-security-hardening-635af8e6e885
|
||||||
|
- [6] https://intezer.com/blog/cloud-security/top-10-linux-server-hardening-and-security-best-practices/
|
||||||
|
- [7] https://dev.to/terceranexus6/introduction-to-linux-hardening-5aj1
|
||||||
|
- [8] https://tuxcare.com/blog/linux-system-hardening-top-10-security-tips/
|
||||||
|
- [9] https://www.pluralsight.com/blog/it-ops/linux-hardening-secure-server-checklist
|
||||||
|
- [10] https://documentation.sas.com/doc/en/bimtag/9.4/p0xodkl4216thhn1g935xtu06bl2.htm
|
||||||
|
|
||||||
|
## Crittografia dei dischi
|
||||||
|
|
||||||
|
Il comando `cryptsetup` è uno strumento utilizzato per gestire la
|
||||||
|
crittografia dei dischi in Linux. Si utilizza principalmente per la
|
||||||
|
creazione, la gestione e l'accesso a volumi crittografati, come quelli
|
||||||
|
creati con LUKS (Linux Unified Key Setup). Questo strumento è
|
||||||
|
fondamentale per l'implementazione della crittografia a livello di
|
||||||
|
disco, consentendo agli utenti di proteggere i dati sensibili
|
||||||
|
memorizzati sui loro dispositivi di archiviazione.
|
||||||
|
|
||||||
|
Ecco alcuni esempi di utilizzo del comando `cryptsetup`:
|
||||||
|
|
||||||
|
1. **Creazione di un volume crittografato LUKS**: ```bash sudo
|
||||||
|
cryptsetup luksFormat /dev/sdX ``` Questo comando inizializza un
|
||||||
|
volume crittografato LUKS sul dispositivo specificato
|
||||||
|
(`/dev/sdX`). Dopo l'esecuzione, verrà richiesta una passphrase che
|
||||||
|
sarà necessaria per accedere al volume crittografato.
|
||||||
|
|
||||||
|
2. **Apertura di un volume crittografato LUKS**: ```bash sudo
|
||||||
|
cryptsetup luksOpen /dev/sdX my_encrypted_volume ``` Questo comando
|
||||||
|
apre il volume crittografato LUKS e lo rende accessibile tramite un
|
||||||
|
nome di dispositivo mappato, in questo caso
|
||||||
|
`my_encrypted_volume`. Dopo l'apertura, verrà richiesta la
|
||||||
|
passphrase precedentemente impostata.
|
||||||
|
|
||||||
|
3. **Chiusura di un volume crittografato LUKS**: ```bash sudo
|
||||||
|
cryptsetup luksClose my_encrypted_volume ``` Questo comando chiude
|
||||||
|
il volume crittografato LUKS, rendendolo non più accessibile.
|
||||||
|
|
||||||
|
4. **Decrittografia di un disco crittografato LUKS**:
|
||||||
|
```bash
|
||||||
|
sudo cryptsetup luksOpen /dev/sdX tmpData
|
||||||
|
sudo mount /dev/mapper/tmpData /mnt
|
||||||
|
```
|
||||||
|
Questo esempio mostra come decrittografare un disco crittografato LUKS e montarlo in un punto di montaggio specificato (`/mnt`). Dopo aver terminato l'uso del disco, è possibile smontarlo e chiudere il volume crittografato con i seguenti comandi:
|
||||||
|
```bash
|
||||||
|
sudo umount /mnt
|
||||||
|
sudo cryptsetup luksClose tmpData
|
||||||
|
```
|
||||||
|
|
||||||
|
Il comando `cryptsetup` è uno strumento potente e versatile che offre
|
||||||
|
una vasta gamma di opzioni per la gestione della crittografia dei
|
||||||
|
dischi in Linux. È particolarmente utile per chi desidera proteggere i
|
||||||
|
dati sensibili memorizzati sui propri dispositivi di archiviazione,
|
||||||
|
garantendo che siano accessibili solo a chi conosce la passphrase
|
||||||
|
corretta.
|
||||||
|
|
||||||
|
### Riferimenti
|
||||||
|
|
||||||
|
- [1] https://stackoverflow.com/questions/22617725/cryptsetup-offline-attack-with-list-of-known-keys-possible
|
||||||
|
- [2] https://askubuntu.com/questions/316486/problems-with-cryptsetup-during-update
|
||||||
|
- [3] https://www.reddit.com/r/pop_os/comments/n7qsqb/how_to_fix_cryptsetup_waiting_for_encrypted/
|
||||||
|
- [4] https://unix.stackexchange.com/questions/399620/how-to-decrypt-a-hard-drive-with-luks-encryption
|
||||||
|
- [5] https://oldforum.puppylinux.com/viewtopic.php?t=117274
|
||||||
|
- [6] https://forum.openwrt.org/t/cryptsetup-block-info-problem/70161
|
||||||
|
- [7] https://superuser.com/questions/431820/how-to-change-pass-phrase-of-full-disk-encryption
|
||||||
|
- [8] https://xo.tc/full-disk-encryption-on-linux.html
|
||||||
|
- [9] https://wiki.archlinux.org/title/Dm-crypt/Device_encryption
|
||||||
|
|
||||||
|
## Uncomplicated firewall (`ufw`)
|
||||||
|
|
||||||
|
UFW (Uncomplicated Firewall) è uno strumento di configurazione del
|
||||||
|
firewall che funziona sopra `iptables`. Fornisce un'interfaccia
|
||||||
|
semplificata per configurare casi d'uso comuni del firewall tramite la
|
||||||
|
riga di comando. UFW è progettato per rendere la configurazione del
|
||||||
|
firewall più semplice e intuitiva, rendendolo adatto anche per utenti
|
||||||
|
meno esperti.
|
||||||
|
|
||||||
|
### Come configurare un firewall con UFW
|
||||||
|
|
||||||
|
1. **Installazione di UFW**:
|
||||||
|
- Su Arch Linux, UFW può essere installato con il comando:
|
||||||
|
```bash
|
||||||
|
sudo pacman -S ufw
|
||||||
|
```
|
||||||
|
- Dopo l'installazione, è necessario avviare e abilitare il
|
||||||
|
servizio UFW: ```bash sudo systemctl start ufw sudo systemctl
|
||||||
|
enable ufw ``` Questo passaggio è particolarmente importante su
|
||||||
|
Arch Linux, dove UFW non viene avviato automaticamente [2].
|
||||||
|
|
||||||
|
2. **Abilitazione di UFW**:
|
||||||
|
- Per abilitare UFW e applicare le regole del firewall, esegui:
|
||||||
|
```bash
|
||||||
|
sudo ufw enable
|
||||||
|
```
|
||||||
|
- Se stai connettendoti tramite SSH, assicurati di consentire
|
||||||
|
l'accesso alla porta SSH (di solito la porta 22) per evitare di
|
||||||
|
bloccarti fuori dal server [4].
|
||||||
|
|
||||||
|
3. **Configurazione delle regole di default**:
|
||||||
|
- UFW blocca tutte le connessioni in entrata e consente tutte le connessioni in uscita di default. Puoi modificare queste regole di default con:
|
||||||
|
```bash
|
||||||
|
sudo ufw default deny incoming
|
||||||
|
sudo ufw default allow outgoing
|
||||||
|
```
|
||||||
|
- Questo significa che chiunque tenti di raggiungere il tuo server
|
||||||
|
non sarà in grado di connettersi, mentre qualsiasi applicazione
|
||||||
|
all'interno del server sarà in grado di connettersi esternamente
|
||||||
|
[4].
|
||||||
|
|
||||||
|
4. **Aggiunta di regole specifiche**:
|
||||||
|
- Puoi consentire o bloccare servizi specifici per porta, interfaccia di rete e indirizzo IP sorgente. Ad esempio, per consentire l'accesso SSH (porta 22) da qualsiasi luogo, usa:
|
||||||
|
```bash
|
||||||
|
sudo ufw allow 22
|
||||||
|
```
|
||||||
|
- Per bloccare l'accesso a una porta specifica, ad esempio la porta 80, usa:
|
||||||
|
```bash
|
||||||
|
sudo ufw deny 80
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **Verifica dello stato di UFW**:
|
||||||
|
- Per vedere quali regole sono attualmente bloccate o consentite, puoi usare il parametro `verbose` con `ufw status`:
|
||||||
|
```bash
|
||||||
|
sudo ufw status verbose
|
||||||
|
```
|
||||||
|
|
||||||
|
6. **Disabilitazione di UFW**:
|
||||||
|
- Se per qualche motivo devi disabilitare UFW, puoi farlo con il comando:
|
||||||
|
```bash
|
||||||
|
sudo ufw disable
|
||||||
|
```
|
||||||
|
- Questo comando disabiliterà completamente il servizio del firewall sul tuo sistema [1].
|
||||||
|
|
||||||
|
UFW è uno strumento potente che può migliorare notevolmente la
|
||||||
|
sicurezza dei tuoi server quando configurato correttamente. La maggior
|
||||||
|
parte dei comandi in questa guida può essere adattata per adattarsi a
|
||||||
|
diversi casi d'uso e scenari, modificando parametri come l'indirizzo
|
||||||
|
IP sorgente e/o la porta di destinazione [1].
|
||||||
|
|
||||||
|
### Riferimenti
|
||||||
|
|
||||||
|
- [1] https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands
|
||||||
|
- [2] https://www.linode.com/docs/guides/configure-firewall-with-ufw/
|
||||||
|
- [3] https://www.youtube.com/watch?v=XtRXm4FFK7Q
|
||||||
|
- [4] https://www.digitalocean.com/community/tutorials/how-to-setup-a-firewall-with-ufw-on-an-ubuntu-and-debian-cloud-server
|
||||||
|
- [5] https://www.cloud.it/tutorial/come-installare-e-configurare-ufw-firewall-su-ubuntu-18-04.aspx
|
||||||
|
- [6] https://www.cherryservers.com/blog/how-to-configure-ubuntu-firewall-with-ufw
|
||||||
|
- [7] https://www.zenarmor.com/docs/network-security-tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu
|
||||||
|
- [8] https://gmadv.it/it/sistemi-operativi/come-installare-e-configurare-ufw-su-ubuntu-20-04/
|
||||||
|
- [9] https://ioflood.com/blog/ufw-linux-command/
|
||||||
|
- [10] https://phoenixnap.com/kb/configure-firewall-with-ufw-on-ubuntu
|
||||||
|
- [11] https://wiki.archlinux.org/title/Uncomplicated_Firewall
|
||||||
|
|
Binary file not shown.
Loading…
Reference in a new issue