Página Web de Rafael Ausejo Prieto
[Seguridad en el Desarrollo]
  1. Seguridad en las aplicaciones

    Entre las utilidades de depuración de código destacan el Dr.Bob's IntraBob ISAPI Debugger, un debugger gratuito de ISAPI y CGIs sobre aplicaciones Delphi o C++Builder sin necesidad de un servidor web; y el Proyecto CCured, que se basa en convertir código C en código C securizado con las comprobaciones de programación segura.

    Algunos enlaces relacionados con la programación segura son: Enlaces de programación segura, The ultimate overflow archive, Secure Programming HOW TO, Ugly site with good content, Secure UNIX programming FAQ, Writing safe SETUID programs, NSCA Secure programming guidelines, Geras Insecure Programming (THE way to learn how to exploit), More Challenges, Shellcode Archive, Links, y Windows Shellcode

    Corsaire ha publicado una serie de whitepaprers sobre Secure Development

    Threat Modeling Tool es una herramienta de Microsoft para la gestión de riesgos en las aplicaciones

  2. Desarrollo de Aplicaciones Web

    Interfaz de usuario web

    El código de interfaz que muestran las aplicaciones web a los navegadores estándar se basa en los lenguajes de hypertexto definidos por el World Wide Web Consortium. El estándar que dicta la sintaxis del protocolo HTTP/1.1 es la RFC 2068, que sustituye a la RFC 1945 del HTTP/1.0. La última especificación HTML es HTML 4.01, que puede validarse en línea en el W3C HTML Validation Service o bien desde el disco duro local. El lenguaje HTML se ha estandarizo ISO con la nomenclatura ISO/IEC 15445:2000(E). El nuevo estándar XHTML 1.0 es una reformulación de HTML en XML. El siguiente paso es modularizarlo, mediante la revisión XHTML1.1.

    La última especificación CSS es Cascading Style Sheets, level 2 CSS2 Specification y puede validarse online en W3C CSS Validation Service, o bien desde el disco duro local. Algunos recursos interesantes pueden encontrarse en Cascading Style Sheets home page.

    Accesibilidad

    Existen varias formas de comprobar la accesibilidad web, entre las que destacan el test de Cynthiasays, el Test de accesibilidad web y la Fundación SIDAR.

    Entre los gurús de la Accesibilidad se encuentran Jacob Nielsen y Jeffrey Zeldman. Uno de los principales congresos respecto a la Accesibilidad ce ralizarán en el User Experience 2004 Conference. Para desarrolladores, es interesante el artículo Making an ASP.NET Web Site Accessible

    Ayudas y tutoriales

    El programa HTML Tidy revisa la sintaxis de una página web e indica la sintaxis correcta de las etiquetas HTML, tanto como programa como mediante comprobación en línea en HTML Tidy Online. Otras referencias para el desarrollo web, son el Microsoft HTML Help y las Cheat Sheets para HTML y para a CSS, que constituyen una guía de referencia rápida y una Tabla de colores en html. En Internet hay multitud de tutoriales sobre html, css y xhtml como por ejemplo en W3Schools, HTMLweb y el Grupo ESIDE de Desarrollo de Internet.

    Sindicación Web

    Últimamente está muy de moda la sindicación web mediante RSS, para lo cual existen clientes específicos de RSS denominados Agregadores. Aunque muchos opinan que no es una tecnología madura, aunque sí útil. Existe un validador en Feed Validator.

    Servidores de Web

    Los servidores de web corporativos más utlizados son Microsoft Internet Information Services 6.0, Apache 2.0 y Sun Java System Web Sever 6.1. También hay varios otros servidores http más ligeros, como Xitami WebServer 2.5 o Abyss Web Server, que consume 2 MB de RAM.

    Sistemas de Front-End

    Las dos tecnologías actuales de Desarrollo de Aplicaciones Corporativas son Sun Java 2 Enterprise Edition y Microsoft .NET. En el artículo Java vs .NET Security se aborda comparativamente la seguridad entre ambas plataformas. Además de la ejecución en el servidor de JSP y ASP, también es posible la ejecución de PHP ó CGIs en PERL; incluso conplementada en el laso cliente, con controles ActiveX, archivos Flash y Shockwave y guiones JavaScript.

    Plataforma .NET

    Si duda, el entorno de desarrollo más popular para .NET es Visual Studio Visual Studio .NET. Actualmente existe una versión beta de Visual Studio 2005 Expres, que incluye Visual Basic, Visual C#, Visual C++, Visual J++, Visual WebDev y SQL Server. Para ello es necesario el .Net Framework 2.0 SDK beta, posteriormente el SQL Express 2005. .

    WebMatrix, es un entorno de desarrollo Web gratuito para ASP.

    Ten Must-Have Tools Every Developer Should Download Now es un artículo describiendo herramientas indispensable para la plataforma .NET

    Visual Studio Tools for the Microsoft Office System

    La alianza OWASP mantiene varios proyectos específicos OWASP .NET

    Plataforma JAVA

    Para tecnología J2EE se encuentran Sun Java Studio Creator, Early Access, SUn Java Studio Standard 5 update 1, Borland JBuilder IBM WebSphere Studio Application Developer, BEA WebLogic Workshop 8.1 Oracle JDeveloper 10g 9.0.5.2, Netbeans 3.6, Eclipse o IntelliJ, además de algunos otros IDES más ligeros.

    ActivePerl tiene mucho éxito como extensión de Perl bajo Windows

    PHP es un lenguaje de script muy utilizado para la generación dinámica de páginas web. Con un buen manual y una buena documentación. Se completa con dos repositorios de extensiones, PEAR y PECL. PHP and the OWASP Top Ten Security Vulnerabilities es un interesante artículo osbre cómo evitar errores frecuentes en PHP

    Servidores de Aplicaciones

    Tomcat, servidor de java servlets basado en Apache, Zope, realizado en Python. Sun Java System Application Server Standard Edition 7 2004Q2.

    Content Management Systems

    Aparte de soluciones comerciales como MicrosoftS Content Management Server, existe una multitud de productos OpenSOurce CMSs, como Plone (basado en Zope), Drupal, YaWPS, Yet Another Web Portal System, WebGUI Midgard, basado en Apache, MySQL y PHP; al igual que PHP-Nuke, postNuke, phpweb y Typo3.

    Sistemas de Backoffice

    Microsoft Biztalk Server, ERPs, CRMs, SCMs, etc.

    Bases de datos

    MS SQL Server 2000, Oracle 10g, PostgreSQL, MySQL

  3. Compiladores

    Recientemente, Oreilly ha sacado un póster con la evolución de los lenguajes de programación

    Microsoft apuesta por el Microsof .Net Framework. Hace tiempo liberó la documentación de las APIs Middleware de Windows en su Platform SDK Release: August 2002. Una de las más interesantes es la Windows Sockets 2 API. Además publica una serie de vídeos explicando varias tecnologías. Una de las mejores formas para comenzar el desarrollo web bajo .NET son los tutoriales de Mark Sapossnek.

    Sun apuesta por su Sun ONe Studio 4 CE, compilador gratuito de Sun para Java. Las librerías SWING permiten desarrollar aplicaciones gráficas basadas en GUI.

    El compilador de C/C++ más conocido es gcc, que está portado a Windows en varios entornos como el DJGPP, Cygwin, MinGW y Dev-C++.

    Puede encontrase un´compendio de lenguajes de programación en Resources for Programming Languages,

    http://www.guidetocomputertraining.com/library/programming-languages-basics

    TCL/TK es un lenguaje de scripting muy sencillo, como puede comprobarse en su "Hola, Mundo":

    	label .hola -text "Hola Mundo" 
    	pack .hola -padx 20 -pady 10 
    	

    Puede aprenderse este lenguaje mediante un Tutorial

    Brendan Gregg tiene un mismo programa de tipo Hello World! portado a varios lenguajes (awk, Batch, C, C++, C64-BASIC, csh, euphoria, Fortran, java, ksh, Perl, Python, QBASIC y sh).

    Doxygen es un buen sistema de apoyo a la documentación.

    Simuproc es un simulador de un procesador

  4. Programación de Sistemas [Actualizado el xxx de xxx de 2003]

Valid XHTML 1.0!

Copyright © 2003 Rafael Ausejo Prieto. Valid CSS!