Network

Ubiquiti controller WiFi – nuvola WiFi

La diffusione delle reti WiFi è sempre più estesa e sempre più vengono richieste prestazioni e stabilità di copertura. Un brand che offre access point di alta qualità e la controller software è Ubiquiti. Ubiquiti offre la controller software free license, non dipende da quanti apparati dovrà gestire.

In questo articolo è possibile seguire l’installazione della controller software Ubiquiti in ambiente Linux Debian su VMWare ESXi.

ISO del sistema operativo Linux Debian 8.6.0 64bit: http://cdimage.debian.org/debian-cd/8.6.0/amd64/iso-cd/debian-8.6.0-amd64-netinst.iso
DEB per installazione software controller Ubiquiti: http://dl.ubnt.com/unifi/5.2.9/unifi_sysvinit_all.deb

Step 1 – installazione sistema operativo Debian 8.6.0 64bit in ambiente VMWare

Comandi utilizzati durante lo step 1
# apt-get install open-vm-tools
# nano /etc/ssh/sshd_config

PermitRootLogin yes

Step 2 – installazione e configurazione controller Ubiquiti WiFi

Comandi utilizzati durante lo step 2
# nano /etc/network/interfaces

# iface eth0 inet dhcp
iface eth0 inet static
address 10.0.0.25
netmask 255.255.255.0
network 10.0.0.0
gateway 10.0.0.1
dns-search abconsulting.local
dns-nameservers 10.0.0.1
broadcast 10.0.0.255

# wget http://dl.ubnt.com/unifi/5.2.9/unifi_sysvinit_all.deb
# dpkg -i unifi_sysvinit_all.deb
# apt-get install -f

VMWare e licenze ROK (brand HP, DELL)

Le licenze MS Windows possono essere acquistate godendo dello sconto del brand (ad es: HP o DELL) solo se queste vengono installate su hardware dedicato. Il controllo di queste licenze (che avviene durante l’installazione) può trovare impedimenti se l’ambiente è virtualizzato. In questo caso la licenza non trova le specifiche hardware a cui è legata.

Il risultato è il blocco dell’installazione.

Failed Bios Lock when installing Windows 2012 ROK on VMware

In ambiente VMWare è possibile trasferire in modo trasparente le informazioni BIOS dell’hardware al sistema operativo guest impostando il parametro

smbios.ReflectHost = TRUE

Di seguito le schermate per impostare correttamente il parametro nella VM.

vmproperties

aggiungere la riga seguente nella lista parametri:

VMware issue

CentOS 5/6/7 – installazione PHP > 5.3 – es: php 5.4

Per installare PHP successiva alla versione proposta dal sistema (repository di default) CentOS, si devono abilitare nuovi repository. Di seguito le versioni CentOS e i relativi comandi YUM.

CentOS / RHEL 7.x

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

CentOS / RHEL 6.x

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

CentOS / RHEL 5.x

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm

Eseguendo il comando di seguito si possono verificare le nuove versioni di PHP installabili sul proprio sistema CentOS/RHEL.

yum search php

VPN site-to-site dietro router, NAT e firewall: quando non vi sono i requisiti standard

La realizzazione delle VPN site to site richiedono requisiti strutturali ben precisi per realizzare connessioni fra uffici stabili e prestanti. Ci si trova in situazioni dove non è possibile avere:

  • pool di IP pubblici statici
  • configurazione dell’ip pubblico sulla interfaccia WAN del proprio device di rete (normalmente firewall)
  • router in gestione autonoma

Questo articolo propone una soluzione di VPN site-to-site basata sul protocollo PPTP di Microsoft.

Rete A – 192.168.0.0 / 24 (sede centrale)

Rete B – 192.168.10.0/24 (sede remota, ad es: magazzino)

Diagramma di rete.

vpn-pptp

Composizione della rete A.

Server Windows: 192.168.0.100 / 255.255.255.0, gateway 192.168.0.254
Firewall: LAN 192.168.0.254 / 255.255.255.255.0 – WAN 192.168.1.254 /255.255.255.0 – GW 192.168.1.1
Router operatore: LAN 192.168.1.1 – WAN: IP-Pubblico-Rete-A (assegnato dall’operatore)

vpn-pptp-A

Composizione della rete B.

Linux PPTP-client-gateway: 192.168.10.254 / 255.255.255.0, gateway 192.168.10.1
Router operatore: LAN 192.168.10.1 – WAN: IP-Pubblico-Rete-B (assegnato dall’operatore)

vpn-pptp-B

Configurazione apparati della rete A.

