diff --git a/docs/gemstones/git/feature_branch_workflow.it.md b/docs/gemstones/git/feature_branch_workflow.it.md
new file mode 100644
index 0000000000..b8571ff62e
--- /dev/null
+++ b/docs/gemstones/git/feature_branch_workflow.it.md
@@ -0,0 +1,86 @@
+---
+title: Flusso di lavoro Feature Branch in Git
+author: Wale Soyinka
+contributors: null
+tags:
+ - git
+ - Feature Branch Workflow
+ - GitHub
+ - gh
+ - git fetch
+ - git add
+ - git pull
+ - git checkout
+ - null
+---
+
+## Flusso di lavoro Feature Branch
+
+Questo popolare flusso di lavoro git prevede la creazione di nuovi rami per ogni nuova funzionalità o correzione direttamente nel repository principale.
+Di solito viene utilizzato in progetti in cui i collaboratori hanno accesso diretto al repository in modalità push.
+
+Questa Gemma illustra il processo di creazione di un repository locale per lavorare e contribuire al progetto `rocky-linux/documentation` usando il flusso di lavoro Git Feature Branch.
+
+L'utente "rockstar" ha effettuato il fork di questo repository e useremo `https://github.com/rockstar/documentation` come origine.
+
+## Prerequisiti
+
+- Un account GitHub e un fork del progetto (ad esempio, `https://github.com/rockstar/documentation`).
+- `git` e `GitHub CLI (gh)` installati.
+
+## Procedura
+
+1. Se non è stato ancora fatto, clonare il vostro fork:
+ ```bash
+ git clone https://github.com/rockstar/documentation.git
+ cd documentation
+ ```
+2. Aggiungere l'upstream remoto:
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
+3. Recuperare le modifiche a monte:
+ ```bash
+ git fetch upstream
+ ```
+4. Creare una nuova Feature Branch:
+ ```bash
+ git checkout -b feature-branch-name
+ ```
+5. Apportare le modifiche, aggiungere nuovi file e fare il commit:
+
+ ```bash
+ git add .
+ git commit -m "Implementing feature X"
+ ```
+6. Tenete aggiornata il vostro Ramo. Unire regolarmente le modifiche provenienti dall'upstream per evitare conflitti:
+ ```bash
+ git pull upstream main --rebase
+ ```
+7. Spingere verso il vostro fork, digitare:
+ ```bash
+ git push origin feature-branch-name
+ ```
+8. Creare una Pull Request:
+ ```bash
+ gh pr create --base main --head rockstar:feature-branch-name --title "New Feature X" --body "Long Description of the feature"
+ ```
+
+## Conclusione
+
+Il flusso di lavoro Feature Branch è una tecnica di collaborazione comune, che consente ai team di lavorare contemporaneamente su vari aspetti di un progetto mantenendo stabile la base di codice principale.
+
+Le fasi di alto livello coinvolte sono:
+
+1. Clonare il repository principale: Clonare direttamente il repository principale del progetto sul computer locale.
+2. Creare una Feature Branch: Per ogni nuova attività, creare un nuovo ramo dal ramo principale con un nome descrittivo.
+3. Inviare le modifiche: Lavorare sulla funzionalità o sulla correzione nel proprio ramo e inviare le modifiche.
+4. Mantenere il ramo aggiornato: Eseguire regolarmente il merge o il rebase con il ramo principale per rimanere aggiornati con le sue modifiche.
+5. Aprire una Pull Request: Una volta che la vostra funzionalità è pronta, spingere il ramo nel repository principale e aprite un PR per la revisione.
+6. Revisione e integrazione del codice: Dopo la revisione e l'approvazione, il ramo viene unito al ramo principale.
+
+_Benefici_:
+
+- Semplifica i contributi per i collaboratori regolari con accesso diretto al repository.
+- Assicura che ogni risorsa venga esaminata prima di essere integrata nel codice principale.
+- Aiuta a mantenere una cronologia dei progetti pulita e lineare.
diff --git a/docs/guides/security/firewalld-beginners.it.md b/docs/guides/security/firewalld-beginners.it.md
index 1cc7f9c412..a1e4326cd7 100644
--- a/docs/guides/security/firewalld-beginners.it.md
+++ b/docs/guides/security/firewalld-beginners.it.md
@@ -25,7 +25,7 @@ Si noti che questa *non* vuole essere una guida completa o esaustiva sul firewal
### Una nota sull'uso della riga di comando per la gestione del firewall
-Beh... ci *sono* le opzioni di configurazione grafica del firewall. Sul desktop, c'è `firewall-config` che può essere installato dai repo, mentre sui server si può [installare Cockpit](https://linoxide.com/install-cockpit-on-almalinux-or-rocky-linux/) per gestire i firewall e un sacco di altre cose. **Tuttavia, in questo tutorial vi insegnerò il modo di procedere da riga di comando per un paio di motivi:**
+Beh... ci *sono* le opzioni di configurazione grafica del firewall. Sul desktop, c'è `firewall-config` che può essere installato dai repo, mentre sui server si può [installare Cockpit](https://wiki.crowncloud.net/?How_to_enable_Cockpit_Server_Manager_in_Rocky_Linux_9) per gestire i firewall e tante altre cose ancora. **Tuttavia, in questo tutorial vi insegnerò il modo di procedere da riga di comando per un paio di motivi:**
1. Se state gestendo un server, userete comunque la riga di comando per la maggior parte di queste cose. Molti tutorial e guide per il server Rocky forniranno istruzioni a riga di comando per la gestione del firewall, e dovreste comprendere tali istruzioni piuttosto che copiare e incollare qualsiasi cosa vediate.
2. Capire come funzionano i comandi `firewalld` potrebbe aiutarvi a capire meglio come funziona il software del firewall. Se in futuro deciderete di utilizzare un'interfaccia grafica, potrete applicare gli stessi principi appresi qui e comprendere meglio ciò che state facendo.
diff --git a/docs/guides/security/learning_selinux.it.md b/docs/guides/security/learning_selinux.it.md
index 2d898e9201..ca24cd3938 100644
--- a/docs/guides/security/learning_selinux.it.md
+++ b/docs/guides/security/learning_selinux.it.md
@@ -263,7 +263,7 @@ sudo reboot
Attenzione al cambiamento della modalità SELinux!
-In modalità permissiva o disabilitata, i nuovi file creati non avranno alcuna etichetta.
+In modalità disabilitata, i file appena creati non avranno alcuna etichetta.
Per riattivare SELinux, dovrai riposizionare le etichette sull'intero sistema.
diff --git a/docs/guides/security/tailscale_vpn.it.md b/docs/guides/security/tailscale_vpn.it.md
new file mode 100644
index 0000000000..8dcc94c52a
--- /dev/null
+++ b/docs/guides/security/tailscale_vpn.it.md
@@ -0,0 +1,80 @@
+---
+title: Tailscale VPN
+author: Neel Chauhan
+contributors: Steven Spencer, Franco Colussi
+tested_with: 9.3
+tags:
+ - security
+ - VPN
+---
+
+# Tailscale VPN
+
+## Introduzione
+
+[Tailscale](https://tailscale.com/) è una VPN peer-to-peer a configurazione zero, con crittografia end-to-end, basata su Wireguard. Tailscale supporta tutti i principali sistemi operativi desktop e mobili.
+
+Rispetto ad altre soluzioni VPN, Tailscale non richiede porte TCP/IP aperte e può funzionare dietro al Network Address Translation o ad un firewall.
+
+## Prerequisiti e presupposti
+
+I requisiti minimi per l'utilizzo di questa procedura sono i seguenti:
+
+- La possibilità di eseguire comandi come utente root o di utilizzare `sudo` per elevare i privilegi
+- Un account Tailscale
+
+## Installare Tailscale
+
+Per installare Tailscale, è necessario aggiungere il repository `dnf` (nota: se si utilizza Rocky Linux 8.x, sostituire con 8):
+
+```bash
+dnf config-manager --add-repo https://pkgs.tailscale.com/stable/rhel/9/tailscale.repo
+```
+
+Quindi, installare Tailscale:
+
+```bash
+dnf install tailscale
+```
+
+## Configurare Tailscale
+
+Una volta installati i pacchetti, è necessario abilitare e configurare Tailscale. Per abilitare il daemon Tailscale:
+
+```bash
+systemctl enable --now tailscaled
+```
+
+Successivamente, ci si autenticherà con Tailscale:
+
+```bash
+tailscale up
+```
+
+Si otterrà un URL per l'autenticazione. Visitatelo in un browser e accedete a Tailscale:
+
+
+
+Successivamente, si concederà l'accesso al server. Cliccare su **Connect** per farlo:
+
+
+
+Una volta autorizzato l'accesso, verrà visualizzata una finestra di dialogo di successo:
+
+
+
+Una volta che il vostro server è stato autenticato con Tailscale, otterrà un indirizzo IPv4 Tailscale:
+
+```bash
+tailscale ip -4
+```
+
+Inoltre, otterrà un indirizzo IPv6 RFC 4193 (Unique Local Address) di Tailscale:
+
+```bash
+tailscale ip -6
+```
+
+## Conclusione
+
+I servizi VPN tradizionali che utilizzano un gateway VPN sono centralizzati. Ciò richiede una configurazione manuale, l'impostazione del firewall e l'assegnazione di account utente. Tailscale risolve questo problema grazie al suo modello peer-to-peer combinato con un controllo degli accessi a livello di rete.
diff --git a/docs/guides/web/apache-sites-enabled.it.md b/docs/guides/web/apache-sites-enabled.it.md
index 995e09bb28..d6d6b2e1ba 100644
--- a/docs/guides/web/apache-sites-enabled.it.md
+++ b/docs/guides/web/apache-sites-enabled.it.md
@@ -31,13 +31,14 @@ Fatto storico: questa configurazione del server sembra essere nata con sistemi b
Per chi è alla ricerca di una configurazione simile per Nginx, si consiglia di [consultare questa guida](nginx-multisite.md).
## Installare Apache
+
Probabilmente avrete bisogno di altri pacchetti per il vostro sito web, come PHP, database o altri pacchetti. Installando PHP insieme ad `http` si otterrà la versione più recente dai repository Rocky Linux.
Si ricordi che potrebbero essere necessari dei moduli, come `php-bcmath` o `php-mysqlind`. Le specifiche della vostra applicazione web determineranno ciò di cui avete bisogno. È possibile installarli quando necessario. Per il momento, installerete `http` e PHP, poiché sono quasi scontati:
Dalla riga di comando eseguire:
-```
+```bash
dnf install httpd php
```
@@ -47,7 +48,7 @@ Questo metodo utilizza un paio di directory aggiuntive, che attualmente non esis
Dalla riga di comando inserire:
-```
+```bash
mkdir -p /etc/httpd/sites-available /etc/httpd/sites-enabled
```
@@ -59,13 +60,13 @@ In questo modo verranno create entrambe le directory necessarie.
È inoltre necessario aggiungere una riga in fondo al file `httpd.conf.` A tal fine, inserire:
-```
+```bash
vi /etc/httpd/conf/httpd.conf
```
e andare in fondo al file e aggiungere:
-```
+```bash
Include /etc/httpd/sites-enabled
```
@@ -89,7 +90,7 @@ Lo si può esaminare di seguito nella sezione [Configurazione `https` con un cer
È necessario creare questo file di configurazione in *sites-available*:
-```
+```bash
vi /etc/httpd/sites-available/com.wiki.www
```
@@ -124,7 +125,7 @@ Una volta creato, è necessario scriverlo (salvarlo) con ++shift+:+wq++.
Nell'esempio, il caricamento del sito wiki avviene dalla sottodirectory "html" di _your-server-hostname_, il che significa che il percorso creato in _/var/www_ (sopra) avrà bisogno di alcune directory aggiuntive per soddisfare questa esigenza:
-```
+```bash
mkdir -p /var/www/sub-domains/your-server-hostname/html
```
@@ -132,13 +133,13 @@ Questo crea l'intero percorso con un solo comando. Successivamente, è necessari
Copiare i file nel percorso creato:
-```
+```bash
cp -Rf wiki_source/* /var/www/sub-domains/your-server-hostname/html/
```
## Configurazione `https` con un certificato SSL/TLS
-Come già detto, ogni server Web creato al giorno d'oggi _dovrebbe_ funzionare con SSL/TLS (secure socket layer).
+Come detto in precedenza, ogni server Web creato al giorno d'oggi *dovrebbe* funzionare con SSL/TLS (il secure socket layer).
Questo processo inizia con la generazione di una chiave privata e di un CSR (certificate signing request) e l'invio del CSR all'autorità di certificazione per l'acquisto del certificato SSL/TLS. Il processo di generazione di queste chiavi è piuttosto lungo.
@@ -148,15 +149,15 @@ Se non si ha familiarità con la generazione di chiavi SSL/TLS, esaminare: [Gene
### Posizionamento delle chiavi e dei certificati SSL/TLS
-Dal momento che si dispone dei file delle chiavi e dei certificati, è necessario posizionarli logicamente nel file system del server web. Come si è visto con il file di configurazione di esempio, i file web si trovano in _/var/www/sub-domains/your-server-hostname/html_.
+Dal momento che si dispone dei file delle chiavi e dei certificati, è necessario posizionarli logicamente nel file system del server web. Come si è visto con il file di configurazione di esempio, i file web si trovano in `/var/www/sub-domains/your-server-hostname/html`.
-Si desidera collocare i file del certificato e della chiave nel dominio, ma al di fuori della radice del documento, che in questo caso è la cartella _html_.
+È opportuno collocare i file del certificato e della chiave nel dominio, ma al di fuori della radice del documento, che in questo caso è la cartella *html*.
Non si vuole mai rischiare di esporre i propri certificati e le proprie chiavi al web. Sarebbe una brutta cosa!
Si creerà invece una struttura di directory per i file SSL/TLS, al di fuori della radice del documento:
-```
+```bash
mkdir -p /var/www/sub-domains/your-server-hostname/ssl/{ssl.key,ssl.crt,ssl.csr}`
```
@@ -166,9 +167,9 @@ Se non si conosce la sintassi "ad albero" per creare le directory, ciò che si d
Una nota in anticipo: La memorizzazione del file CSR (Certificate Signature Request) nella struttura non è necessaria, ma semplifica alcune cose. Se si ha la necessità di riemettere il certificato da un altro fornitore, è bene avere una copia memorizzata del CSR. La domanda diventa dove memorizzarlo in modo da ricordarlo, e memorizzarlo all'interno dell'albero del vostro sito web è logico.
-Assumendo che i file key, csr e crt (certificati) siano stati denominati con il nome del sito e che siano memorizzati in _/root_, li copieremo nella loro posizione:
+Assumendo che i file key, csr e crt (certificati) siano stati denominati con il nome del sito e che siano memorizzati in */root*, li copieremo nella loro posizione:
-```
+```bash
cp /root/com.wiki.www.key /var/www/sub-domains/your-server-hostname/ssl/ssl.key/
cp /root/com.wiki.www.csr /var/www/sub-domains/your-server-hostname/ssl/ssl.csr/
cp /root/com.wiki.www.crt /var/www/sub-domains/your-server-hostname/ssl/ssl.crt/
@@ -182,7 +183,6 @@ Per cominciare, scomponete l'inizio del file di configurazione. Per esempio, anc
Si vuole che vadano sulla porta 443 (o`"http` secure", meglio nota come SSL/TLS o `https`). La sezione di configurazione della porta 80 sarà minima:
-
```apache
ServerName your-server-hostname
@@ -254,11 +254,10 @@ Ricordate che il nostro file *httpd.conf* include */etc/httpd/sites-enabled* all
Questo è stato progettato in modo da poter rimuovere le cose quando o se `httpd` non si riavvia. Per abilitare il nostro file di configurazione, è necessario creare un collegamento simbolico a tale file in *sites-enabled* e avviare o riavviare il servizio web. Per farlo, si utilizza questo comando:
-```
+```bash
ln -s /etc/httpd/sites-available/your-server-hostname /etc/httpd/sites-enabled/
```
-
Questo creerà il collegamento al file di configurazione in *sites-enabled*.
Ora basta avviare `httpd` con `systemctl start httpd`. Oppure riavviatelo se è già in funzione: `systemctl restart httpd` e, supponendo che il servizio web si riavvii, potete andare a fare dei test sul vostro sito.
diff --git a/docs/guides/web/apache_hardened_webserver/modsecurity.it.md b/docs/guides/web/apache_hardened_webserver/modsecurity.it.md
index 2dc24e24b5..59f3e5e56a 100644
--- a/docs/guides/web/apache_hardened_webserver/modsecurity.it.md
+++ b/docs/guides/web/apache_hardened_webserver/modsecurity.it.md
@@ -36,7 +36,7 @@ Una cosa che manca a `mod_security` quando viene installato dai repository gener
Per installare il pacchetto base, utilizzate questo comando. Installerà tutte le dipendenze mancanti. È necessario anche `wget`, se non è installato:
-```
+```bash
dnf install mod_security wget
```
@@ -54,40 +54,42 @@ dnf install mod_security wget
4. Sul vostro server, andate nella directory di configurazione di Apache:
- ```
+ ```bash
cd /etc/httpd/conf
```
5. Inserite `wget` e incollate il vostro link. Esempio:
- ```
+ ```bash
wget https://github.com/coreruleset/coreruleset/archive/refs/tags/v3.3.5.tar.gz
```
6. Decomprimere il file:
- ```
+ ```bash
tar xzvf v3.3.5.tar.gz
```
+
Questo crea una directory con le informazioni di rilascio nel nome. Esempio: "coreruleset-3.3.5"
7. Creare un collegamento simbolico chiamato "crs" che rimanda alla directory della release. Esempio:
- ```
+ ```bash
ln -s coreruleset-3.3.5/ /etc/httpd/conf/crs
```
8. Rimuovere il file `tar.gz`. Esempio:
- ```
+ ```bash
rm -f v3.3.5.tar.gz
```
9. Copiare la configurazione temporanea in modo che venga caricata all'avvio:
- ```
+ ```bash
cp crs/crs-setup.conf.example crs/crs-setup.conf
```
+
Questo file è modificabile, ma probabilmente non sarà necessario apportare alcuna modifica.
Le regole di `mod_security` sono ora in vigore.
@@ -98,12 +100,13 @@ Una volta definite le regole, il passo successivo consiste nel configurarle in m
`mod_security` ha già un file di configurazione che si trova in `/etc/httpd/conf.d/mod_security.conf`. È necessario modificare questo file per includere le regole OWASP. Per farlo, modificare il file di configurazione:
-```
+```bash
vi /etc/httpd/conf.d/mod_security.conf
```
+
Aggiungere il seguente contenuto subito prima del tag finale`(
yes
admin1@youremaildomain.com
@@ -108,7 +108,7 @@ La sezione `` attualmente mostra localhost, tuttavia è possibile s
Le sezioni `` si occupano dell'IP localhost del server e dell'indirizzo IP "pubblico" (ricordate la nostra sostituzione di un indirizzo IP privato) del firewall, dal quale verranno visualizzate tutte le connessioni sulla rete fidata. È possibile aggiungere molte voci di ``.
-```
+```bash
86400
@@ -122,7 +122,7 @@ La sezione ``, appena sotto la sezione ``, è un ulteriore
La modifica della `` per l'esecuzione di `` a una volta ogni 24 ore (86400 secondi) rispetto all'impostazione predefinita di 22 ore è una modifica opzionale indicata.
-```
+```bash
apache
/var/log/httpd/*access_log
@@ -137,7 +137,7 @@ La sezione `` riguarda la posizione dei log che si desidera osservare
È necessario aggiungere le posizioni dei log di Apache e aggiungerle come wild card, perché si potrebbe avere una serie di log per molti clienti web diversi.
-```
+```bash
firewalld-drop
firewall-drop.sh
@@ -157,7 +157,7 @@ Lo script "firewall-drop" esiste già nel percorso `ossec-hids`. Indica a `ossec
Attivare e avviare il servizio una volta completate tutte le modifiche alla configurazione. Se tutto si avvia correttamente, si è pronti a proseguire:
-```
+```bash
systemctl enable ossec-hids
systemctl start ossec-hids
```
diff --git a/docs/guides/web/apache_hardened_webserver/rkhunter.it.md b/docs/guides/web/apache_hardened_webserver/rkhunter.it.md
index 13c44b7b42..8cf0944cd9 100644
--- a/docs/guides/web/apache_hardened_webserver/rkhunter.it.md
+++ b/docs/guides/web/apache_hardened_webserver/rkhunter.it.md
@@ -15,6 +15,8 @@ tags:
Rootkit hunter (`rkhunter`) è uno strumento ben noto per verificare vulnerabilità, rootkit, backdoor e possibili exploit locali su un server. È possibile utilizzarlo su _qualsiasi_ server utilizzato per _qualsiasi_ scopo. Se messo a punto e automatizzato, può segnalare qualsiasi attività sospetta all'amministratore del sistema. Questa procedura illustra l'installazione, la messa a punto e l'uso di rootkit hunter.
+`rkhunter` è solo una delle possibili parti di una configurazione di un server protetto. Utilizzatelo da solo o con altri strumenti per massimizzare la sicurezza.
+
## Prerequisiti
* Conoscenza di un editor a riga di comando (in questo esempio si usa `vi` )
@@ -24,14 +26,6 @@ Rootkit hunter (`rkhunter`) è uno strumento ben noto per verificare vulnerabili
Questo documento è stato originariamente scritto in combinazione con le routine del server web hardened apache, ma funziona ugualmente bene su un server che esegue qualsiasi software.
-## Introduzione
-
-`rkhunter` (Root Kit Hunter) è uno strumento basato su Unix che esegue la scansione di rootkit, backdoor e possibili exploit locali. Si tratta di una buona parte di un server protetto, in grado di avvisare rapidamente l'amministratore quando si verifica qualcosa di sospetto nel file system del server, a condizione che sia configurato correttamente.
-
-`rkhunter` è solo una delle possibili parti di una configurazione di server web Apache protetta. Utilizzatelo da solo o con altri strumenti per massimizzare la sicurezza. Se si desidera utilizzare questo insieme ad altri strumenti per l'hardening, fare riferimento alla [guida Apache Hardened Web Server](index.md).
-
-Questo documento utilizza anche tutti i presupposti e le convenzioni delineati nel documento originale. È buona norma rivederlo prima di continuare.
-
## Fasi generali
1. installare `rkhunter`
@@ -44,13 +38,13 @@ Questo documento utilizza anche tutti i presupposti e le convenzioni delineati n
`rkhunter` richiede il repository EPEL (Extra Packages for Enterprise Linux). Installare il repository se non è già installato:
-```
+```bash
dnf install epel-release
```
Installare `rkhunter`:
-```
+```bash
dnf install rkhunter
```
@@ -62,16 +56,15 @@ Le uniche opzioni di configurazione _necessarie_ da impostare sono quelle relati
La modifica di _qualsiasi_ file di configurazione in Linux comporta dei rischi. Prima di modificare **qualsiasi** file di configurazione in Linux, si raccomanda di creare un backup del file _originale_.
-
Per modificare il file di configurazione, eseguire:
-```
+```bash
vi /etc/rkhunter.conf
```
Cerca:
-```
+```bash
#MAIL-ON-WARNING=me@mydomain root@mydomain
```
@@ -81,8 +74,7 @@ Cambiare `root@mydomain` in `root@whatever_the_server_name_is`.
Probabilmente si vorrà anche rimuovere il commento (e modificare la riga per adattarla alle proprie esigenze) dalla riga `MAIL-CMD`:
-
-```
+```bash
MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"
```
@@ -96,7 +88,7 @@ Eseguire manualmente `rkhunter` digitandolo dalla riga di comando. Un cron job s
Se si desidera testare `rkhunter` prima di iniziare, comprese tutte le funzionalità di posta elettronica, eseguire `rkhunter --check` dalla riga di comando. Se l'installazione e il funzionamento sono corretti, si dovrebbe ricevere un risultato simile al seguente:
-```
+```bash
[root@sol admin]# rkhunter --check
[Rootkit Hunter version 1.4.6]
@@ -252,7 +244,7 @@ Performing file properties checks
Se ci sono problemi con l'impostazione dell'e-mail, non completate i passaggi restanti. Quando l'e-mail di conferma funziona, ma prima di consentire l'esecuzione automatica di `rkhunter`, eseguire nuovamente il comando manualmente con il flag "--propupd" per creare il file `rkhunter.dat.` Ciò garantisce il riconoscimento dell'ambiente e della configurazione:
-```
+```bash
rkhunter --propupd
```