Configurare ufw firewall linux

Configurare ufw firewall linux

Come configurare UFW Firewall Linux su Ubuntu. UFW è l’acronimo di Uncomplicated Firewall e consente di configurare un firewall su distro linux. E’ stato concepito per semplificare la configurazione delle regole iptables. Inizialmente era disponibile solo per Ubuntu e poi è stato reso disponibile per la maggior parte delle distribuzioni.Una delle funzionalità utili per chi lavora con ipv6 è il supporto nativo messo a disposizione da ufw.

Per installarlo basta semplicemente digitare il comando:

sudo apt-get install ufw

Il servizio viene installato in modalità disable.

Per vericare lo stato digitiamo:

sudo ufw status

Se non vogliamo digitare ogni volta la parola sudo possiamo digitare sudo -i  per attivare una sessione da super amministratore.

Prima di abilitare il firewall impostiamo le regole base. Vediamo alcuni comandi principali per aggiungere e rimuovere regole.

Non abilitare il firewall finchè le regole non sono state definite perchè di default ufw permettere tutto il traffico in uscita e blocca tutto il traffico in ingresso quindi se state lavoando per esempio su una vps in ssh la macchina non sarebbe più accessibile.

Per impostare la regola di accesso ssh basta digitare:

sudo ufw allow ssh/tcp     o    sudo ufw allow 22/tcp

Questa regola apre la porta 22 (dove ci possiamo collegare con client come putty o mRemoteNG o direttamente da shell). Se avete una connessione con ip statico e volete limitate le connessioni ssh solamente dal vostro ip il comando da digitare è:

sudo ufw allow from xxx.xxx.xxx.xxx to any port 22        (sostituire xxx.xxx.xxx.xxx con il vostro ip pubblico che potete reperire visitando siti come www.mioip.it per esempio). Se non viene specificata il protocollo tcp o udp verranno impostati per default entrambi.

Per abilitare la funzione di logging e monitorare le connessioni bloccate il comando è:

sudo ufw logging on

Possiamo ora abilitare il nostro firewall con il comando:

sudo ufw enable

Comparirà un messaggio che ci avviserà che tutte le sessioni correnti verranno disattivate, in caso la regola non sia impostata. Digitiamo yes e vediamo come consultare le regole impostate.

Per vedere tutte le regole impostate di ufw firewall digitiamo il comando:

sudo ufw status numbered

Otterremo la lista delle regole impostate con un indicatore numerico che identifica le stesse. Tutte le regole che abbiamo impostato saranno valide per ipv4 che per ipv6.

La lista delle regole con il loro identificativo ci consentirà di poter eliminare eventuali regole inserite erroneamente o non più utili. Per eliminare una regola digitiamo il comando:

ufw delete 5   (con questo comando si elimina la regola che ha per identificativo il 4)

Se abbiamo la necessità di disabilitare ufw firewall il comando da digitare è :

sudo ufw disable

Regole Avanzate

Vediamo come limitare le connessioni in entrata onde evitare attacchi brute force o ddos. Blocchiamo il traffico ICMP  in modo che la macchina non risponda al ping. Per farlo è necessario modificare il file in /etc/ufw/before.rule con il comando

sudo nano /etc/ufw/before.rule    (nano è l’editor che utilizzo io, se non è installato installarlo con il comando sudo apt-get install nano)

Individuare all’interno del file la riga #ok icmp codes e vedremo sotto 5 regole con ACCEPT per il servizio icmp. Modifichiamo ACCEPT in DROP, salviamo il file e applichiamo le modifiche con il comando

ufw disable && ufw enable

Se proviamo a fare una richiesta icmp da un altro computer appartenente ad un altra rete vedremo che la richiesta sarà scaduta.

Se volessimo bloccare la risposta icmp per ipv6 il file da modificare è /etc/ufw/before6.rule

Tornando alla nostra regola che abilitava la porta 22 possiamo applicare la funzione limiti di ufw che di default consente un massimo di 6 connessioni ongi 30 secondi da un singolo ip. Per applicare il limite digitiamo il comando

sudo ufw limit 22/tcp

Dopo 6 tentativi dallo stesso ip tutte le connessioni successive verranno droppate per 30 secondi. Con questa regola limite di base possiamo evitare tentativi malevoli.

Per limitare le connessioni alla porta 80 (web) dovremmo seguire questi step.

sudo ufw llow 80/tcp   (apre il traffico sulla porta 80)

sudo ufw limit 80/tcp   (limitiamo le richiesta come descritto sopra)

