Internet es un lugar peligroso para cualquier aplicación. De hecho, es normal decir que usted no podría crear un

Internet es un lugar peligroso para cualquier aplicación. De hecho, es normal decir que usted no podría crear un sistema menos seguro si lo intentó. Esta aplicación anónima es incontrolable, siempre activa e instantaneamente accesible desde cualquier lugar. Este es un mundo donde cada actor malo, cracker, script kiddie y scam es su vecino, y es enormemente difícil negarles el acceso a la puerta principal.
Y esas tan sólo son amenazas humanas. Cualquier persona puede controlar cientos o miles de sistemas distribuidos mediante scripts y técnicas diseñadas para la computación en clúster.
Los sistemas automatizados que hacen que las solicitudes de red, a veces llamadas de robots, se puedan operar legítimamente, como en el caso de los indexadores de Google o proxies de medios de Akamai, pero también pueden ser puestos para fines nefastos. Los ataques distribuidos de Denegación de Servicio ó Ataque DoS son una forma cruda de esto; Robots más sofisticados publican anuncios en tableros de mensajes, precios de índice en una amplia gama de sitios de comercio electrónico, o ciclos de procesamiento de información pirata y ancho de banda de otros sistemas.
A pesar de la protección que aplicamos en términos de firewalls y filtros de spam, la Internet sigue siendo un entorno hostil. TCP / IP es inseguro por diseño e intencionalmente eso es así. Cualquier sistema entre usted y un servidor de red puede leer y modificar los paquetes que son enviados.
En algunos casos, como con la Traducción de Direcciones de Red (NAT Network Address Translation), ellos supuestamente deben hacerlo.
Pero en otros casos, el filtro de contenido de firewall se nos viene a la mente: la capacidad de cambiar la carga útil de los paquetes está fuera de cualquier especificación o directrices. Y el problema no se limita a la modificación por intermediarios. Los paquetes se pueden generar arbitrariamente para que parezcan que vienen de algún otro lugar.
En cierto modo, esta inseguridad inherente es un regalo para el talentoso programador; este te obliga a dejar atrás tus suposiciones e inventar métodos creativos para mitigar las amenazas y luego la recuperación del mal uso o abuso de tu aplicación. El programador sabio verá esto como un beneficio, no un obstáculo. La falta de una solución fácil significa que una aplicación en línea bien escrita debe ser robusta, resistente al abuso y fácil de actualizar a medida que se descubren nuevas amenazas. Las prácticas seguras deben incorporarse a todos los niveles: en el sistema, en el código y en toda la interfaz.
En PHP, tenemos una herramienta increíble para lidiar con esta situación increíblemente extraña. PHP no solo es un lenguaje extremadamente flexible y potente, sino que fue escrito específicamente para aplicaciones en línea. Por lo tanto, incluye una serie de características que están diseñadas para protegerlo de ataques comunes. Desafortunadamente, la combinación de poder y facilidad de uso, incorporado por el lenguaje lo convierte en un candidato principal para el uso indebido, ya que tanto las personas que son nuevas en la programación como los codificadores experimentados que trabajan en un entorno más estructurado cometen errores o supuestos que exponen su aplicación, o los sistemas detrás de él, a los atacantes; colocándolas en constante riesgo.
He creado este artículo para que sea parcialmente una guía para ayudarle a entender la gran variedad de formas en que las aplicaciones en línea, específicamente las aplicaciones de cliente y servidor escritas en PHP (o con script), son vulnerables a ataques y mal uso. Por lo tanto, a veces discutiremos las prácticas seguras en general, sin ninguna referencia particular a PHP. Más importante aún, sin embargo, también nos centramos en cómo el lenguaje de programación PHP puede ayudar a sus esfuerzos en seguridad, por lo que tratamos de proporcionar a los desarrolladores de PHP un conjunto diario de prácticas de codificación segura y subsistemas relacionados con la seguridad que se pueden utilizar para construir, o por lo menos manejar seguro, las aplicaciones.

Siguiente Capítulo : La Importancia De La Seguridad en PHP.

Publique su comentário!: