viernes, 22 de abril de 2011

Los 20 mejores puestos en Seguridad de la información

SANS ha recopilado los 20 puestos más interesantes del mercado de la seguridad de la información. Para la mayoría de ellos propone una serie de cursos y certificaciones. Las certificaciones SANS son muy valoradas en la industria.

Acá les dejo el listado:
  • #1 Information Security Crime Investigator/Forensics Expert
  • #2 System, Network, and/or Web Penetration Tester
  • #3 Forensic Analyst
  • #4 Incident Responder
  • #5 Security Architect
  • #6 Malware Analyst
  • #7 Network Security Engineer
  • #8 Security Analyst
  • #9 Computer Crime Investigator
  • #10 CISO/ISO or Director of Security
  • #11 Application Penetration Tester
  • #12 Security Operations Center Analyst
  • #13 Prosecutor Specializing in Information Security Crime
  • #14 Technical Director and Deputy CISO
  • #15 Intrusion Analyst
  • #16 Vulnerability Researcher/ Exploit Developer
  • #17 Security Auditor
  • #18 Security-savvy Software Developer
  • #19 Security Maven in an Application Developer Organization
  • #20 Disaster Recovery/Business Continuity Analyst/Manager

Fuente: http://www.sans.org/20coolestcareers/

miércoles, 20 de abril de 2011

Linea de comandos Windows

Los que adminsitramos Unix y Windows a veces nos preguntamos porque a MS le gusta tanto generarnos artritis usando el mouse todo el dia. Sin embargo desde hace ya un largo tiempo MS viene recuperando el tiempo perdido y nos brinda herramientas para adminsitración via linea de comandos. El problema es que muy pocos adminsitradores Wintel las usan.

Aca un pequeño aporte para adminstración de Active Directory… he visto a gente haciendo print screen de los grupos o anotando uno por uno los usuarios de los grupos!!!! Tambien hay algunas herramientitas bastante limitadas que no tienen razon de ser si usamos la linea de comandos.

Les paso como listar miembros de grupos en Windows:

#Un Grupo local de un server / workstation
net localgroup nombregrupo

#Un Grupo de Dominio (ejemplo mostrando solo el DN del usuario)
dsget group “CN=PIMA,OU=Grupos,OU=Grupos Globais,OU=InfraBR,OU=Brasil,DC=contoso,DC=Corp,DC=net” –members

#Un Grupo de Dominio (mostrando el nombre del usuario y la descripcion)
#Acá concatenamos la/las salidas del dsget group en el dsget user (al mejor estilo Unix :P )
dsget group “CN=PIMA,OU=Grupos Legados,OU=Grupos Globais,OU=InfraBR,OU=Brasil,DC=contoso,DC=Corp,DC=net” -members | dsget user –display -desc

#Si la salida es larga conviene direccionarla a un archivo
dsget group “CN=PIMA,OU=Grupos Legados,OU=Grupos Globais,OU=InfraBR,OU=Brasil,DC=contoso,DC=Corp,DC=net” -members | dsget user –display -desc > GroupMembers.txt

mas info para AD:
http://technet.microsoft.com/en-us/library/cc731202(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc732535(WS.10).aspx

lunes, 18 de abril de 2011

Los 10 mandamientos en Sistemas

  1. No reiniciarás servidores los Viernes.
  2. No comprarás mouses con lucecitas de colores.
  3. Honrarás a MS por darnos de comer con sus problemas
  4. No hackearás a tus vecinos
  5. Documentarás y entrenarás a tus compañeros
  6. No responderás a las cadenas de email, pidiendo ser removido
  7. No dudarás a la hora de borrar esos usuarios inactivos
  8. No ejecutarás un sudo su -root en vano.
  9. No fingirás estar away en el MOC
  10. Honrarás la PC de tus padres aunque tengas que repararla todas las semanas

Solo un admin entiende a otro admin

Les comparto este video que me parece entretenido. Este video es parte de una serie de videos de la temática.


Pueden ver mas videos de la saga en http://www.diadeladmin.com.ar/

Ahhh... y recuerden que el dia del sysadmin es el último Viernes de Julio!! no programen ningun cambio, y vayamos a tomar unas cervezas!

lunes, 11 de abril de 2011

Script: Top ten de buenas prácticas

En este post voy a comentar las buenas prácticas que debemos tener en cuenta a la hora de realizar scripts, sobre todo en un ámbito empresarial.
Siempre que tenemos diversos sistemas operando es necesario realizar tareas repetitivas o simplemente aburridas que podemos delegarle a un script.

Como toda actividad siempre hay ciertos secretos que hay que conocer y que es bueno tener en cuenta.
Paso a enumerara la lista de "tips" que considero debemos tener en cuenta:

  1. Universal: Debe estar escrito en ingles para que pueda compartirse con cualquier "compañero" en el mundo. Incluso trabajando en una empresa pequeña, es bueno seguir estos patrones, ya que si el día de mañana pasamos a trabajar en otra empresa podemos utilizarlo y compartir facilmente.
  2. Especializado: Cada script debe realizar una función bien especifica de forma correcta. Es preferible tener dos o tres scripts para nuestras tareas que uno gran script que supuestamente hace todo. A la hora de modificarlo o debuguearlo puede convertirse en un problema.
  3. Auto describible: El nombre del archivo debe hablar por si solo, debe tener un nombre bien conciso y representativo de lo que realiza
  4. Versionado: Tanto en el interior como en el nombre del archivo, debemos incluir una versión, recomiendo utilizar la dominación vm.n (ejemplo: v0.1)
  5. Explicativo: Al abrir el script lo primero que debemos mostrar es: description, version, author, y de ser posible changeLog. La descipcion debe ser completa pero bien concisa, obviamente en inglés. Author incluye nombre completo e email. El changeLog en muy pocas palabras las modificaciones realizadas en cada versión.
  6. Parametrizado:Las variables que utilicemos en el script deben estar definidas al principio de script y con una valor asignado. También es bueno confirmar al usuario estas variables al ejecutar el mismo.
  7. Comentado: Cada bloque del script debe estar indicado para una fácil depuración y entendimiento del script.
  8. Enfocado: Arrancar a escribir un script siempre utilizando estas buenas prácticas desde cero.La realidad es que si no lo hacemos desde cero, cuando terminemos y el script este andando no vamos a querer modificarlo todo solo para agregarle cositas lindas. Si usamos estas buenas prácticas nos vamos a convencer de que es bueno usarlas desde el inicio.
  9. A prueba de errores: Siempre tener en mente mientras escribimos que las cosas pueden malir sal, por eso tengamos que cuenta esto y controlemos los posibles errores... tanto del usuario como del sistema o entorno.

Do!
  1. Compartirlos: muchas veces las mejoras ideas son de otros, hay que estar abiertos y compartir el trabajo, para que hacerle perder tiempo al resto con algo que ya alguien hizo?
Don´t!

  1. Inseguro: No poner contraseñas en los scripts, es tan simple como definir un input box para que el usuario la ingrese. En caso de que el script deba correr automáticamente podemos introducirla en forma de hash o utilizar clave publicas/privadas (según el SO donde los escribamos hay diferentes alternativas)

Script: List Active Directory computer objects

A la hora de analizar la cantidad de maquinas presentes en un dominio y poder conocer sus caracteristicas rapidamente, nada me ha dado mejor resultado que este script que he ido "tuneando" y mejorando a lo largo de los diferentes usos.
Espero este sea el primer post de una serie de scripts que le sean útiles al resto de la comunidad.

Aqui va:

'*******************************************************************
'*******************************************************************
'List computers to txt File
'Version: 0.3
'Author: Pablo Pagani
'Change Log:
'       V2: Format of the file changed to csv
'    v3: Added more properties
'*******************************************************************
'*******************************************************************


Const ADS_SCOPE_SUBTREE = 2
'*******************************************************************
'Definir el nombre del dominio
strDomain = "contoso.ccf"
'*******************************************************************

Set Shell = CreateObject("WScript.Shell")

'*******************************************************************
file=Shell.ExpandEnvironmentStrings("%temp%") &"\Computers.csv"
'*******************************************************************

Set Fso = CreateObject("Scripting.FileSystemObject")

If Fso.FileExists(file) Then
    Fso.DeleteFile file, True    'True forces override of Read-Only
end if

Set TxtS0 = Fso.CreateTextFile(file, ForWriting)

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"

Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = "Select Name, Location, operatingSystem, operatingSystemServicePack, operatingSystemVersion, whenCreated,

whenChanged, description from 'LDAP://" & strDomain & "' " _
        & "Where objectCategory='computer'" 
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

'********* HEADING *************************
line= "Computer; Location; SO; SO SP; SO Version; When Created; When Modified; Description" & vbcrlf

'********** DETAIL ************************
Do Until objRecordSet.EOF
    line = line & objRecordSet.Fields("name").Value & ";" & objRecordSet.Fields("location").Value & ";" _
    & objRecordSet.Fields("operatingSystem").Value & ";" & objRecordSet.Fields("operatingSystemServicePack").Value & ";" _
    & objRecordSet.Fields("operatingSystemVersion").Value & "; " & ";" & cstr(objRecordSet.Fields("whenCreated").Value) & ";" _
    & objRecordSet.Fields("whenChanged").Value & ";" & vbcrlf

