La Seguridad y Tu

Ya desde  hace buen tiempo, ( 2 años) en  mi actual trabajo  ( por mas que estuve fuera de México, seguía en el mismo trabajo) me dedico al área de la seguridad, y no… no me refiero a los que están en la puerta con una “macana”,  o cosas así , es con respecto a Redes y  sobre todo a las aplicaciones, ya que a nivel de empresas gubernamentales siempre hay personas que quieren vulnerar las aplicaciones, mi tarea es que eso no pase. Hasta allí todo bien, por mucho tiempo que “solo ” los de mi trabajo eran los mas descuidados de seguridad, pero ya luego entre platica y platica con amigos de mi país ( Perú ),  del país donde vivo ( México) , y de algunos otros amigos que conozco de otros países… me di cuenta de la triste realidad…


Muchas personas hablan de código seguro, se promocionan libros de “escribir código seguro”, pero en la realidad, lo toman en la practica?. una de las cosas que me di cuenta, es que les preocupa hacer un sistema con 20 mil capas!, que se vea bonito, pero casi no en lo que respecta a la seguridad, como  que le  es “nice”hacer un sistema en N capas ( no digo que sea malo)… pero es bien naco/monse/aburrido, etc.  hacer código seguro….


Hay muchos casos, en los cuales las personas creen que hacen código seguro ( e hecho consultoría a algunas empresas, lógico con permiso de ellas en lo que respecta a la  seguridad de sistemas),  quizá piensen que el ataque de “inyección SQL (SQL Injection)” es el único tipo de ataque que existe, en este mundo y  que solo con usar “procecidimientos almacenados ( Stored procedures)”, su aplicación será mas segura… ( este es solo un ejemplo), bueno en ese caso no es por desidia, sino por ignorancia ( no intento ofender.., ignorar no es una ofensa).


Como dice el dicho “hay muchas formas de pelar un gato” ( y ojalá que solo sea un dicho.. ya que me fascinan los gatos!!),muchas son las formas de vulnerar una aplicación, y no hablo solo de asp.net, también están las PHP, jsp, etc.


Una vez ( cuando aun era mvp), en una reunión que hubo en Ecuador, platicando con otro mvp (el sigue siendo) le pregunte por que dejo el VB y se fue a C#, y lo que me dijo es que los programadores  de VB no programan bien, que mantienen sus vicios y que  el quería algo mas estricto que lo controle; comentarios asi e escuchado de muchos desarrolladores,  de que “c# es la neta del planeta”  que con eso si programaran bien…, pero curiosamente… que usen c#  o VB, no los exime de que tengan problemas de seguridad. 


Escuche en Algunas de las charlas impartidas por MS o por  colegas expositores, sobre Seguridad y temas parecidos, el detalle es que en el mundo real…cuantos hacen “código seguro”? … no entiendo por que esa parte  del mensaje no llega normalmente a las personas; quizá en muchos casos me dirán “pero es que en los sistemas que hago, nadie querrá hackearlo, no vale la pena, el problema es que eso se les hace costumbre y luego hacen aplicaciones que si son importantes y ya no están acostumbrados a la seguridad.


La Seguridad no es algo que se implementa de un momento a otro,  es algo que se va aprendiendo gradualmente, y su implementación también es gradual, pero con practica se hace algo inherente a nuestra forma de programar, y si nos esforzamos en esto luego ya automáticamente escribiremos código seguro.


Hace un par de meses platicando con “Guino Henostroza” ( MVP de c# de Perú) , me dijo que en Perú, casi nadie hace código “anti hacker” ( ojo que no digo todos, para que no se ofendan) por que no les pagan por eso, o por que en muchos casos lo ven como perdida de tiempo, ya que mas les preocupa terminar los sistemas “a tiempo”,   es algo en lo cual concuerdo con el, lamentable pero cierto. ( ojo que no digo que el realice código  inseguro, la platica era sobre la realidad actual en el país sobre seguridad)


He Platicado con otros desarrolladores ( muchos de mi país), les hice unas preguntas sobre su forma de programar ( y ojo que no solo las asp.net son vulnerables) , y me di cuenta  que en este momento muchas de las personas ( según las encuestas que hice – de las personas de mi MSN – 1 de cada 5 programa pensando en hacer código seguro ), justo el día de ayer tuve una platica con alguien que ya tiene algo de tiempo haciendo aplicaciones Web con ASP.Net ( no diré quien es…, pero el si sabrá que me refiero a el) , el tenia en mente que realizaba aplicaciones web “seguras” hasta realizo un post sobre “seguridad”, pero en la platica se pudo dar cuenta que tenia unos pequeños vicios, que  los cometía por desconocimiento, a las finales quedamos en que leería mas sobre código seguro :) ( le daré un tiempo y luego lo volveré a buscar para ver cual fue su avance) .