In caso di crawling tramite comando wget le prime sei connessioni risponderanno mentre le successive saranno negate.

Consultare i log di ufw firewall

Per consultare i log e vedere quelle che sta avvenendo dall’esterno verso la nostra rete possiamo digitare il comando dmesg o il comando tail -f /var&log/syslog.

Vedremo delle stringhe come questa

[UFW LIMIT BLOCK] IN=eth0 OUT= MAC=00:00:00:00:00:00 SRC=123.123.123.123 DST=456.456.456.46 LEN=60 TOS=0x00 TTL=64 ID=11111 DF PROTO=TCP SPT=11111 DPT=80 WINDOW=14600 RES=0x00 SYN URGP=0

SRC = Indirizzo IP bloccato

DST = IP del server su cui abbiamo abilitato ufw

PROTO = Protocollo utilizzato per la connessione

DPT = Porta di destinazione sulla quale IP SRC ha provato l’accesso.

Gli altri parametri sono riferiti ai contenuti del pacchetto.

Conclusioni

Se abbiamo bisogno di abiliate un firewall velocemente sulla nostra macchina locale o remota che sia UFW firewall ce lo permette con 4 semplici comandi procedura che con iptables sarebbe molto più lunga. Le regole di limit sono molto generiche quindi consiglio di utilizzarle temporaneamente o per server casalinghi. Per server di produzione ci sono altri servizi che vedremo molto più utili e performanti alla causa.

Se ti è servito l’aritcolo e ti è piaciuto lascia la tua mail per rimanere aggiornato e ricevere in anteprima i successivi articoli del settore. Condividi e metti mi piace su facebook.

Grazie e alla prossima.

 

Segui e metti un bel Mi Piace:
0
Monitorare server e macchine virtuali con Netdata

Monitorare server e macchine virtuali con Netdata

Vediamo come monitorare server….

breve premessa per chi mi ha scritto da un mese a questa parte.

Mi avete chiesto perché da un bel po’ non invio le news, attendete i primi di Marzo e lo scoprirete. Oltre che alla routine lavorativa sto collaborando ad un progetto del quale vi darò i dettagli a breve.

Vi anticipo che il blog sarà suddiviso in articoli con consigli per i meno esperti e articoli per i più esperti.

Oggi vi spiego come è possibile monitorare server e macchine virtuali tramite un utile interfaccia web.

Con netdata è possibile analizzare in tempo reale migliaia di metriche per server (cpu,ram, dischi, rete,firewall, qos, nfs, zfs, ecc.) e metriche per applicazioni come server web, di posta elettronica, dns server, ecc.)  Netdata mette a disposizione API e allarmi personalizzabili. Io per gli allarmi utilizzo il bot di Telegram.

Vediamo come si installa netdata su linux

Per installare netdata è necessario ovviamente avere accesso alla macchina come utente root.

Fare un bel update tramite il comando  ” apt-get update ”

Installare le dipendenze richieste:

  • sudo apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl

Installare i pacchetti consigliati che includono Python

  • sudo apt-get install python python-yaml python-mysqldb python-psycopg2 nodejs lm-sensors netcat

Clonare il repository github

  • git clone https://github.com/firehol/netdata.git –depth=1 ~/netdata

ed entrare nella directory con:

cd netdata

Al’interno della cartella con un bel comando ls possiamo vedere che è disponibile un installer sh che possiamo eseguire per portare a termine l’installazione

eseguire quindi da shell ./netdata-installer.sh

Ci verrà presentata la lista con tutte le cartelle dove verrà installato netdata. Volendo potremmo modificare la cartella d’installazione.

Premendo Enter l’installazione verrà portata a termine e potremmo vedere puntando l’ip pubblico della nostra macchina l’interfaccia con i dati in real time.

Netdata utilizza la porta 19999 quindi è necessario aprire questa porta dall’esterno magari limitandone la visione al solo vostro ip.

Altro step importante è la configurazione della quantità di RAM che vogliamo dedicare a netdata o per quanto tempo vogliamo  mantenere i dati del grafico.

Per fare questo editiamo il file /etc/netdata/netdata.conf

  • 3600 secondi (1 ora di conservazione dei dati del grafico) utilizza 15 MB di RAM
  • 7200 secondi (2 ore di conservazione dei dati del grafico) utilizza 30 MB di RAM
  • 14400 secondi (4 ore di conservazione dei dati del grafico) utilizzano 60 MB di RAM
  • 28800 secondi (8 ore di conservazione dei dati del grafico) utilizzano 120 MB di RAM
  • 43200 secondi (12 ore di conservazione dei dati del grafico) utilizzano 180 MB di RAM
  • 86400 secondi (24 ore di conservazione dei dati del grafico) utilizzano 360 MB di RAM