'& objRecordSet.Fields("description").Value

    objRecordSet.MoveNext
Loop


TxtS0.WriteLine line
TxtS0.Close

set shell = nothing

msgbox "END!!"

domingo, 3 de abril de 2011

Camaras de Seguridad Online: El listado

En este post voy a listar las cámaras de seguridad públicas disponibles en Argentina, las cuales fue relevando para distintos propósitos, juro que la mayoría fueron para buenos propósitos... Por ejemplo ver el estado del tiempo / tráfico en alguna zona particular.

Algunas puede que no estén funcionando, en caso de que se mantengan sin funcionar por un tiempo las iré removiendo y actualizando.

Gobierno de la Ciudad de Buenos Aires
http://www.buenosaires.gob.ar/areas/obr_publicas/camaras/index.php

Autopista del sol - Acceso Norte y Bifurcación Rutas 8 y 9
http://www.ausol.com.ar/videos/camara4.html

Autopista del sol - Acceso Norte y Puente Bancalari
http://www.ausol.com.ar/videos/camara3.html

Autopista del sol -  Acceso Norte y Puente Av. Marquez
http://www.ausol.com.ar/videos/camara2.html

Autopista del sol - Av. Gral Paz y Acceso Norte  (Caida)
http://www.ausol.com.ar/videos/camara1.html


TBA - Estación Nuñez (usuario:vecinos Contraseña: nunez) (Caida)
http://200.45.23.27:1029

TBA - Estación Rivadavia (usuario: Vecinos Contraseña: rivadavia) (Caida)
http://200.71.238.162:1031


TBA - Estación Belgrano (Domo) (Usuario: vecinos, Contraseña: belgrano)
http://200.45.170.34:1027

TBA - Estación Lisandro de la Torre (Domo) (Usuario: Vecinos Contraseña: lisandro)
http://200.71.226.58:1026/

TBA - Estación Vte. Lopez (usuario: Vecinos Contraseña: lopez) (Caida)
http://200.117.237.146:1025

TBA - Estación Olivos: (usuario: Vecinos Contraseña: olivos) (Caida)
http://200.43.115.106:1028

TBA - Estación Martinez (usuario: vecinos Contraseña: martinez) (Caida)
http://200.117.237.154:1027

TBA - Estación Tigre (usuario: vecinos Contraseña: tigre)
http://200.43.115.154:1029

Subte - Linea B - Estación Callao (sin Contraseña) (Caida)
http://200.41.179.227:1027


Martinez - Puerto Tablas
http://www.delviento.com/html/Spot.aspx?id=1&wid=4

Martinez - Kitebeach 2
http://www.delviento.com/html/Spot.aspx?id=1&wid=2

Chascomus - Club de Regatas
http://www.delviento.com/html/Spot.aspx?id=12&wid=12


Tigre - Boliche El Latino
http://camaras.tigre.gov.ar/camara.php?nombre=TDP56

Tigre - Boliche Hora Club
http://camaras.tigre.gov.ar/camara.php?nombre=TGC17

Tigre - Boliche  Hora Club
http://camaras.tigre.gov.ar/camara.php?nombre=TGC13

Tigre - Boliche La Monica
http://camaras.tigre.gov.ar/camara.php?nombre=TDP52

Tigre - Boliche  Tropitango
http://camaras.tigre.gov.ar/camara.php?nombre=TDP46

Tigre - Boliche Radio Planeta
http://camaras.tigre.gov.ar/camara.php?nombre=TDP39



Pinamar - Bunge y el Mar (calle)
http://www.telpinteve.com.ar/index2.php

Pinamar - Bunge y el Mar (playa)
http://www.pinamarweb.com.ar/pinamar/webcam.html

Ostende - La Rambla  (Caida)
http://www.telpinteve.com.ar/index4.php


Quilmes - Club Pejerrey  (Caida)
http://www.delviento.com/html/Spot.aspx?id=8&wid=8


Mar del Plata  (Caida)
http://www.delviento.com/html/Spot.aspx?id=20&wid=20

Punta Lara - Club House  (Caida)
http://www.delviento.com/html/Spot.aspx?id=9&wid=10

Punta Lara - Costa  (Caida)
http://www.delviento.com/html/Spot.aspx?id=9&wid=9

Camaras de Seguridad Online

En este post comentaré algunas cuestiones de seguridad que he estado relevando en cámaras online. Es muy común ver sitios de cámaras que no están correctamente "hardenizados" y que son suceptibles de ataques o de accesos no autorizados.

Para evitar problemas de seguridad en cámaras online propias, debemos:


