Archive | DELL

AWS – Aprire e chiudere le porte del security group in automatico alla connessione e disconnessione

In Amazon Web Service, sulla console web c’è la possibilità di modificare praticamente tutto delle nostre istanze e dei nostri Security Group, questo è indubbiamente vero, però, per me è anche indubbiamente scomodo in quelle occasioni nelle quali mi trovo da clienti o nelle quali sono comunque in mobilità e quindi il mio indirizzo IP è dinamico e quindi dovrei connettermi alla console web di gestione, loggarmi, scegliere il security group da modificare, connettermi ad un servizio come www.veltini.org/ip/ip.php o simili per conoscere il mio IP esterno, tornare sull’interfaccia web, inserire la regola e poi iniziare la connessione con RDP di Microsoft o per comodità usare MREMOTE NG che è una sorta di aggregatore nel quale si possono memorizzare più connessioni e usarle all’occorrenza senza ogni volta ricordare indirizzi, utenze e password delle macchine anche per i protocolli SSH ICA e altri.

 

Per quanto corretta possa sembrare questa procedura, è migliorabile, talvolta in termini di tempo, talvolta in termini di pratiche errate, di seguito andremo a migliorarla il più possibile, sia in termini di sicurezza che di tempo.

 

Per rendere chiaro il concetto, basta dire che non ha senso tenere sul firewall una porta aperta in ingresso quando non serve, e, dato che il firewall di base che mette a disposizione Amazon Web Service (il Security Group) è programmabile e comandabile via riga di comando (usando la AWS cli), sfruttiamo questa caratteristica per aprire le porte in ingresso solo quando stiamo per connetterci, e dall’indirizzo IP con il quale stiamo uscendo il tutto più automaticamente possibile.

 

LISTA della spesa :

  • Amazon CLI
  • Una cartella contenente le configurazioni della CLI
  • MRemote NG
  • Gli script che trovate di seguito

 

RICETTA:

  1. Scarichiamo la AWS CLI secondo la nostra versione di Sistema Opertativo dal seguente link: http://aws.amazon.com/cli/

Effettuiamo l’installazione (dai su avanti avanti avanti)

Creare attraverso un’istruzione a riga di comando la directory c:\users\utente\.aws (md c:\users\mario\.aws)

All’interno della cartella creare un file config senza estensione  e inseriamoci queste istruzioni che altro non sono che le direttive per configurare la AWS CLI.

 

[default]
aws_access_key_id = vostro id

aws_secret_access_key = vostra chiave

region = us-east-1

 

Creiamo poi 2 file batch che possiamo chiamare ad esempio Concedi.bat e Revoca.bat

sul file Concedi.bat inseriamo il seguente codice:

 


echo calcolo ip
@echo off
set cidr=/32
set groupname=default
set port=1433
>"%temp%\ip.vbs" echo Set objHTTP = CreateObject("MSXML2.XMLHTTP")
>>"%temp%\ip.vbs" echo Call objHTTP.Open("GET", "http://www.veltini.org/ip/ip.php", False)
>>"%temp%\ip.vbs" echo objHTTP.Send()
>>"%temp%\ip.vbs" echo strHTML = objHTTP.ResponseText
>>"%temp%\ip.vbs" echo wscript.echo strHTML
for /f "tokens=7 delims=:<" %%a in ('cscript /nologo "%temp%\ip.vbs"') do set ip=%%a echo %ip:~1% echo lancio la cli aws aws ec2 authorize-security-group-ingress --group-name %groupname% --protocol tcp --port %port% --cidr %ip:~1%%cidr%     Mentre sul file Revoca.bat inseriamo il seguente :  

