Archive | cloud

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

Stratosferico e supersonico!

Si stratosferico e supersonico, questo é stato il salto nel blu di Felix Baumgartner effettuato oggi con quattro giorni di ritardo ma in anticipo di due ore rispetto alla programmazione ! Già perché alla prima hanno dovuto rinunciare per via dei venti e oggi invece, viste le condizioni perfette del meteo hanno deciso di gonfiare il pallone di elio e farlo decollare prima che si alzasse il vento. La salita è durata due ore e un quarto ma al posto di fermarsi a 36.000 metri , dato che c’era é salito a 39.000 metri e poi fatti i controlli di rito e credo anche gli scongiuri del caso Felix si é lasciato cadere nel vuoto. In principio sembrava goffo poi ha iniziato a roteare su se stesso e poi finalmente si è stabilizzato , ha allineato il corpo ed ha superato la barriera del suono. Tecnicismi e numeri a parte (che li trovate sul sito ufficiale di redbullstratos ) devo dire che mi ha emozionato come non mai vedere cosa l’uomo e la tecnologia possono fare . Capite? Non l’uomo da solo, non la tecnologia da sola ma l’uno più l’altra. Sentire il respiro di Felix lanciato come un proiettile in caduta libera é stato possibile solo oggi. Oltretutto non c’erano televisioni con i diritti ma tutti lo potevamo vedere e sentire attraverso il filmato (non senza problemi di buffering e banda) trasmesso attraverso internet. Ancora una volta questo strumento ha agglomerato eh ha accomunato migliaia anzi milioni di persone per un evento eccezionalmente bello . Se non fosse stato possibile vederlo via internet probabilmente lo avremo visto in differita togliendo quella grande emozione che chi ha seguito tutto il lancio ha provato. Se proprio devo trovare un difetto all’evento direi che la copertura Twitter non é stata stratosferica ma per il resto ripeto tutto stratosferico e supersonico !

20121014-225319.jpg

0

IIS 8 finalmente il multi binding https da interfaccia grafica

ho scaricato oggi windows 2012 server Release candidate, e devo dire la verità , la grafica è veramente minimalista, anche se piacente e un po’ retrò, soprattutto se la confrontiamo con un OSX. Comunque, lasciando da parte le considerazioni del tutto personali, mi sono messo subito alla ricerca di qualcosa che valga veramente la pena l’aggiornamento. Per chi non lo sa, da qualche anno lavoro presso una software house dove viene prodotta una suite di gestione documentale erogata via applicazione Web che gira su IIS. Quindi mi sono subito concentrato a vedere le novità su IIS8 e con mio grande stupore, trovo che una delle cose migliori che sono state finalmente implementate sia la possibilità di configurare un name based virtual host anche se sotto protocollo https, cosa che sui precedenti server IIS era fattibile solo via riga di comando (che per inciso, io non amo).

In parole povere è possibile creare più siti che rispondono ad indirizzi URL diversi sulla stessa macchina, quindi con medesimo IP, su protocollo HTTPS.

Fino adesso questo era possibile solo su http. Infatti , sulla stessa macchina era possibile configurare il binding su HTTP con diversi hostname su siti diversi, cosa che diventava impossibile, perchè la scheda diventava non editabile, con le precedenti versioni di IIS. Perciò, se fino ad IIS 7.5 poteva esservi un solo sito che rispondeva sotto https sulla porta 443, ad esempio, adesso ne possiamo fare molteplici. Questa è una comodità non da poco per chi gestisce farm con centinaia di siti che devono rispondere su canale https.

 

3

Glacier nuovo servizio per i dati “a lunga conservazione”

In casa Amazon non smettono mai di sorprenderemo con dei servizi innovativi e utili! Oggi é arrivato Glacier. Servizio a buon mercato per conservare “al fresco” dati che devono essere usati molto poco. Tanto per dare qualche cifra un gigabyte costa 0,01 dollari al mese quindi per mettere via 1 terabyte di dati servono 10 dollari al mese! Mica male! Attenti però che c’é il costo del trasferimento che fino al primo giga al mese é gratuito poi costa 50 cent al giga. Quindi se dovete fare backup non utilizzate s3 sempre della stessa casa ma bensì Glacier, aspettando magari che arrivino i primi client che lo supportano !

20120821-225556.jpg

0

Powered by WordPress. Designed by Woo Themes