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: + +![Schermata d'accesso di Tailscale](../images/tailscale_1.png) + +Successivamente, si concederà l'accesso al server. Cliccare su **Connect** per farlo: + +![Finestra di dialogo per la concessione dell'accesso a Tailscale](../images/tailscale_2.png) + +Una volta autorizzato l'accesso, verrà visualizzata una finestra di dialogo di successo: + +![Finestra di dialogo di accesso a Tailscale](../images/tailscale_3.png) + +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 ```