Y si hablamos de Seguridad, no solo deberíamos hablar de Seguridad ( jeje también manejo servidores:)) , he conocido muchas personas que piensan que ser un administrador de red, es leer un par de paginas en el Internet y luego insertar el CD  de Windows  y darle “Next” a todo. Sitios como “Technet Learning center” yo suelo recomendar, pero no como para se sientan ya con la capacidad de Administrar una red, sino para que conozcan y “empiecen” a estudiar, lamentablemente  la mala fama en los servidores Windows  en gran parte es por que los que “Administran” los Servidores no “leyeron el manual” o muchas veces por flojera son de los que abren todo…, creo que el nivel de seguridad de una red depende en un 80%  de la capacidad del Administrador de esa red. Me a tocado hacer auditorias de seguridad a muchas dependencias dentro de mi trabajo ( lo malo es que a las finales tenia que terminar configurando yo los servidores… por que cuando les decía que tenían que hacer me miraban como si les hablara en chino!!),  cuando empecé en el trabajo ( 2005 ) me di con la sorpresa que el acceso al servidor principal  era libre…, las carpeta estaban compartidas con permisos de escritura y sin contraseña!!! mejor ni les digo que le dije al encargado .. ya que son palabras demasiado altisonantes :) , otra vez encontré un servidor que tenia un SQL Server instalado, y se bloqueaba cada 3 horas y lo tenían que reiniciar a cada rato… el encargado decía a gritos que el problema era por que el servidor era “Windows”y que “Windows” no servia, que Microsoft “Apestaba”, en la reunión previa a la auditoria tuve que aguantar  todas las agresiones, y lógico cuando ya entre a ver el Servidor , me di cuenta que era un Windows 2003 RTM ( si!. sin ningún bendito parche… ni SP.. y ya estaba online el SP2 ), y tenia un SQL 2000 con el SP2 ( al menos.. el sp2… eso seria bueno si estuviéramos un par de años atrás!! ) , si la pc no se había llenado de virus era por las VLAN que instalaron allí, algo que poco a poco llegue a amar,  a las VLAN, lamentablemente Microsoft no tiene soporte “real” para trabajar con Vlan, el ISA Server no trae compatibilidad “real” con eso, quizá en las siguientes versiones traiga soporte a eso , lamentablemente en eso Linux tiene un paso adelante, estoy seguro de que si Ms se anima a utilizar Vlan con ISA Server, lo promocionara como si hubiera descubierto la rueda, y lo peor, es que muchos “fanáticos” pensaran que es así.


creo que ya me extendí demasiado… no? esto ya parece un testamento…  me puse una meta ( justo después de hablar con el dev sobre seguridad),  que voy a comenzar a publicar sobre algunos tips de Seguridad ( y no … no será “usando el MBSA” ) , ya sea para usuarios normales, administradores de redes ( no se si decirles administradores… pq los de verdad si aplican seguridad) , y sobre seguridad en aplicaciones, lógico que si hablamos de código.. usare el VB, ya que no le entro al c#… es una larga historia … que no se si aun Jersson se acuerda  de eso jeje..


Bueno este es el inicio de lo que espero (además de no olvidarme)  ver si puedo convencer a aunque sea a una persona a aplicar la Seguridad, ya sea en Redes o en Programación. recuerden que uno de los temas de Ingeniería de Software habla sobre “aplicaciones de calidad” .


bueno ya no me extiendo mas!


Hasta luego.


Salu2


El Ddaz.


:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>