In base alle caratteristiche del vostro server e le risorse disponibili dovrete settare queste informazioni.

Le modifiche al sistema di notifica si apportano editando health_alarm_notify.conf che troverete nella cartella /etc/netdata se avete eseguito l’installazione standard.

Per i server che utilizzo io ho configurato il sistema di notifica Telegram tramite id_bot e devo dire che funziona a meraviglia. Se ti servono consigli sulla configurazione non esitare a scrivermi.

Ci aggiorniamo presto. News bomba in arrivo. Ciao!!

Segui e metti un bel Mi Piace:
0
ssh tunnel, come creare un tunnel con putty

ssh tunnel, come creare un tunnel con putty

ssh tunnel per avere un accesso sicuro…

Cosa è un ssh tunnel? 

SSH sta per Secure Shell (shell sicura) ed è un protocollo che permette di creare una sessione remota sicura tramite un’interfaccia a riga di comando o tramite interfaccia con software come putty.

A cosa serve?

Per proteggere la privacy nostra e quella dei nostri clienti ed avere un accesso all’interno della rete di destinazione aggirando eventuali regole di routing restrittive. Possiamo infatti tramite la gestione del tunnel abilitare l’accesso ad altri apparati della rete di destinazione incapsulando il proprio traffico FTP,HTTP ecc.

Cosa server per stabilire un ssh tunnel?

SERVER

Per stabilire il tunnel è necessario che lato server ci sia una macchina con sistema operativo linux,solaris,freeBDS con il modulo SSH server attivo. Il più utilizzato è Open SSH. Se utilizziamo una VPS il server SSH sicuramente è già attivo per l’accesso remoto.

Per chi ha Windows è possibile installare freeSSHd in versione gratuita. freeSSHd è molto facile da installare e configurare. Logicamente il server o la macchina che riceve la connessione deve essere raggiungibile dall’esterno tramite la porta 22.

CLIENT

Per le macchine Linux utilizzare openssh-client, per Windows utilizzare Putty (con interfaccia grafica).

La schermata che si presenta quando apriamo putty.

Molto semplice e intuitiva.

Il client putty può essere utilizzato anche per conessioni Telnet, Seriali e RLogin e Raw. La porta 22 è la porta di default utilizzata dal servizio. Volendo potremmo personalizzare lato server questo numero di porta.

Ammettendo di avere già tutto il sistema server pronto alla ricezione della sessione passiamo a vedere come creare il tunnel.

Se la rete di destinazione fosse di questa tipologia 192.168.1.x / 24  , con ssh server instalato sull’ip 192.168.1.10 e su questa rete ci fosse un servizio web HTTP installato su una macchina 192.168.1.20 questo è quello che dovremmo fare per raggiungere l’interfaccia. (come detto precedentemente è necessario che la porta 22 del server ssh sia raggiungibile dall’esterno, consiglio di aprirla solamente dal proprio IP e non da tutti)

Apriamo putty, inseriamo l’host di destinazione e spostiamoci nella sezione SSH -> Tunnel

tunnel-ssh

Inseriamo una nostra porta libera nel source port (la nostra porta). Io utilizzo solitamente le porte che vanno dalla 8080 alla 8090. In questo esempio ho utilizzato la 8081.

Nel campo destination mettiamo l’ip locale della rete remota che dobbiamo raggiungere seguito dai due punti e il numero della porta sulla quale è attivo il servizio.

Nell’esempio l’ip da raggiungere è 192.168.1.20 e la porta è la 80. Vedi l’immagine

ssh tunnel

 

Giunti a questo punto clicchiamo su Add e apriamo la connessione. Per comodità possiamo portarci sul menu principale e salvare i dati di connessione.

Inseriamo i dati di login da utente root per l’accesso SSH e apriamo il nostro browser. Come per magia visitando l’indirizzo http://localhost:8081 visualizzeremo la pagina web del servizio installato sulla macchina di destinazione.

DOVE TROVARE QUELLO CHE CI SERVE

www.putty.org (download putty)

www.freesshd.com ( Downdlo di Freesshd per windows)

www.openssh.com – Sito ufficiale di Open SSH (server e client)

 