Le parti che necessitano configurazioni sono il Server Windows e il firewall. L’installazione da svolgere sul server windows riguarda l’attivazione del ruolo di “Servizio di accesso e criteri di rete” e la relativa configurazione VPN (è necessario avere un servizio DHCP attivo e limitare il numero di connessioni lato VPN per non saturare il range DHCP).

ruolo

Nella definizione dell’utente per la connession VPN (in esempio “magazzinovpn”) va definita correttamente la proprietà “chiamate in ingresso”

account

e va inoltre definita la parte “Assegna inidirizzi IP statici”

indirizzo-ip-statico

definendo così (ad es: 192.168.0.20) l’ip che avrà la connessione con utente “magazzinovpn” e che rappresenterà il gateway della rete-A verso la rete-B.

Lato firewall vanno definite le regole di port-forwarding verso il server windows (192.168.0.100) delle porte TCP/1723 e GRE/47 (è probabile che il la porta GRE/47, quella responsabile del tunnel VPN non si definibile perché implicitamente già aperta). Lato firewall va definita una route statica dove si indica che tutte le sorgenti LAN (rete-A: 192.168.0.0/24) che hanno come destinazione la rete magazzino (rete-B: 192.168.10.0/24) il next-hop è il 192.168.0.20. Il router dell’operatore deve “girare” tutte le richieste da “Internet” sull’ip del firewall 192.168.1.254.

IMPORTANTE. Ora serve un’ultima definizione di routing: le destinazioni che devono raggiungere la rete-B (192.168.10.0/24) devono attraversare il tunnel VPN. Questa definizione deve essere scritta all’interno del server windows (è il sistema operativo che ha in gestione il tunnel VPN). Inoltre questa definizione deve essere attivata tutte le volte che viene accessa la VPN. In caso di caduta di linea la VPN cade, la route viene eliminata dal sistema operativo e quando la connettività riprende la VPN si ristabilisce e con sè si deve ristabilire anche la route statica di attraversamento tunnel.

Per realizzare questo meccanismo creiamo un file di script all’interno di c:\scripts e lo chiamiamo routevpn.cmd e al suo interno le seguenti righe:

route add 192.168.10.0 mask 255.255.255.0 192.168.0.20

Per “far scattare” questo meccanismo tutte le volte che il tunnel VPN si attiva, utilizziamo la tecnica delle schedulazioni Microsoft basate su evento. L’evento di attivazione tunnel VPN è nel registro di “Sistema” con event-ID=20274.

pianificazioneavvio-script

Configurazioni apparati della rete B.

Sulle sedi remote, nell’esempio “magazzino”, viene richiesta una macchina Linux con una interfaccia di rete. La configurazione che si andrà a predisporre è molto “leggera” e non richiede nessun intervento da parte dell’operatore. Nell’architettura VPN site-to-site routing, deve comunque essere rispettata la regola di non sovrapposizione di rete: i due segmenti di rete sono disgiunti, proprio come nel nostro esempio.

Il PC Linux deve avere come ruoli il routing, client PPTP e gateway principale della rete. Indico i pacchetti di “rito” da installare da una versione Linux CentOS 6.8 minimal e il pacchetto necessario per eseguire la funzione di PPTP client:

yum install -y nano telnet wget lynx bind-utils crontabs.noarch ntpdate dnsmasq sysstat nc sudo screen system-config-network-tui.noarch setuptool system-config-firewall-tui.noarch setup.noarch
yum install nano wget lynx telnet bind-utils
yum install dnsmasq
yum install -y compat-libstdc++-33 compat-glibc glibc-common glibc glibc-headers glibc-devel glibc-static glibc-utils
yum groupinstall “Development Tools”
yum install pptp

Una volta installato il software si passa alle parti di configurazione. In elenco files e relativa configurazione.

SELINUX

