Firewall Testing for Infraestructures

A través de la app para andriod Lync News di con un  blog de tecnología que publico una pequeña pero gran idea a la hora de testear puertos y conectividad en una infraestructura.

Esta idea es, basicamente, un script hecho en powershell que funciona de la siguiente manera: Se crean dos archivos de texto. Uno de estos dos archivos contiene una lista de todos los servidores de la infraestructura que queremos escanear, el otro contiene una lista de puertos y protocolos de interes. El script se aprovisiona de estos archivos y hace la tarea usando el programa PortQry.

El script publicado en el blog que menciono mas arriba tenia un pequeño error en la regex, que hacia que detectara el puerto DNS (53,udp) siempre abierto. Publico el script corregido:

 

$date = get-date
Write-Host Started processing Test-LyncPorts script at $Date

$ServerName = Get-Content LyncServers.txt
$PortNumber = import-csv LyncServerPortNumbers.txt

foreach($s in $ServerName){
	Write-Host "$s Test:"
	foreach($p in $PortNumber){
		$K = .\PortQry.exe -n $s -e $p.port -p $p.protocol
		$L = $K -Match "FILTER?"
		If($L -ne $null){
			    Write-Host <code>t $p.port $p.protocol Closed
		    }Else{
			    Write-Host </code>t $p.port $p.protocol Open
		    }
	}
	Write-Host " "
}

 
post

Un pequeño procedimiento que puede ahorrar muchos dolores de cabeza a la hora de hacer troubleshooting sobre infraestructuras complejas en donde un puerto cerrado puede hacer estragos en la red. En mi caso particular, este ultimo tiempo, me ha tocado trabajar con soluciones de Comunicaciones Unificadas ( Lync2010, Lync2013, Asteriks, Callmanager ) y no dejo de pensar en la cantidad de usos que se le puede dar a este script y en lo potentes que son las herramientas de scripting.

Por ejemplo, validar puertos para los roles de EDGE Server y el Workload para Application Sharing y A/V Conferencingde Lync

Ports

av

LyncApplicationSharingWorkload

Adjunto el script y los archivos de texto de ejemplo:

:wq!