Ti è servito questo articolo ? Hai mai voluto/dovuto usare il tunneling ssh ? Lascia un commento , e se ti è stato utile condividi l’articolo, grazie

VMware Converter macchine virtuali. Come convertire…

Partenza! Come utilizzare vmware converter per convertire macchine fisiche in macchine virtuali. Iniziamo con vmware converter ... Ormai di virtualizzazione sentiamo parlare tutti i giorni. Molte aziende hanno già virtualizzato mentre molte altre ancora...

ssh tunnel, come creare un tunnel con putty

ssh tunnel per avere un accesso sicuro... Cosa è un ssh tunnel?  SSH sta per Secure Shell (shell sicura) ed è un protocollo che permette di creare una sessione remota sicura tramite un'interfaccia a riga di comando o tramite interfaccia con software come...

Monitorare server e macchine virtuali con Netdata

Vediamo come monitorare server.... breve premessa per chi mi ha scritto da un mese a questa parte. Mi avete chiesto perché da un bel po' non invio le news, attendete i primi di Marzo e lo scoprirete. Oltre che alla routine lavorativa sto collaborando ad un...
Segui e metti un bel Mi Piace:
0
VMware Converter macchine virtuali. Come convertire…

VMware Converter macchine virtuali. Come convertire…

Partenza! Come utilizzare vmware converter per convertire macchine fisiche in macchine virtuali. Iniziamo con vmware converter …

Ormai di virtualizzazione sentiamo parlare tutti i giorni. Molte aziende hanno già virtualizzato mentre molte altre ancora lavorano su sistemi fisici. Alcuni non conoscono ancora il beneficio della virtualizzazione e alcuni preferiscono non virtualizzare per via dell’investimento da sostenere. Ho scritto questo pest come linea guida per VMware converter?

Torniamo a noi.

Cosa vuol dire virtualizzare una macchina?

Virtualizzare una macchina con vmware converter significa clonare un pc/server per poterlo poi eseguire tramite un player come fosse la traccia di un mp3.

Vediamo come convertire.

Scarichiamo VMware converter standalone dal sito ufficiale di vmware. Link per il download, serve un account (qui)

Se avete già un account inserite i dati di login altrimenti create un nuovo account. VMware richiede obbligatoriamente un account per il download dei propri prodotti. Per ogni prodotto che sia free o a pagamento verrà assegnato un codice licenza.

vmware login

Download VMware converter

Mentre sto scrivendo il post la versione di VMware converter è giunta alla 6.1.1 e il file di setup è di 173.95 MB

download vmware converter

Eseguire l’installazione cliccando su Next fino alla pagina delle condizioni dove dovremmo spostare il check sull’accettazione e cliccare nuovamente su Next e ancora una volta su Next. Arriveremo al primo bivio dell’installazione.

Local Installation o Client/Server ?

Installazione locale o installazione client/server? Questo è quello che ci viene proposto di scegliere.

Qual’è la differenza?

  1. Con l’installazione locale tutto il software verrà installato sul proprio PC nel percorso predefinito o impostato dall’utente.
  2. Con l’installazione client/server (per utenti esperti) potremmo decidere quali servizi installare e dove installarli.

vmware-standalone-client-server

Procediamo con l’installazione più semplice e veloce.

Selezioniamo quella Locale  e andiamo avanti fino al termine dell’installazione. Riporto le immagini sotto.

wmware-converter-install-5 wmware-converter-install-6 wmware-converter-install-7

 

Conversione della macchina fisica in macchina virtuale

Ecco come si presenta il programma VMware Converter alla prima apertura (vmware converter macchine virtuali).

vmware converter inizio

Iniziamo a convertire la nostra prima macchina.

Virtualizziamo !

Clicchiamo sul Menu File -> New -> Convert Machine

vmware converter local machine

 

In questo caso scegliamo di convertire la stessa macchina dove abbiamo installato il software di conversione ma potremmo anche decidere di virtualizzare una macchina remota Windows o una macchina remota Linux (ci verrebbero chiesti i dati d’accesso con livello amministratore per la virtualizzazione).

Selezionando Local Machine e cliccando su Next, VM Converter ci chiederà i dati del server VMware dove salvare la macchina virtuale.

Nel caso il nostro server VMware ESXI o di versione superiore sia già pronto inseriamo come host l’ip della macchina server e i relativi dati d’accesso root.

Nel caso il nostro server non sia pronto possiamo selezionare VMware Workstation o altra macchina virtuale per poter poi eseguire la virtualizzazione tramite il player.

