Configurare in Sicurezza un Web Server

Sicurezza web Server

Ormai è un fattore imperativo anche per i semplici gestori ed amministratori di web server: la sicurezza è essenziale anche per i servizi web non e non solo per i siti. No parliamo del protocollo HTTPS. Tale non è sinonimo di sicurezza nei servizi Web che gli ISP ci mettono a disposizione per amministrare in tranquillità un Web Server.

h ebbe più incidenza se tali porte fossero concesse a sorgenti di IP statici (magari per il controllo da remoto), in modo da poterne usufruire personalmente tagliando fuori chi non ne è autorizzato.

veirewall, l’agente per le nostre Web Applicatin 14ck-image”>WAF - Web Aoolication Firewall o con il Firewall di cui abbiamo parlato precedentemente, ma sono 2 cose distinte. Mentre IPTables (Firewall) agisce sui livelli più bassi del nostro Network, su più servizi configurati, il Web Application Firewall, applica dei filtri dedicati e pre-configurati unicamente sui servizi e porte di utilizzo Web, es. come HTTP e HTTPS, siti, Web Application ecc..

Mod Secure di Apache non è un WAF, e nemmeno un Reverse Proxy. Stesso un Proxy non è un WAF.

Ug>agisce sistematicamente sul traffico di layer Application (vedi TCP, ISO/OSI) cui è stato congegnato, affidandosi a regole e filtri ben precisi. Quindi per tutti i servizi associati al Web.

un WAF richiede un altissimo dispendio di risorse di memoria e di accesso al disco, molti servizi WAF sono resi disponibili esternamente da compagnie di terze parti.

Per nominarne due, le più utilizzate sono Wordfence, ottimizzato per servizi Web basati su WordPress. Integra autonomamente nel CMS un sistema di regole configurabili, a seconda delle sottoscrizioni, già attivi in WordPress, del tutto Free anche se senza alcun limite eccessivo, è disponibile in versione PRO più completo.

iog>sfruttare determinati Bug di sistema o 0-Day come li vogliamo chiamare, che possono minare la sicurezza dei nostri server. Per ovviare a questo, è bene tenere sempre aggiornato costantemente il Sistema Operativo.

e hetti, degli aggiornamenti ma soprattutto del traffico ci mette nelle condizioni ottimali per aumentare la sicurezza dei nostri server.

spdi facile apprendimento a chi necessita di amministrare e/o gestire dei Server Web Virtuali o dedicati che siano. Per qualsiasi domanda o chiarimento, lasciate un commento a questo articolo. Oppure postate nel Gruppo Facebook delicato ai “Sistemisti e Amministratori di Reti – Italiani“,qualsiasi critica costruttiva è ben accetta.

Abbiamo iniziato a testare l’ultima versione di Ubuntu 18.04. La prima cosa che abbiamo notato è stata la diversa gestione delle interfacce di rete. Il modo in cui Ubuntu gestisce le interfacce di rete è completamente cambiato.

Mai sentito parlare di NetPlan? Probabilmente no!
Netplan è una nuova utility di configurazione della rete a riga di comando introdotta in Ubuntu 17.10 per gestire e configurare facilmente le impostazioni di rete nei sistemi Ubuntu. Ti consente di configurare un’interfaccia di rete usando l’astrazione YAML. Funziona in combinazione con NetworkManager e i demoni di rete systemd-networkd (indicati come renderer, è possibile scegliere quale di questi utilizzare) come interfacce per il kernel.