[root@gw ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted – Targeted processes are protected,
# mls – Multi Level Security protection.
SELINUXTYPE=targeted

SYSCTL.CONF

[root@gw ~]# cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
#
# Use ‘/sbin/sysctl -a’ to list all possible parameters.

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

# Controls source route verification
net.ipv4.conf.default.rp_filter = 0

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the default maxmimum size of a mesage queue
kernel.msgmnb = 65536

# Controls the maximum size of a message, in bytes
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456

IP-UP.LOCAL (con permessi di esecuzione, chmod 755)

[root@gw ppp]# cat /etc/ppp/ip-up.local
#!/bin/bash

ip route add 192.168.0.0/24 dev ppp0

PPTPVPN

[root@gw peers]# cat /etc/ppp/peers/pptpvpn
pty “pptp <ip-pubblico-statico-rete-A> –nolaunchpppd”
lock
noauth
nobsdcomp
nodeflate
refuse-eap
refuse-pap
name magazzinovpn
password <password-utente-magazzinovpn-definito-in-ms-windows>
persist
remotename PPTP
require-mppe-128
ipparam pptpvpn

CON.SH (con permessi di esecuzione, chmod 755)

[root@gw peers]# cat /root/con.sh
#!/bin/bash
pppd call pptpvpn
sleep 10
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

RC.LOCAL

[root@gw peers]# cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.

/root/con.sh

touch /var/lock/subsys/local

Il client Linux creerà il tunnel VPN ed essendo il gateway della rete-B smisterà le chiamate pubbliche verso il router dell’operatore, mentre le chiamate con destinazione la rete-A verranno instradate nel tunnel VPN.

Se siete interessati a approfondimenti o valutazioni di scenari diversi potete contattarmi compilando il form al link http://www.abconsultinggroup.eu/contatti/index.php .

Windows Azure – link utili e automation

Alcuni link utili per il servizio Azure di Microsoft:

Portale Microsoft Azure
Active Directory Microsoft Azure
Account Microsoft Windows Azure

Manuale in PDF per la gestione delle automazioni in ambiente Microsoft Winodws Azure

Microsoft_Press_eBook_Azure_Automation_PDF

 

CentOS 7 – PPTPD Vpn, how to

Accesso al sistema SSH da root e seguire i comandi di installazione librerie attraverso l’utility yum.

Installazione librerie PPTPD

# yum install ppp pptp pptp-setup
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
# yum install ppp pptpd

Configurazione servizio PPTPD

# nano /etc/pptpd.conf

localip 10.0.0.15
remoteip 10.0.0.200-210

# nano /etc/ppp/chap-secrets

USERNAME pptpd PASSWORD *

# nano /etc/sysctl.conf

net.core.wmem_max = 12582912
net.core.rmem_max = 12582912
net.ipv4.tcp_rmem = 10240 87380 12582912
net.ipv4.tcp_wmem = 10240 87380 12582912
net.core.wmem_max = 12582912
net.core.rmem_max = 12582912
net.ipv4.tcp_rmem = 10240 87380 12582912
net.ipv4.tcp_wmem = 10240 87380 12582912
net.core.wmem_max = 12582912
net.core.rmem_max = 12582912
net.ipv4.tcp_rmem = 10240 87380 12582912
net.ipv4.tcp_wmem = 10240 87380 12582912
net.ipv4.ip_forward = 1

# sysctl -p
# systemctl enable pptpd
# systemctl start pptpd

Virus Cryptolocker – Ransomware – TeslaCrypt

Lo Studio AB Consulting Group SRLS con questo documento, vuole informare del rischio mondiale in corso, il più elevato numero di utenti possibili che operano quotidianamente con strumenti informatici. La minaccia a cui ci si sta riferendo ha il nome di “CryptoLocker” o “Ransomware”. Di seguito alcuni link di approfondimento:

https://it.wikipedia.org/wiki/CryptoLocker ,

https://it.wikipedia.org/wiki/Ransomware .

La modalità di attacco (sino ad ora misurata) di questo virus informatico è l’e-mail: vengono generate numerose e-mail con mittenze fasulle (ad es: Telecom, Agenzia delle Entrate, Ministero degli Interni, SDA, TNT e così via) con un allegato somigliante a un normale file .zip o file .pdf accompagnato da un nome circa “fattura”, “invoice”, “order number”, “conferma ordine”, “consegna”, “ritiro”. L’utente che riceve l’e-mail attraverso il proprio programma di posta elettronica (ad es: Windows Mail, Microsoft Outlook, Mozilla Thunderbird) apre (con un doppio click) l’allegato, e questo scatena (esegue) il programma malizioso virale. Il virus da quel doppio click svolge la sua attività distruttiva: in soli 10 secondi è in grado di criptare (rendere inutilizzabili) migliaia di files. I files che vengono attaccati sono tutti quelli presenti sul PC infettato e sulle cartelle di rete raggiungibili da quel PC sul server, danneggiando quindi tutti i documenti condivisi sul server. Questo produce un blocco esteso a tutta l’azienda (anche se il PC infetto è uno solo). Anche eliminando il virus dal PC infetto, i files rimangono illeggibili e inutilizzabili.

Tutti i sistemi informatici presentano vulnerabilità a questo tipo di virus. E’ ormai certo che questo virus verrà implementato nel tempo: produce un business agli hacker che diffondono e controllano queste chiavi di criptazione. Il virus propone sullo schermo del PC infettato un tariffa di ca. 3 bitcoin (ca. € 750,00 – € 1.000,00 , https://bitcoin.org/it/ , http://it.coinmill.com/BTC_EUR.html#BTC=3 ) come compenso per la soluzione. Questo tipo di virus è in grado di mutare velocemente e questo rende difficoltoso ai sistemi antivirus il processo di riconoscimento.

Attualmente non esiste “la contromisura” a questo sistema virale. Si può pensare di abbassare il rischio di contagio implementando strutture e servizi informatici che concorrono a evitare e risolvere incidenti distruttivi, nello specifico:

  • Formazione agli utenti nel riconoscere “fake e-mail”
  • Sistemi operativi di nuova generazione e aggiornati (Windows 7/8/10 Pro)
  • Posta elettronica affidata ai servizi Microsoft Exchange OnLine (Office 365)
  • Antivirus con servizi cloud (es: Symantec.cloud)
  • Scelta puntuale dei dati informatici da proteggere
  • Backup e monitoraggio quotidiano del backup aziendale (Acronis)

Questi 6 punti per la difesa da Cryptolocker rappresentano attualmente le uniche possibilità per rendere il rischio da contagio al minimo. Purtroppo la mutabilità della famiglia dei virus “Ransomware” non permette di sviluppare strategie e atteggiamenti definitivi e risolutivi. E’ certo che questo tipo di virus continuerà a essere implementato, perfezionato e distribuito sempre di più nel tempo.

Backup a caldo VMWare ESXi 5.x – IBM x3650 M4 – Open Source, caso di successo

Obiettivo.
Backup a caldo della struttura virtualizzata in ambiente VMWare ESXi 5.5 free edition, sia su storage sia su sistema removibile. I backup devono essere apribili in chiaro per il ripristino di un singolo file e devono essere di tipo baremetal per un ripristino in modalita’ disaster recovery.

Scenario.
Lo scenario su cui si dovrà installare il sistema di backup è composto da:
nr. 1, host dual CPU 6cores VMWare ESXi 5.5 free edition
nr. 7, virtual machines di cui un database server MSSQL-Server-2005 e un database server ORACLE
nr. 2, LUN in fibre channel da 1.2TB ciascuna in RAID5 + Hot Spare su EMC2 VNX (totale 2.4TB)

Soluzione.
La soluzione si compone del seguente sistema hardware e software:
nr. 1, sistema operativo open source CentOS 6.5 64bit
nr. 1, script realizzati dallo Studio AB Consulting GROUP
nr. 1, IBM x3650-M4, 12 dischi 1TB RAID5 (storage disponibile ca. 11TB)
nr. 5, dischi removibili 1.5TB/cadauno

IBM-x3650-M4-VMWARE-BACKUP
IBM-x3650-M4-VMWARE-BACKUP

Risultato.
Sullo storage sono presenti gli ultimi backup con storico settimanale e sul disco removibile è presente tutto l’ambiente virtuale. E’ possibile dotarsi di nr. X cassette per ottenere la politica di storico dati aziendale.
Il contenuto dello storage e di una singola cassetta rappresenta tutto il sistema server aziendale per ripristini granulari, totali o in modalità disaster recovery.
Grazie alla tecnologia offerta dai sistemi virtuali (in questo caso VMWare) l’azienda può riparatire in pochi minuti in un altro qualsiasi luogo.

Prestazioni.
Le attuali prestazioni registrano il backup di tutte le virtual machines sullo storage IBM pari a un tempo di 130 minuti e il riversamento su dischi removibili di tutte le virtual machines di 300 minuti.

Microsoft ActiveSync – VMWare Zimbra 8 – Z-PUSH – Backend Zimbra – Open Source

Questo articolo è una guida per attivare il sistema PUSH verso i mobile per il sistema di posta elettronica open source VMWare Zimbra 8. Solitamente il servizio che svolge queste attività PUSH (e-mail, contatti, calendario, promemoria) è Microsoft Server Activesync integrato in Microsoft Exchange.

Requisiti.

sistema operativo CentOS 6.4 x64
ip pubblico statico dedicato (diverso dall’accesso web di VMWare Zimbra)
pacchetto open source z-push ( z-push-2.0.7-1690 )
pacchetto open source backend zimbra ( zimbra56.1-zpush2–zimbra54-zpush1-as12.1 )
VMWare Zimbra 8.0.4 installato e funzionante

Guida all’installazione e configurazione.

Il server z-push è sostanzialmente un web server con certificato SSL (anche autofirmato). Il server web che si andrà ad implementare dovrà essere nello stesso segmento di rete del sistema di posta elettronica open source vmware zimbra 8 e dovrà avere un ip pubblico dedicato statico diverso da quello utilizzato dalla webmail. La configurazione del firewall dovrà permettere l’accesso verso il web server esclusivamente della porta SSL tcp/443.

I punti che verranno svolti saranno:

1- installazione web server (httpd, php)
2- creazione del certificato autofirmato SSL
3- configurazione del server web verso la zona z-push
4- installazione e configurazione z-push
5- installazione e configurazione backend zimbra per z-push
6- impostazione della rotazione dei log z-push
7- NOTE di configurazione windows phone

1- installazione web server (https, php)

Accedere con utente root al sistema CentOS 6.4 x64
# yum install httpd
# yum install php
# yum install mod_ssl openssl
# yum install php-cli php-soap php-process

2- creazione del certificato autofirmato SSL

Accedere con utente root al sistema WEB Server php/httpd
# openssl genrsa -out ca.key 1024
# openssl req -new -key ca.key -out ca.csr
# openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt
# cp ca.key /etc/pki/tls/private/
# cp ca.csr /etc/pki/tls/private/
# cp ca.crt /etc/pki/tls/certs/

3- configurazione del server web verso la zona z-push

Accedere con utente root al sistema WEB Server php/httpd
# mkdir /var/www/html/zpush
# mkdir /var/log/z-push
# nano /etc/httpd/conf/httpd.conf

NameVirtualHost *:443

Alias /Microsoft-Server-ActiveSync /var/www/html/zpush/index.php

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
<Directory /var/www/html/zpush>
AllowOverride All
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag magic_quotes_runtime off
php_flag short_open_tag on
</Directory>
DocumentRoot /var/www/html/zpush
ServerName <nome del server dichiarato sul DNS globale>
</VirtualHost>

4- installazione e configurazione z-push

# tar zxfv z-push-2.0.7-1690.tar.gz
# cd z-push-2.0.7-1690
# cp -R * /var/www/html/zpush/.
# mkdir /var/www/html/zpush/state
# mkdir /var/www/html/zpush/mail
# mkdir /var/www/html/zpush/zimbra
# mkdir /var/www/html/zpush/backend/zimbra
# nano /var/www/html/zpush/config.php

state_dir

log_dir

sostituire nel file zpush.conf il TIMEZONE Europe/Amsterdam con quello locale

# nano /var/www/html/zpush/lib/core/zpush.php
timezone

 

 

5- installazione e configurazione backend zimbra per z-push

# tar zxfv zimbra56.1-zpush2–zimbra54-zpush1-as12.1.tgz
# cd zimbra56.1
# cd z-push-2
# cp -R * /var/www/html/zpush/backend/zimbra/.
# chown -R apache:apache /var/www/html/zpush /var/log/z-push
# chmod -R 775 /var/www/html/zpush /var/log/z-push
# nano /var/www/html/zpush/backend/zimbra/config.php

backendzimbra_config

 

 

 

 

dal file /var/www/html/zpush/backend/zimbra/config.php copiare tutta la parte di backend nel
file principale in /var/www/html/zpush/config.php
# nano /var/www/html/zpush/config.php

configbackendzimbra

 

6- impostazione della rotazione dei log z-push

# nano /etc/logrotate.d/z-push

/var/log/z-push/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
}

7- NOTE di configurazione windows phone

I sistemi mobile con OS Windows Phone non accettano in fase di configurazione account e-mail i certificati SSL autofirmati (error code 80072f0d). Per superare il blocco del certificato autofirmato si deve copiare sul proprio desktop (ad esempio con scp) il certificato ca.crt e rinominarlo in ca.cer. Inviare una e-mail con allegato ca.cer ad un indirizzo di posta elettronica (ad esempio @gmail.com) già impostato sul proprio windows phone. Aprire l’e-mail e cliccare sul certificato in allegato ca.cer. Il dispositivo chiederà di installare il certificato e a quel punto l’account in push/exchange verrà accettato dal sistema operativo.

A questo punto il server Active Sync è pronto per essere utilizzato dagli smartphone: iPhone 4/4s/5, Android, iPAD, windows phone.

Se sei interessato a questi argomenti puoi compilare gratuitamente il form al seguente link http://www.andreabalboni.com/contatti/index.php e scegliere “interessato a corso vmware zimbra”.