login vmware esxi

Immaginiamo di non avere un’infrastruttura pronta ma di voler virtualizzare la macchina quindi come nell’immagine selezioniamo la seconda opzione “VMware Workstation or other WMware virtual machine“. Impostiamo il nome della macchina virtuale (PORTATILE nel mio caso) e selezioniamo la destinazione dei file VMDK che verranno generati.

vmplayer converter

Nel passaggio successivo è necessario controllare e correggere eventuali warning o errori di configurazione della macchina. Una volta sistemati facciamo click su next e ci verrà riproposto il Riepilogo delle configurazioni.

A questo punto è tutto ok e possiamo convertire. Al termine della conversione troveremo nella destinazione i nostri file VMDK che potremmo eseguire tramite il VMware Player e successivamente spostare all’interno,volendo,spostare nell’infrastruttura.

controllare configurazione macchina virtuale

 

Conclusioni

La virtualizzazione richiede nozioni tecniche abbastanza avanzate soprattutto quando è necessario eseguirla per aziende con infrastrutture complesse. E’ obbligatorio tecnicamente parlando, prima di procedere, avere in mente e mettere su carta tutta la struttura di rete con i relativi ruoli di ogni macchina.

Se siete alle prime armi provate prima sulla vostra pelle. Sperimentare è la cosa migliore. Quando sarete sicuri di quello che fate allora potrete applicarlo ad altre realtà.

Personalmente eseguo virtualizzazioni nel week end quando le aziende sono chiuse. Se le aziende non chiudono perché hanno un ciclo di produzione continuo chiedo almeno una notte dove i sistemi non vengano utilizzati. Alcune virtualizzazioni le eseguo con dei miei colleghi di zona. Prepariamo l’infrastruttura, lanciamo i processi di virtualizzazione di notte e la mattina se tutto è andato a buon fine avviamo e allineiamo le configurazioni delle macchine virtuali.

Tenete sempre come scorta il backup della macchina fisica e una copia della macchina virtualizzata.

Prossimamente vi spiegherò come e cosa utilizzare per fare i backup a caldo delle macchine virtuali.

 

Spero che queste linee guida ti siano state d’aiuto e non potendo toccare nel dettaglio tutti i particolari ti chiedo di condividere l’articolo se l’hai trovato interessante e se non vuoi perderti altri consigli sulla virtualizzazione come il backup ecc lascia la tua mail e ti avviserò all’uscita del prossimo post

Se ti serve qualche informazione o hai dei dubbi commenta l’articolo e ti risponderò al più presto.

Vritualmente Ciao!

Configurare ufw firewall linux

Come configurare UFW Firewall Linux su Ubuntu. UFW è l'acronimo di Uncomplicated Firewall e consente di configurare un firewall su distro linux. E' stato concepito per semplificare la configurazione delle regole iptables. Inizialmente era disponibile solo...

Monitorare server e macchine virtuali con Netdata

Vediamo come monitorare server.... breve premessa per chi mi ha scritto da un mese a questa parte. Mi avete chiesto perché da un bel po' non invio le news, attendete i primi di Marzo e lo scoprirete. Oltre che alla routine lavorativa sto collaborando ad un...

Opzioni avanzate per i bordi Divi Builder

Bordi Divi Builder.....era ora! Per chi, come me, utilizza Divi Builder per impaginare e gestire i contenuti nei propri siti wordpress consiglio di aggiornare Divi Builder alla versione 2.0.49 perchè, finalmente, sono state introdotte delle opzioni...

Come velocizzare cellulare Android

Ciao! Spesso devo far fronte a richieste di sistemazione del cellulare di dipendenti. Cellulari che risultano essere lenti per qualche motivo....... ho scritto questo articolo "come velocizzare cellulare android" per mettere in condizione, chi vuole, a...

ssh tunnel, come creare un tunnel con putty

ssh tunnel per avere un accesso sicuro... Cosa è un ssh tunnel?  SSH sta per Secure Shell (shell sicura) ed è un protocollo che permette di creare una sessione remota sicura tramite un'interfaccia a riga di comando o tramite interfaccia con software come...

MAC – Recuperare libreria iPhoto da Time Machine

....recuperare libreria iphoto? Ti sipego come fare... Ad un mio amico hanno rubato l' iMac ma per fortuna il disco sul quale eseguiva il backup non è stato rubato, era necessario recuperare la libreria iphoto. Lasciando perdere le modalità con il quale è...
Segui e metti un bel Mi Piace:
0