Leggendo la configurazione di rete descritta in /etc/netplan/*.yaml, in questi tipi di file è possibile memorizzare le configurazioni per tutte le interfacce di rete.

In questo articolo, spiegheremo come configurare un indirizzo IP statico o dinamico di rete per un’interfaccia di rete in Ubuntu 18.04 usando l’utilità Netplan.

> e la completa differenza di scrittura e sintassi da mantenere rispetto alle configurazioni nei sistemi Ubuntu server precedenti allocate su /etc/network/interfaces:

rJSRAW” data-enlighter-language=”no-highlight” data-enlighter-linenumbers=”false”>auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.0.30 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 8.8.8.8 8.8.8.4 e YAML nella sua posizione ed uscite. Quindi applicare le recenti modifiche alla rete usando il seguente comando netplan.

rJSRAW” data-enlighter-language=”shell” data-enlighter-theme=”atomic” data-enlighter-linenumbers=”false”>$ sudo netplan apply ora una volta tutte le interfacce di rete disponibili, l’interfaccia ethernet ens33 ora dovrebbe essere connessa alla rete locale e avere un indirizzo IP come mostrato nella seguente schermata.

rJSRAW” data-enlighter-language=”shell” data-enlighter-theme=”atomic” data-enlighter-linenumbers=”false”>$ ifconfig -a > interfaccia ethernet ens33 e ricevere dinamicamente un indirizzo IP tramite servizio DHCP, utilizzare semplicemente la seguente configurazione:

rJSRAW” data-enlighter-language=”shell” data-enlighter-theme=”atomic”>network: version: 2 renderer: networkd ethernets: ens33: dhcp4: yes dhcp6: yes uscite. Quindi applicare le recenti modifiche alla rete e verificare l’indirizzo IP utilizzando i seguenti comandi.

rJSRAW” data-enlighter-language=”shell” data-enlighter-theme=”atomic”>$ sudo netplan apply $ ifconfig -a stema riceverà un indirizzo IP in modo dinamico da un router.

JSRAW” data-enlighter-language=”shell” data-enlighter-theme=”atomic” data-enlighter-linenumbers=”false”>$ man netplan condividetele con noi sui social tramite il modulo di commento qui sotto. Oppure dalla nostra Pagina Facebook o dal Gruppo ufficiale Sistemisti di reti Italiani.

el3>
[CORSO – CS01LWSA218]

Linux Web Server Administrator

Per chi ha esigenze di gestire web server a livello professionale. Ottima opportunità di competenza da applicare su contratti di management.

Iscriviti Dettaglio
[CORSO – CS08SDR01]

Sistemista di Reti

Dedicato a chi comincia o a chi vuole approfondire le proprie competenze in Networking. Rivolto a CED, Professionisti e appassionati.

IscrivitiDettaglio
 

Backup Incrementale Intelligente su base Linux

Backup!! Quante volte ne abbiamo avuto bisogno, per recuperare dati e magari anche file di sviluppo di applicazioni, database e quant’altro. Un questo piccolo prontuario vi illustrerò come ottenere un backup di files e directory, in modo intelligente, con l’ausilio del semplice comando Tar, in Linux.

Senza dover ricorrere all’aiuto di costosi e complessi sistemi di backup (cito Bacula) Linux, con qualsiasi distro, ci viene in contro nella sua semplicità e organizzazione dinamica dei files.

Ecco che cosa occorre per seguire questa guida:

L’uso dei comandi Linux: Tar e shell di Linux.
L’editing di testo: per la creazione dei file Bash shell Linux.
Un programma client SSH: io consiglio WinSCP, che contiene all’interno già un buon editor. Poi se preferite operare da Windows io lo integro con Notepad++ o da Mac con Editra.
Una versione aggiornata di: Webmin.
Un server Linux: io prediligo Ubuntu Server, ma qualunque distro è consona.
Una o più directory da backupare.

Quanti di noi Web-Dev o Webmaster, hanno avuto la necessità di eseguire il backup dei siti web, ed anche dei dati contenuti nei Database. Con questa guida potrete farlo.

1. Fase. Crare un file bash da eseguire dal nostro server.

Quindi andiamo nella nostra partizione di root del nostro server utilizzando WinSCP. Creiamo una directory chiamata “backup”con WinSCP è facile, basta usare il tasto destro del mouse per crearla. Creiamo quindi un nuovo file che chiameremo “bk_web.sh”, e WinSCP ci aprirà subito il nostro editor di testo. Ora proseguiamo con la scrittura del file.

Importante è scrivere in prima riga questo comando, che permetta al sistema di riconoscere l’estensione del file batch:

#!/bin/sh

Ora trascriviamo le variabili utili che ci interessano nello script.
Variabile dell’email a cui spedire il risultato del backup:

MIAMAIL='miaemail@miodominio.it'

Variabili d’ambiente, per definirne le sorgenti e destinazioni.
Directory di origine del presente file:

DIRSNAR='/root/backup'

Sorgente della directory da includere nel Backup:

SORGENTI='/var/www/'

Si è scelto di eseguire il backup dei siti internet, quindi
“/var/www/”
è la directory interessata.
La destinazione sarà il
Server NAS
montato sulla partizione locale del server web.

DESTINAZIONE='/mnt/nas/bkweb'

Formattazione delle date:

DATE_MAIL=$(date +"%d-%m-%Y")
TIME_MAIL=$(date +"%T")
DATE_FILE=$(date +"%d-%m-%Y-%H-%M-%S")

Il backup preferenziale da eseguire è un backup incrementale, cioè che esegue il backup solo dei file incrementali nel tempo, nella directory interessata. Questo sistema lo reputo poco utile se poi si deve gestire una mole di siti molto alta, che occuperebbero comunque molto spazio, rendendo macchinoso il ripristino. Quindi preferisco prima creare un backup completo datato dei files tar, ed infine cancellare periodicamente i files di backup ormai obsoleti. Il comando sarà successivamente schedulato per ogni avvio giornaliero, più avanti vedremo come.

Quindi questo sarà il comando per cancellare i files di backup tar, obsoleti di 6 giorni:

# Cancella i vecchi archivi presenti
find $DESTINAZIONE -type f -mtime +6 -name "bk-*.tgz" -exec rm -f {} \;

Ora posso procedere al comando di compressione Tar nativo di Linux per eseguire il backup:

# prepara il nuovo archivio, non esiste, incrementale
tar zcpvf $DESTINAZIONE/bk-$DATE_FILE.tgz $SORGENTI

Rimuovo il file di log se presente. La serie di questi comandi sono utili per avere un log del Backup da inviare all’emai definita precedentemente nelle variabili.

rm $DIRSNAR/avviso.log

Scrivo il log del Backup:

RIGA1="***************************\n"
RIGA2="*** NOTIFICA DI BACKUP  ***\n"
RIGA3="***************************\n"
RIGA4="\n"
RIGA5="Backup eseguito correttamente - $DATE_MAIL ore $TIME_MAIL\n"
RIGA6="\n"
RIGA7="Questo Backup ha creato un file incrementale nel server NAS.\n"
RIGA8="File creato: bk-$DATE_FILE.tgz\n"
RIGA9="Server di destinazione: $DESTINAZIONE/\n"
RIGA10="\n"
RIGA11="-------------------------------------------\n"
RIGA12="Powerwd by Andrea Patron - Email: andrea.patron@digitaldesign.it\n"
RIGA13="\n\n"

MAIL_BODY="$RIGA1$RIGA2$RIGA3$RIGA4$RIGA5$RIGA6$RIGA7$RIGA8$RIGA9$RIGA10$RIGA11$RIGA12$RIGA13"

echo $MAIL_BODY >> $DIRSNAR/avviso.log
# Invio email di segnalazione
mail -s "Notifica backup" $MIAMAIL < $DIRSNAR/avviso.log

Una volta terminata la scrittura del file, lo salviamo nella stessa posizione della directory di origine DIRSNAR.

2. Fase. Schedulare l’avvio del comando

Con questo sistema permettiamo di avviare il comando di Backup automatico, deciso da noi. Io ho optato per un avvio giornaliero. Per fare ciò esiste il Linux, e tutte le distro lo mantengono, si usa il demone Cron, che scrive effettivamente su una tabella di scheduling. Noi lo potremmo anche settare a mano da shell Linux, ma per convenienza opereremo con Webmin, il programma di gestione del server.

Quindi apriamo Webmin dal nostro Browser, dal menù accediamo alla sezione

Sistema > Pianificazione Cron Job

Nel campo Comando inseriamo la dicitura: “/root/backup/bk_web.sh ”
E configuriamo lo scheduler come noi vogliamo. Io l’ho impostato quotidianamente alle 2:00:00 di notte.

Potete salvare o volendo, eseguire subito il comando.
In questo modo otterrete un sistema automatizzato del Backup Intelligente.

Potete scaricare lo script Bash completo, direttamente da qui: File della guida bk-web.zip