-Editar las página por defecto que tienen los sistemas de cámaras (sobre todo los títulos de las paginas) ya que mediante los buscadores es muy sencillo detectar cámaras con vulnerabilidades conocidas.
-Asegurarnos de que el acceso en caso de estar restringido tenga password fuertes y cambiarlos periódicamente.
-Revisar periódicamente los logs de acceso para ver desde que IPs se han conectado a nuestro sistema.
-En caso de ser posible, monitorear la disponibilidad del sistema en forma permanente.

Ahora bien uno podría preguntarse.... ¿que vulnerabilidades puede tener una cámara web?, ¿que cosas se pueden hacer si se aprovechan los bugs presentes?... por ejemplo:

-Modificar el firmware de la cámara y hacer que ejecute algún otro software.
-Tomar control del domo y hacer que apunte a un lugar donde no es útil. Esto es principalmente grave en cámaras de Seguridad. Algún delincuente podría aprovechar esta situación.
-Desactivar la grabación del video.
-Apagar el video por completo.
-Crear nuevos usuarios, alterar o restringir el acceso.
-Generar una imagen falsa en la cámara. (tal como se ve en las películas)

Si bien existen varias vulnerabilidades conocidas, no voy a reproducirlas para no facilitarle las cosas a nadie pero en caso de que este tema les sea de interés podrán encontrar muchos sitios con vulnerabilidades y con la ayuda de los buscadores podrán encontrar muchos sitios donde "testear" esas vulnerabilidades, claro esta que solo podrán "testearlas" con la aprobación del dueño del sistema...


sábado, 2 de abril de 2011

Internet: Navegacion Segura para toda la familia

En este post, quiero comentar un sistema que he estado testeando por un tiempo y que me ha dado muy buenos resultados para navegar en forma segura y veloz por Internet.

Este sistema es altamente recomendable para familias con chicos y adolescentes que acceden a Internet desde el hogar. También puede ser utilizado en empresas, colegios, universidades, bares o cualquier otro punto de acceso a Internet ya sea publico o privado.

La solución se llama OpenDNS y permite restringir el acceso a paginas inseguras o de contenido sexual. Posee una versión gratuita para usuarios finales y una versión paga con mayores prestaciones. OpenDNS permite definir una página de error que se mostrará cuando un sitio sea bloqueado e informará porque fue bloqueado.

También cuenta con la funcionalidad de loguear todo el historial de navegación que se hace desde cualquier equipo de la casa sin importar con que navegador o equipo se haga.

Para los entendidos en tecnología paso a explicar su funcionamiento intrínseco. OpenDNS nos brinda dos DNS (primario y secundario) para que los utilicemos en nuestra configuración IP. Esto permitirá que OpenDNS analice las URLs que queremos acceder y en base a esto determine si son sitios seguros o no.
Si son sitios confiables nos devolverá la dirección IP como cualquier DNS; pero en caso de no serlo nos direccionará a otra página informando que la página en cuestión no es segura o tiene algún tipo de contenido no permitido.

Para poner manos a la obra y comenzar a utilizarlo tenemos varias opciones:

1-Registrarnos en https://www.opendns.com/ (no es obligatorio, pero nos permitirá tener el historial de navegación y realizar ciertas configuraciones)

2a- Configurar manualmente nuestros DNS a utilizar 208.67.222.222 y 208.67.220.220.

2b- Instalar un programita provisto por OpenDNS que nos configura los DNS en forma automática (recomendado para los inexpertos).

3-No hay paso 3!! Solo comenzar a navegar en forma segura


Ahora bien en caso de que contemos con un router que nos provea acceso a Internet es recomendable que configuremos aqui los DNS para que no tengamos que hacerlo en cada equipo. También es mas seguro así ya que es mas difícil para los "usuarios" modificarlo desde allí. OpenDNS posee en su sitio instructivos para configurar esto en los dispositivos mas comunes.

Con respecto a la seguridad que ofrece podemos enumerar la protección de las siguientes amenazas comunes de Internet:

-Phishing (que tiene por fin confundir y robar información)
-Malware (incluye virus, troyanos, adware, etc.)
-Contenido para adultos
-Y otras opciones customizables como sitios de alcohol, subastas, etc.
-Ademas nos permite definir nuestras propias listas blancas y negras.

Por otro lado OpenDNS ofrece mejora en la velocidad de la navegación ya que posee un cache optimizado de consultas DNS, por lo que puede realizar en forma veloz la resolución de nombres de Internet.

Por ultimo en caso de que seamos algo "paranoicos" y no querramos que el "gran hermano" nos este vigilando podemos simplemente utilizar los dns sin registrarnos.

Como conclusión final, considero que al ser una herramienta muy estable y gratuita no hay escusas para que las instituciones y lugares publicos de acceso a Internet comiencen a brindar una experiencia mas segura en internet sobre todo para los chicos y adolescentes.