echo calcolo ip
@echo off
set cidr=/32
set groupname=default
set port=1433
>"%temp%\ip.vbs" echo Set objHTTP = CreateObject("MSXML2.XMLHTTP")
>>"%temp%\ip.vbs" echo Call objHTTP.Open("GET", "http://www.veltini.org/ip/ip.php", False)
>>"%temp%\ip.vbs" echo objHTTP.Send()
>>"%temp%\ip.vbs" echo strHTML = objHTTP.ResponseText
>>"%temp%\ip.vbs" echo wscript.echo strHTML
for /f "tokens=7 delims=:<" %%a in ('cscript /nologo "%temp%\ip.vbs"') do set ip=%%a echo %ip:~1% echo lancio la cli aws aws ec2 revoke-security-group-ingress --group-name %groupname% --protocol tcp --port %port% --cidr %ip:~1%%cidr%
    Come si può notare nella parte alta troviamo le parti configurabili, come la porta, il nome del security group e la maschera di sottorete in formato CIDR. Dato che vogliamo aprire la porta per RDP (3389) solo dall’indirizzo IP dal quale siamo connessi, lo script si connette ad un servizio (http://checkip.dyndns.org) per recuperarlo. Fate attenzione perchè c’è un sistema che vi blocca se lo richiamate troppo spesso. Comunque dopo alcuni minuti ricomincia a rispondere in modo corretto. ( appena possibile pubblico le modifiche per farlo funzionare senza blocchi.)

 

Fate un test lanciando a mano i due bat e controllate che funzionino dandovi come risultato un “return true” ed effettuando un refresh dalla console di gestione di AWS effettivamente le porte vengano correttamente aperte e chiuse.

 

Una volta verificato il funzionamento degli script è ora di passare ad integrarli con MREMOTE NG.

Apriamo quindi MREMOTE NG e fare click su Strumenti –> Applicazioni Esterne

Posizionandoci sulla griglia facciamo clic con il tasto destro del mouse e quindi scegliere Nuova applicazione esterna, questo farà caricare la finestra di gestione delle configurazioni che imposteremo come la figura seguente

 

image

 

Praticamente si sceglie un nome con cui si vuole riconoscere l’applicazione esterna su MREMOTE , si sceglie il file Concedi.bat dandone il percorso completo e poi si mette la spunta sul flag Attendi l’uscita per fare in modo che finchè la porta non è aperta, cioè l’esecuzione del bat non è terminata , non venga eseguita la connessione.

La stessa cosa va fatta anche per Revoca.bat .

 

A questo punto abbiamo tutto ciò che ci serve, manca solo configurare una connessione verso la macchina che ci interessa e tra le opzioni della connessione di MREMOTE NG trovate anche le due configurazioni che servono a lanciare una applicazione prima della connessione (qui metteremo Concedi) e alla disconnessione (qui metteremo Revoca) come potete vedere dalla seguente immagine

 

image

 

Provate ad lanciare la connessione e vedrete quini prima il prompt dei comandi che esegue lo script e poi vi collegherete alla macchina. Alla disconnessione vedrete ancora il prompt che va a chiudere la porta per l’indirizzo IP dal quale vi state connettendo.

 

Abbiamo così automatizzato l’apertura e chiusura di porte sul firewall e ridotto le possibilità di subire spiacevoli attacchi sulle porte standard, che andremo ad abilitare solo e solamente quando ci servono.

Se per caso windows 8.1 vi dice che AWS non è un comando valido , bisogna eseguire il bat come amministratore, quindi, visto che viene lanciato da MREMOTE NG è possibile eseguire quest’ultimo come amministratore.

0

Come installare certificati su Tomcat…facilmente

Capita spesso a chi deve amministrare dei web server di dover applicare dei certificati alle applicazioni in modo da rendere sicuro il traffico tra l’applicazione e il client. Partendo da questo presupposto vi racconto la mia storia con un certificato Globaltrust a 2048 bit e un server tomcat sul quale gira SysAid nota applicazione di livello enterprise per la gestione dell’help desk.  Dopo aver installato SysAid, è sorta la necessità di aggiungere un certificato che avevamo. Mi metto subito all’opera ricercando sul forum di supporto per capire come fare (e sinceramente speravo di trovare quei 4-5 comandi che servono per importare correttamente i certificati ). Trovo la guida per windows, dato che l’installazione è stata fatta su un Server Windows 2008 R2. Inizio a seguirl apasso passo,creo quindi il portachiavi, ci metto una password, importo il certificato intermedio. Non funziona. Ci riprovo, sempre via riga di comando. Non funziona. Ci riprovo ancora un centinaio di volte:-) ma niente.

Decido allora che deve esserci un altro modo, più semplice della odiosa riga di comando che non mi è mai poi tanto piaciuta….mi viene una idea, dato che su IIS è possibile importare ed esportare certificati, provo a esportarlo, viene esportato in formato .pfx (un pacchetto che contiene praticamente tutto, certificato e certificato intermedio, protetti con password, più o meno la stessa cosa che la guida diceva sotto linux.

Ora dato che ho il pacchetto penso che per Tomcat deve essere indifferente aprire un .key piutosto che un .pfx e leggendo sulla kb di microsoft scopro che il pfx è in formato PKCS12 .

Quindi vi confermo che Tomcat apre senza problemi i .pfx basta sapere come configurarlo.

Per farlo basta inserire nel file di configurazione server.conf le seguenti direttive:

    <Connector executor=”tomcatThreadPool” port=”443″ protocol=”HTTP/1.1″ SSLEnabled=”true”
maxThreads=”150″ scheme=”https” secure=”true”
clientAuth=”false” sslProtocol=”TLS”

keystoreFile=”C:\Program Files (x86)\SysAidServer\tomcat\conf\nomedelpfx.pfx”
keystorePass=”passworddelpfx”
keystoreType=”PKCS12″

/>

 

 

Dove, come noterete, basta inserire il percorso del pfx e la password di tale archivio.

Riavviate il vostro tomcat e il gioco è fatto!

 

0

Dell Studio 1555

Direi che è un pezzo che non mi cimento nella scrittura di un post sul mio adorabile blog.

Ho deciso di farlo stasera, visto che di recente ho fatto un nuovo acquisto da MediaWorld…….Come da titolo, si tratta di un portatile nuovo, per l’esattezza di un portatile DELL Studio 1555 , veramente carino e potente, processore Core DUO 2, schermo da 15 pollici con tecnologia led, ben 4 gigabyte di ram e un disco fisso da 320 gigabyte, il tutto allo straordinario prezzo di 599 euro.

Ora, tutti sanno che a me piacciono molto i portatili Apple, ma vi garantisco che questo è veramente un gioiellino e poi a questo prezzo di apple non prendi nemmeno il morso della mela….

Le tecnologie di virtualizzazione attivate direttamente dal bios, rendono questo portatile una vera e propria macchina da lavoro anche per creare piccoli ambienti virtuali , magari utilizzando VMWare Server o VMWare Workstation.’

Che dire poi, se non che nel pacchetto è già previsto l’upgrade a Windows 7?

Forse che la batteria dura circa 3 ore e mezza e che il portatile è estremamente silenzioso,merito soprattutto del core Duo che non scalda come i vecchi processori e non fa mai partire la ventola.

Ah , dimenticavo, monta casse + subwoofer cosi mi ascolto gli U2 o i SFD e me li posso godere anche senza cuffiette.

Alla prossima

0

Powered by WordPress. Designed by Woo Themes