Thursday, September 13, 2012

Comandos básicos de mySQL desde la Línea de Comandos de Windows


Comandos básicos de mySQL desde la Línea de Comandos de Windows


Para acceder a la línea de Comandos de Windows solo escribes cmd en el cuadro de las opciones de busqueda, Debes saber en que directorio está instalado tu servidor MySQL, en mi caso está en C:\AppServ\MySQL, cuando encuetres el símbolo  ◄┘ indica un Enter.

Digitarémos los siguientes comandos:


C:\AppServ\MySQL> cd bin ◄┘
C:\AppServ\MySQL\bin> mysql.exe -h localhost -u root -p ◄┘
Enter password: ***** ◄┘

Ahora hemos accedido a nuestra base de datos, por lo tanto crearemos nuestra primera base de datos:


mysql> CREATE DATABASE authentication; ◄┘
mysql> SHOW DATABASES; ◄┘

El crear una tabla no la selecciona automáticamente para ser usada, así que tenemos que hacerlo de forma explicita,


mysql> USE authentication; ◄┘ Database changed

allí podremos crear algunas tablas:


mysql> create table ctg_usertype
(id_UserType int not null auto_increment,
tx_UserType varchar(100),
primary key(id_UserType)); ◄┘


mysql> create table tbl_users(
id_user int not null auto_increment,
tx_name varchar(50) not null,
tx_lastname varchar(50),
tx_function varchar(50),
tx_email varchar(100),
tx_username varchar(50),
tx_password varchar(250),
id_UserType int,
primary key(id_user),
foreign key(id_UserType) references ctg_usertype(id_UserType)); ◄┘


una vez la tabla ha sido creada podemos verla con el siguiente comando

mysql> show tables; ◄┘
+--------------------------+
| Tables_in_authentication
+--------------------------+
| ctg_usertype
| tbl_users
+-------------------------+

para verificar que la tabla fue creada como se esparaba podemos usar el comando DESCRIBE:

mysql> DESCRIBE authentication; ◄┘

Ahora vamos a insertar algunos registros

msql> INSERT INTO ctg_usertype VALUES (1, 'admin'); ◄┘
msql> INSERT INTO ctg_usertype VALUES (2, 'user'); ◄┘
msql> INSERT INTO ctg_usertype VALUES (3, 'guest'); ◄┘

msql> INSERT INTO tbl_users VALUES (1, 'admin', 'admin', 'administrator', admin@mydomain.com','admin', 's3cr3t', 1); ◄┘
msql> INSERT INTO tbl_users VALUES (5, 'Sujel', 'Murillo', 'tester', smurillo@mydomain.com','smurillo', '12345', 2); ◄┘
msql> INSERT INTO tbl_users VALUES (6, 'test', 'test', 'temporal guest', guest@mydomain.com','guest', '12345', 2); ◄┘


Para comprobar que se han agregado bien los registros vamos a utilizar:
mysql>  SELECT * FROM ctg_usertype;
mysql> SELECT * FROM tbl_users;

Si tienes información adicional sobre este tema, tus comentarios o links de referencia serán bienvenidos.

Friday, July 27, 2012

Cuaderno IV de Apuntes de PHP:  Manipulación de Archivos (Escritura,  Lectura y Eliminación)

Funciones útiles para escribir en un archivo

La siguiente imagen muestra el formulario con los campos de entrada de texto, el primero se llama "titulo" y el segundo es un cuadro de Area de Texto llamado "textoDelUsuario"


El archivo de procesamiento de datos se llama curso17_guardarText.php. Aquí utilizaremos la variable $escribir que hace las veces de buffer, almacenando  el nombre y el tipo de archivo que estamos creando,  En este caso se llama "NombreDelArchivo.txt", 

<?php
//Prepara el archivo para escribir 
$escribir = fopen("NombreDelArchivo.txt","a") or die ("Problemas al crear archivo"); 
//Dando forma al archivo
fwrite($escribir,"Título: ".$_GET['titulo']); 
fwrite($escribir,"\n..................................................................................................\n\n"); 
fwrite($escribir, $_GET['textoDelUsuario']);
fwrite($escribir,"\n____________________________________________________________\n\n");
//Cierra el archivo
fclose($escribir);
echo "Datos guardados en el archivo: \"NombreDelArchivo.txt\" ";
?>
fopen(NombreDelArchivo.txt, "a")= es una función utilizada para crear y manipular  archivos, el segundo parámetro  a crea un nuevo archivo si este no existe, en el caso contrario, que el archivo con   ese nombre exista agrega datos al final.
die("Mensaje que quieras escribir en caso de error")= termina la aplicación si se genera algún error, podemos escribir un mensaje de salida.
fwrite(NombreDelArchivo.txt, "Cadena a escribir")= Agrega al archivo de escritura la cadena de caracteres que tengamos en el segundo parámetro. 
fclose(NombreDelArchivo.txt) = Cierra el archivo 

Funciones útiles para Leer un archivo

Usaremos la variable $leer para almacenar el nombre del archivo de lectura.

<?php 
$leer=fopen("NombreDelArchivo.txt","r") or die("No se pudo abrir el archivo NombreDelArchivo.txt");
    // El while se ejecuta hasta que lee la última línea ubicada al  final del archivo de texto (Mientras no sea la última línea)
while (!feof($leer)){
$linea = fgets($leer);
$saltoDeLinea = nl2br($linea);
echo $saltoDeLinea;

?>

feof("NombreDelArchivo.txt") indica cuando el puntero alcanza el final del archivo de texto
fgets("NombreDelArchivo.txt") Obtiene la línea de donde se encuentra el puntero
nl2br($cadenaDeCaracteres) Convierte los /n a <br/> que son los saltos de línea de HTML y PHP

Funciones útiles para Borrar un archivo


Este primer archivo es útil para mostrar el cuadro que nos ayuda a seleccionar el archivo que deseamos borrar.
<html>
<head><title>Borrar Archivos</title></head> 

<body>
<form action="curso19_borraArchivos.php", mode="post", name="frm">
<input type="file" name="archivo" /><br/>
<input type="submit" value="Eliminar"/>
</form>
</body>
</html>

Este es el archivo de entrega de datos "curso19_borraArchivos.php" donde se ejecuta el borrado del archivo.
<?php
        $nombreArchivo = $_GET['archivo'];
        unlink($nombreArchivo);
        echo "El archivo ". $nombreArchivo." ha sido borrado con exito";
?>

unlink(NombreDelArchivo.txt)= es una función utilizada para borrar archivos.


Los archivos de Texto de todas las lecciones los puedes descargar Aquí. .
Lista con todos los cuadernos de Apuntes de PHP Aquí.

Mas información en  Manual de php en Castellano: Función fopen()

Si tienes información adicional sobre este tema, tus comentarios o links de referencia serán bienvenidos.




Monday, July 23, 2012

Cuaderno III de Apuntes de PHP: Ejercicios resueltos con Formularios 

Envío de datos entre Formularios (Tutorial 14)

El video de implementación lo encuentras en  Tutorial PHP - 14. Formularios. Creamos un formulario básico y lo he llamado curso14_form.php


En este caso hemos utilizado el método post para comunicar los dos archivos internamente, el segundo archivo llamado curso14_procesar.php. recibe los datos de entrada y los imprime en pantalla.

<?php
// recibimos los valores del campo de texto con el método $_POST 
$nombre = $_POST['nombre'];
$apellido = $_POST['apellido'];

echo $nombre." ". $apellido;
?>

El parámetro action soporta también   method= "get" el cual envía los datos a través de la URL
<?php
// recibimos los valores del campo de texto con el método $_GET
$nombre = $_GET['nombre'];
$apellido = $_GET['apellido'];

echo $nombre." ".$apellido;
?>

Ahora la URL se ve así:

Diseño de una calculadora (Tutorial 15 y 16)

Este ejercicio es un repaso de todo lo aprendido anteriormente, el video de Como crear una calculadora en PHP, nos enseña a generar un formulario de inicio con tres campos de texto en blanco (c1,c2 y c3) el cual solicita al usuario los datos a operar y un menú desplegable llamado lista para seleccionar la operación, el resultado será mostrado en una segunda página llamada curso15_procesar.php,el método de envío de datos es "post". 


En segundo archivo ejecutamos las


<?php
// recibimos los valores c1, c2 y c3 de los campos de texto y lista del menú desplegable con el método $_POST
$c1 = $_POST['c1'];
$c2 = $_POST['c2'];
$c3 = $_POST['c3'];
$operacion = $_POST['lista'];
// en este caso utilicé funciones para repasar un poco
function fsuma($c1,$c2,$c3){
$c4= $c1+$c2+$c3;
return $c4;
};
function fresta($c1,$c2,$c3){
$c4= $c1-$c2-$c3;
return $c4;
};
function fmultiplica($c1,$c2,$c3){
$c4= $c1*$c2*$c3;
return $c4;
}
function fdivide($c1,$c2,$c4){
$c4= $c1/$c2/$c3;
return $c4;
}
// Este if se utiliza para evitar que el usuario inserte campos en blanco
if (isset($c1) && !empty($c1) &&
isset($c2) && !empty($c2) &&
isset($c3) && !empty($c3) )
{ // Aquí  procesamos en realidad los datos
switch($operacion){
case suma: $c4=fsuma($c1,$c2,$c3);
break;
case resta:$c4=fresta($c1,$c2,$c3);
break;
case multiplicación:$c4= fmultiplica($c1,$c2,$c3);
break;
case división:$c4= fdivide($c1,$c2,$c3);
default: $c4=0;
}
echo "La  &nbsp;".$operacion." es igual a ".$c4;
} else echo "Debes llenar todos los campos.";
?>

Los archivos de Texto de todas las lecciones los puedes descargar Aquí.
Lista con todos los cuadernos de Apuntes de PHP Aquí.

Si tienes información adicional sobre este tema, tus comentarios o links de referencia serán bienvenidos.

Sunday, July 22, 2012

Cuaderno II de Apuntes de PHP: Control de Flujo

if

<?php
if(8 != 7 && 1 < 5 ){
echo "esto es verdad";
} elseif (5 == 5){
echo "la segunda condición es verdad";
}else {
echo "esto No es verdad";
}
?>
Salida en Pantalla: esto No es verdad


while

Permite repetir un conjunto de instrucciones mientras una condición se esté cumpliendo, recordar incrementar la variable de control para evitar caer en un blucle infinito.
<?php
$aumento=5;
while ($aumento <10){
echo $aumento . ", ";
$aumento++;
}
?>
Salida en pantalla: 5, 6, 7, 8, 9,


do while

Permite realizar el conjunto de instrucciones antes de verificar la condición, cuando la condición se cumple sale del ciclo. si la condición nunca se cumple, igual ejecuta el bloque una sola vez.
<?php
$cuenta=10;
do {
echo $cuenta . ", ";
while ($cuenta <9);
?>
Salida en pantalla: 10, 


for

Aunque la mona se vista de seda, mona se queda, este es un while pero mas bonito. 
<?php
for ($cuenta=1; $cuenta<5; $cuenta++){
echo $cuenta . ", ";
;
?>
Salida en pantalla: 1, 2, 3, 4, 


foreach

Recorre todos los elementos de un vector . 

<?php
$vector1 = array ("ele1","ele2","ele3");
foreach ($vector1 as $eleX){
echo $eleX . ", ";
} ;
echo "<br>";
$dir = array("Nombre"=>"Nena","Tel"=> 123456789);
foreach ($dir as $tags => $datos){
echo $tags. ": ". $datos. "<br>";
} ;
?>

Salida en pantalla: el1, el2, el3, 
                                 Nombre: Nena
                                 Tel: 123456789


switch- case

Cuando una variable toma  valores predefinidos y específicos, podemos usar esta forma:

<?php
$var = 10;
switch ($var){
   case 1: echo "uno";
   break;
   case 10: echo "diez";
   break;
   case hola: echo "hola";
   break;
   default: echo "es otro valor";
}
?>

Salida en pantalla: diez 





Funciones


<?php

function fun($p1,$p2,$p3){

$suma = $p1 + $p2 + $p3;

$mult  = $suma * 2;

return $mult;

};

echo fun(5,2,10);

?>
Salida en pantalla: 34                
Lista con todos los cuadernos de Apuntes de PHP Aquí.
Si tienes información adicional sobre este tema, tus comentarios o links de referencia serán bienvenidos.
 

Cuaderno I de Apuntes de PHP : Introducción


En esta entrada he escrito mis apuntes del Curso PHP Código Facilito, para empezar solo necesitaras instalar un servidor Web y configurarlo.  Ahora podemos escribir  nuestro código PHP y HTML en un editor de uso libre por lo tanto necesitamos Descargar Notepath++  e instalarlo.

Todos los archivos que queremos publicar se guardan en:  C://AppServ/www. Alli podemos crear una carpeta con el nombre que queramos, por ejemplo miProyectoPHP. El archivo con nuestro codigo lo debemos crear con una extención .php y  por ejemplo miCodigo.php. Entonces el camino de acceso al archivo de código sería: C://AppServ/www/miProyectoPHP/miCodigo.php


Para probar como funciona el código que hemos escrito, abrimos de nuevo el navegador y en la barra de busqueda escribimos: localhost:8000/miProyectoPHP/miCodigo.php

Notas

El código está limitado por la etiqueta de inicio      <?php y la etquita de cierre ?>.
Imprimir en pantalla:                                             echo "Texto entre comillas";
                                                                          print "Texto entre comillas";
Salto de Línea                                                      <br/>
Espacio en blanco                                                &nbsp;
Comentario corto                                                 // Este es un comentario corto
Comentario largo                                                 /* Este comentario puede ocupar muchas líneas*/

Variables (Tutorial 3)

Gurdan datos de diferentes típos, ya sean numericos, booleanos, cadenas de caracteres, etc. Se declaran por medio del simbolo $ seguido por el nombre o identificador de la variable, que no puede tener simbolos ni espacios. por Ejemplo:

<?php
$edad= 20;  //Variable numérica
$nombre= "Ana"; //Variable caddena de caracteres
$registro = true;         // Variable Booleana(0 o nada >Falso y 1>verdadero)
echo "Me llamo ";
echo $nombre; 
echo " tengo ";
echo $edad;
echo " años, y mi registro es: ";
echo $registro;
?>
Salida en navegador: Me llamo Ana tengo 20 años, y mi registro es: 1 

Vectores o Arreglos (Tutorial 5)

La posición de los objetos de los Vectores predefinidos se cuenta desde 0

<?php
$vectorNumeros = array(1,2,3,4,5);
$vectorNombres = array("Victoria","Diana", "Maria", "Pepa", "Luisa");

echo "El primer valor de mi arreglo es está en la posición 0: ";
echo $vectorNumeros[0];
echo $vectorNombres[0];
?> 
Salida en navegador: El primer valor de mi arreglo es está en la posición 0: 1 Victoria


Los Vectores asociativos o personalizados requieren que insertemos una etiqueta para ubicar cada elemento del vector. En el siguiente ejemplo se han creado 2 vectores, uno de números (con etiquetas L1,L2,...) y otro de nombres(con etiquetas p1,p2,...).
<?php
$vectorAsociativoNumeros = array("L1" => 11, "L2" => 12,"L3" => 13, "L4" => 14,"L5" => 15);
$vectorAsociativoNombres = array("p1" =>"Victor","p2" =>"Diego","p3" => "Mario","p4" =>"Pepe", "p5" =>"Luis");
echo "<br/>El último elemento de mi arreglo asociativo es: ";
echo $vectorAsociativoNumeros[L5];
echo "<br/>El último elementos de mi arreglo asociativo es: ";
echo $vectorAsociativoNombres[p5];
?> 


Las etiquetas y el tipo de datos dentro de los vectores, puede ser creado según mas te acomode.

<?php
$Mezcla = array("Nombre" =>"Tatiana","Edad" => 21,"Direccion" => "Casa 1","ID" => 1111, "Cuenta" =>true);
echo "<br/>Nombre: ";
echo $Mezcla[Nombre];
echo "<br/>Edad: ";
echo $Mezcla[Edad];
echo "<br/>Activación: ";
echo $Mezcla[Cuenta];
?>
Salida en navegador:
            Nombre: Tatiana
           Edad: 21
           Activación: 1


Operadores (Tutorial 6)

  • Asignación: Solo hay uno y es "=", el cual permite asignar un valor a una variable
  • Aritméticos: +, - , *, /, %, ...
  • Comparación: Igual(==). idéntico (===), Diferente (!= ó <>),   No idéntico (!==), <,<=, >,>=
  • Incremento o decremento: ++, --. Si se escriben el operador antes de la variable   ++$variable el valor se incrementa antes de ser mostrada, si se escriben después   $variable++ , primero se opera y después se incrementa.
  • Lógicos: y (&& o and), o (|| o or), o exclusivo (xor)
  • Concatenación: Une dos cadenas por medio de un punto "." o con .= para signar datos a una variable ya existente,  es muy útil a la hora de enviar correos
                   <?php
                   $usuario = array("Nombre" =>"Tatiana","Edad" => 21,"Direccion" => "Casa 1","ID" => 1111, "Cuenta" =>true);
                   $texto = "Mi nombre es " . $usuario[Nombre] .  " y tengo ". $usuario[Edad] . " años";
                   echo $texto;
                  $texto .= ", ahora agregué esta línea";
                  echo "<br />" . $texto;
                   ?>

                  Salida en Pantalla
                              Mi nombre es Tatiana y tengo 21 años
                              Mi nombre es Tatiana y tengo 21 años, ahora agregué esta línea

  • Control de Errores: @
               <?php
        echo "Ejemplo que NO omite errores";
        error();     // Produce un error porque no hemos definido la función error()
               ?>
               Salida en Pantalla: Ejemplo que NO omite errores
                                                Fatal error: Call to undefined function error() in    
                                                C:\AppServ\www\CodigoFacilitoPHP\curso06_errores.php on line 3
               <?php
        echo "Ejemplo con control de errores";
        @ error();     // No muestra en pantalla que hay un  error porque no hemos definido la función    
                  ?>         
               Salida en Pantalla: Ejemplo con control de errores    
                              
Continuación "Cuaderno II de apuntes de PHP: Controles de Flujo"
Lista con todos los cuadernos de Apuntes de PHP Aquí.

Si tienes información adicional sobre este tema, tus comentarios o links de referencia serán bienvenidos.

Tuesday, July 17, 2012

Instala tu propio Servidor Web en solo 6 pasos Instala tu propio Servidor Web en solo 6 pasos

Para empezar solo necesitaras instalar un servidor Web y configurarlo. No te asustes es fácil,  Usaremos el AppServ 2.6.0 que posee las siguientes herramientas:

  • Apache 2.2.8
  • PHP 6.0.0-dev
  • MySQL 6.0.4-alpha
  • phpMyAdmin-2.10.3

Ademas en este Video de instalación te explican paso a paso como hacerlo, lo hacen con una versión anterior pero no cambia nada. Primero Descarga AppServ 2.6.0 ,  ejecuta el archivo y sigue las instrucciones.

Click en Next, Acepta las condiciones de la licencia, y ubica la carpeta donde vas a instalar tu servidor Webverifica que tu disco tenga al menos 77.5MB de espacio disponible . 

En la siguiente ventana todas las herramientas deben estar seleccionadas

Ahora escribimos el nombre del Servidor, en este caso es localhost,  tu correo de administrador y el puerto debe ser 8000

Escribe el Password de root de MySQL, selecciona la casilla de Old Password Support e instala.

El servidor arranca cuando termina la instalación

Ahora abres tu  navegador favorito (Chrome, firefox,...)  y en la barra de búsqueda escribes
localhost:8000 cuando oprimes enter te debe aparecer la siguiente información:



Esto indica que el Servidor Web está bien instalado. Para empezar a escribir código PHP y HTML, te recomiendo Descargar Notepath++ .  Ahora te invito a que revises mi Cuaderno I de Apuntes de PHP: Introducción..
Lista con todos los cuadernos de Apuntes de PHP Aquí.

Si tienes información adicional sobre este tema, tus comentarios o links de referencia serán bienvenidos.

Tuesday, April 24, 2012

Manual de Protección IT Básica - IT Baseline Protection Manual - IT-Grundschutz

La seguridad en los sistemas y estructuras IT es un tema de relevante importancia que concierne no solo a las organizaciones gubernamentales y privadas, también a nosotros mismos.

Estamos en la era de la información, donde los datos se han convertido en un activo de valor apreciable. muchos procesos empresariales de vital importancia son controlados digitálmente. Además, la cantidad de información confidencial que es almacenada, manipulada y transmitida a través de redes o diferentes canales de comunicación es cada día mayor.

BSI

La Oficina Federal Alemana para la seguridad de las tecnologías de la Información (BSI - Bundesamt für Sicherheit in der Informationstechnik) es un organismo independiente y neutral que se encarga de las cuestiones relacionadas con seguridad informática. Fue fundada en Bonn (Alemania) en 1991 como entidad gubernamental con un presupuesto anual de aproximadamente € 65 millones y al rededor de 500 empleados.
La BSI ofrece numerosas herramientas disponibles para lograr un nivel adecuado de seguridad, como las normas básicas requeridas para gestionar la seguridad de la información, el Manual de referencia de protección IT, GSTOOL y la certificación ISO 27001 basada en la norma "IT-Grundschutz", la cual incluye un examen de gestión de seguridad de la información, así como especificaciones de las medidas de seguridad.
Las principales actividades de Investigación del BSI son:
  • Seguridad en Internet
  • Campañas de sensibilización para promover la seguridad IT
  • Asegurar el gobierno en Línea
  • Protección de líneabase IT
  • Certificación y acreditación (incluyendo CC)
  • Criptografía, la biometría
  • Monitorear seguridad
  • Protección de infraestructuras críticas
  • Colaboraciones nacionales e internacionales

Manual básico de Protección IT del BSI

Esta es la publicación más conocida del BSI, fue publicado por primera vez en 1994 y describe con gran nivel de detalle diferentes temas relacionados con la gestión de seguridad de la información, ademas de medidas aplicables en diferentes áreas, no solo relacionadas con tecnología, también en la estructura organizacional, personal e infraestructura física de las organizaciones.
Varios capítulos de este manual fueron actualizados y reestructurados en el año 2005, de donde han resultado dos tomos separados: Los Estándares de seguridad del BSI y el catalogo de IT Grundschutz. Los catalogos Se compone de varios capitulos genéricos de recomendaciones para el establecimiento de un proceso de aplicación de IT de seguridad y recomendaciones técnicas detalladas para alcanzar el necesario nivel de seguridad de TI en dominio específico.
El catalogo IT-Grundschutz proporciona un método sencillo para que las organizaciones puedan implementar La norma SGSI (Sistema de Gestión de Seguridad de la Información). Se compone de dos manuales genéricos de recomendaciones de seguridad IT, los cuales son útiles al establecer procesos de implementación de seguridad IT, y recomendaciones técnicas detalladas para alcanzar un nivel de seguridad adecuado en un dominio específico.
El catalogo IT Grundschutz propone consta de los siguientes pasos en el proceso de implementación de un sistema de seguridad IT:
  • Inicio del proceso
  • Definición de los objetivos de seguridad según el entorno empresarial
  • Establecimiento de una estructura organizativa de seguridad
  • Provisión de recursos y presupuesto necesario
  • Creación del concepto de seguridad a nivel de la organización
  • Análisis de la infraestructura IT
  • Evaluación de los requisitos de protección
  • Planificación, Modelado y diseño del esquema de seguridad
  • Verificación del modelo y el diseño implementado
  • Análisis complementario de Seguridad
  • Aplicación física y realización
  • Mantenimiento, seguimiento y mejora del proceso
  • TI-Grundschutz Certificación (opcional)

Los Catalogos IT Grundschutz

Tienen una estructura modular y contienen secciones independientes para establecer una estructura de seguridad, así mismo, recomendaciones y medidas de seguridad para casos específicos. Describe también las amenazas principales que afectan a una organización y algunas medidas de protección. Así, las organizaciones pueden centrarse en los módulos que sean de interés según su área.
Los módulos del Catálogo de TI-Grundschutz se actualiza y amplía regularmente, teniendo en cuenta los últimos adelantos técnicos en cuanto a Sistemas IT se refiere. Se publican como un conjunto de hojas sueltas, en DVD y también en Internet. Link here



Idea: Existe riesgos similares en muchos sistemas de información, así que se utiliza el principio de reutilización de los catálogos ya predefinidos con medidas de evaluación para los componentes IT similares. Los procesos de aplicación utilizan los siguientes elementos básicos de construcción :
  • Reutilización
  • Capacidad de adaptación
  • Extensibilidad
BSI 100-1: SGSI
Sistemas de Gestión de Seguridad de la Información dirigida a el are directiva, es Compatible con la norma ISO 27001 y cumple con las estrategias y recomendaciones de ISO 13335 y 17799 (27002)
BSI 100-2: Metodologia
Imagen cuadro (Diapositiva 12)
Análisis de la estructura IT:
  • ¿Qué dispositivos hay en mi sistema de Informacion?
  • ¿Cuáles son las dependencias entre estod dispositivos?
  • ¿Como se relaciona Informacion?
Se define el ámbito de aplicación para la creación del concepto de seguridad, y su relacion en la totalidad la infraestructura, personas y componentes técnicos que hacen parte de la organización.
Se analiza el desempeño y las funciones en una aplicación particular. Por ejemplo, el procesamiento de la información o la utilización de recursos informáticos.
El analisis de la forma en que se relaciona la información incluye: * La estructura IT de toda la organización * La estructura IT de cada una de las áreas individuales (por ejemplo, el departamento de redes) o las aplicaciones informáticas (por ejemplo, el sistema de información del personal) * Los procesos de negocio
Subtareas del Análisis Estructural:
* El registro de los procesos de negocio, aplicaciones y la información relacionada
* Creación o actualización la topología de red
* Evaluación de los sistemas IT
* Encuesta de sistemas de TI
* Creación y adaptacion de espacios seguros
* Reducción de la complejidad formando pequeños grupos de evaluación
Requisitos de protección:
Evaluación de los requisitos de confidencialidad, integridad y disponibilidad (Normal - alto - muy alto)
la necesidad de protección no suele ser fácilmente cuantificable, por lo tanto está limitada a tres categorías:
  • "Normal": Los efectos de los daños son limitados y manejables.
  • "Alto": Los efectos de daño pueden ser ser sustanciales.
  • "Muy alto": Los efectos y alcance de daño puede ser amenazante y catastróficos para la existencia de la organización
Pasos de los Requisitos de protección

  • Definición de las categorías Requisitos de protección
  • Solicitudes, incluyendo sus datos Sistemas de TI
  • Enlaces de comunicación
  • Aulas de informática
  • el uso de escenarios típicos de los daños
  • Documentación de los resultados

Requisitos de protección de los sistemas IT
* Principio Máximo: En un sistema de TI pueden ejecutar múltiples aplicaciones. En esencia se determina el daño con la más grave y el Impacto de las necesidades de protección del sistema de TI.
Efecto acumulativo: Causada por la acumulación de varios (por ejemplo, más pequeño) un daño mayor daño total general. Los requisitos de protección del sistema de TI
aumenta en consecuencia.
Distribución de efecto: Una aplicación transfiere su exigencia de una alta protección no se basa en un sistema de TI, ya que ejecuta en este sistema de TI sólo pequeñas partes de la aplicación de TI.
Con un diseño de sistema redundante es las necesidades de protección de los componentes individuales inferiores a los requisitos de protección de la aplicación en general.

Comprobación de seguridad básica:
- Objetivo de comparación

- Posible implementación de todas las medidas

Comparación real de las medidas Realizadas con las medidas Recomendadas para proceder a su implementación:

Estado de la aplicación de medidas
  • <Sí> La medida se aplica plena y eficazmente.
  • <Indispensable> hay otras medidas o La amenaza no existe.
  • <parcialmente> La medida está parcialmente implementado.
  • <No> La medida no se aplica.

Medidas
A: medidas esenciales
A + B: medidas más importantes
A + B + C: las medidas pertinentes
Z: medidas adicionales

W: Conocimiento

Comprobación de seguridad básica:
- Deben compararse
- Posible implementación de todas las medidas
análisis complementario de seguridad:
- Del mismo modo detallado análisis de riesgo
- A diferencia de otros métodos: "Peligros" como una combinación de Amenazas y vulnerabilidades

Norma: BSI 100-3 Análisis de riesgos basados en los catalogos de IT Grundschutz
1. Preparación de Amenaza de resumen
2. Identificación de los adicionales Peligros
3. Evaluación de riesgos
4. Medidas para la selección y tratamiento de los riesgos
5. Consolidación del Concepto de seguridad

El tratamiento de los riesgos
Transferir
Monitoreo... pag 30

Herramienta de línea de base de TI de Protección
Apoyo para 
• Aplicación de un análisis de GS

• Generación de informes
• Certificación
Costo:
• alrededor de € 900 para la versión de usuario único,
• Versión de prueba gratuita por 30 días


La certificación ISO 27001 con las bases IT GS

sobre la base de la protección basal TI
ISO 27001 + Protección de lineabase


Fases de certificación de la norma ISO 27001 -

Inicialización
• Certificación de la aplicación
• Autoridad para llevar a cabo una auditoría
• Si es necesario. Coordinación de la Red de Información

Realización de la auditoría
• Revisión de la documentación
• Preparación de las actividades de auditoría en el sitio
• Llevar a cabo auditorías de los locales

Re-certificación de la Auditoría
• la ejecución de las actividades de auditoría en el sitio

Revisión de las auditorías
• Elaboración de informes de auditoría
• Revisión

IT de referencia la certificación de protección desde el año 2006

Una certificación de las partidas del balance ...

incluye tanto una revisión del SGSI y el hormigón
Las medidas de seguridad sobre la base de la protección de referencia de TI,
siempre incluye una certificación oficial de la ISO a la norma ISO 27001,
Sin embargo, debido a los aspectos técnicos, además, examinados
mucho más significativa que una pura certificación ISO.
Autorizado por los auditores BSI ...
cumplir todos los requisitos que la ISO es para los auditores de un SGSI (ISO 27006)

Certificado de Protección de línea de base
Nivel de Entrada: Auditor Certificado, medidas indispensables (A)

Nivel Avanzado: Auditor Certificado, Medidas importantes  (A + B)
Certificado: Medidas relevantes (A + B + C), pruebas delSGSI despues de ISO 27001

¿Por qué certificarce?

Optimización de los procesos internos
  • funcionamiento ordenado de TI efectivo
  • a medio plazo ahorro de costes
Nivel de seguridad de TI se puede medir

Aumentar el atractivo para los clientes y socios de negocios con requisitos de alta seguridad
Los empleados y la gestión se identifican con Los objetivos de TI de seguridad y se sienten orgullosos de nuestros logros

Página 44
Las experiencias con la certificación
La certificación es adecuado para las pequeñas empresas, tales como
adecuado para grandes centros de datos!
La aplicación de la protección básica de TI: 6 - 12 meses
Los gastos del auditor: 15 - 30 días

Factores de éxito:
  • Apoyo a la gestión
  • La comprensión, la cooperación y la activa El apoyo de la TI y los gerentes de telecomunicaciones
  • agrupación coherente
  • Herramienta de Apoyo

Página 45
Licencia de Auditor ISO 27001
La licencia es el punto de partida del Auditor y es  válida por 5 años.
De formación anual sobre la reunión libre de los auditores
Una extensión de la validez
es una nueva aplicación
posible
descargarse del sitio web: www.bsi.bund.de/gshb/zert/auditoren/lizensierungsschema.htm

Guia de Segurida IT

• Información básica para PYMEs
• Las medidas de fracaso (50)
• Listas de comprobación

La protección básica GSTOOL
• Formación de la metodología
• Auto-estudio
• cada 4 horas

El proceso de seguridad de TI que ella propone-Grundschutz consta de los siguientes pasos:
R.A. Fases método apropiado para

La identificación de riesgos: Cada módulo de TI-Grundschutz contiene una lista de las amenazas típicas. Las amenazas también se clasifican en 5 catálogos de amenazas. Identificación de las amenazas adicionales se lleva a cabo durante el análisis de riesgo suplementario.

La caracterización del riesgo es el resultado de la evaluación de las necesidades de protección. Para este propósito, las categorías de protección requisito se definen y escenarios posibles daños son asignados a estas categorías de protección requisito. Una caracterización del riesgo que se den más en el análisis de riesgo complementaria, cuando los riesgos se caracteriza con la ayuda de la decisión de asignar de la forma de manejar

El análisis de riesgos: Para cada amenaza, contenida en un módulo, una descripción detallada de la rosca se proporciona.

La evaluación del riesgo: Una evaluación de la exposición se realiza dentro de la evaluación de los requisitos de protección con la ayuda de escenarios de daños. Por las amenazas identificadas en el marco de un análisis de riesgo adicional, la evaluación de la exposición se lleva a cabo durante la fase de la evaluación de las amenazas.

R.M. Fases método apropiado para la evaluación de riesgos:

El tratamiento de riesgos: Los catálogos de dispositivos de seguridad recomendados. Descripción detallada de las garantías asignadas a cada módulo de TI Grundschutz. Asignación de las salvaguardias a las amenazas consideradas (cruzar las tablas de referencia).

Aceptación del riesgo: El análisis de riesgos basado en TI-Grundschutz ", amenazas de manipulación" en la Parte C.
Fuentes:
https://www.bsi.bund.de/ContentBSI/grundschutz/intl/intl.html
http://rm-inv.enisa.europa.eu/methods_tools/m_it_grundschutz.html
http://de.wikipedia.org/wiki/IT-Grundschutz

Informacion Adicional

Si tienes información adicional sobre este tema, tus comentarios o links de referencia serán bienvenidos.

ISO/IEC 27005 Gestion de riesgos de seguridad de la Información

Esta norma contiene recomendaciones y directrices generales para la gestión de riesgos en sistemas de seguridad de la Información. Es compatible con los conceptos generales especificados en la norma ISO/IEC 27001 y está diseñada como soporte para aplicar satisfactoriamente un SGSI basado en un enfoque de gestión de riesgos.

la norma ISO/IEC 27005 reemplaza a la norma anterior, ISO13335-2 "Gestión de seguridad de la información y la tecnología de las comunicaciones". La norma fue publicada por  primera vez en junio de 2008, aunque hay una nueva versión mejorada en el 2011.

El riesgo se define como una amenaza que explota la vulnerabilidad de un activo pudiendo causar daños. El riesgo IT está relacionado con el uso, propiedad, operación, distribución y la adopción de las tecnologías de la Información en una organización. Aunque no existe un método concreto de como gestionar riesgos, se recomienda usar un proceso estructurado, sistemático y riguroso de análisis de riesgos para la creación del plan de tratamiento de riesgos.

Los indicadores de riesgo muestran si la organización está sujeta o tiene una alta probabilidad de ser sometida a un riesgo que excede el riesgo permitido.


Gestión de Riesgos en Tecnologías de la Información 


Gestión del Riesgo es una actividad recurrente que se refiere al análisis, planificación, ejecución, control y seguimiento de las medidas implementadas y la política de seguridad impuesta.

La actualización de establecimiento, mantenimiento y continua mejora de un SGSI ofrecen una clara indicación de que una empresa está utilizando un enfoque sistemático para la identificación, evaluación y gestión de riesgos de seguridad de la información.

Identificación de riegos 


Un evento solo es un riesgo si existe un grado de incertidumbre asociado con el, por ejemplo:El valor de un activo puede cambiar su valor durante la ejecución de un proyecto, por experiencia esto es cierto, pero ¿cuanto puede cambiar? no lo sabemos, por lo tanto es un riesgo que debemos evitar en un proyecto pequeño. Por lo tanto debemos estar seguros de identificar el riesgo en realidad y no sus causas o efectos.

Si consideramos otro ejemplo, debemos instalar una determinada aplicación de software en varias sucursales de una empresa, pero no todas las oficinas poseen la misma capacidad de almacenamiento o las ultimas actualizaciones de sistemas operativos
  • ¿Es un riesgo la instalación? No, es un requerimiento
  • ¿Es un riesgo de que alguna sucursal termine sin usar la aplicación? No, este es un efecto en este proyecto, sin embargo puede ser un riesgo futuro que la sucursal  no tenga la aplicación.
  • ¿Es un riesgo que la aplicación no se pueda instalar por algún motivo? Si, es incierto, solo lo sabremos cuando lo intentemos
Ejemplos de Riesgos en IT
  • Corrier aplicaciones en condiciones vulnerables
  • Sistemas operativos, vulnerables y sin actualizaciones
  • Diseñar aplicaciones inapropiadas, incompletas, con bugs y errores recurrentes
  • Tecnologías obsoletas
  • Mal rendimiento de la infraestructura IT

Evaluación del riesgos


Es necesario establecer un vínculo entre los escenarios de riesgos IT y el impacto empresarial que estos generarían, para así comprender el efecto de los eventos adversos que se pueden desencadenar.

La evaluación de riesgos se ejecuta en los puntos discretos de tiempo (por ejemplo una vez al año, en la demanda, etc) y - hasta que el rendimiento de la próxima evaluación - proporciona una visión temporal de los riesgos evaluados.

La evaluación de riesgos se realiza a menudo en más de una iteración, la primera es una evaluación de alto nivel para identificar los riesgos altos, mientras que las iteraciones posteriores detallan en el análisis de los riesgos principales y tolerables. Varios factores ayudan a seleccionar eventos con cierto grado de riesgo:
  • Probabilidad
  • Consecuencias
  • Ocurrencia
  • Urgencia
  • Maleabilidad
  • Dependencia
  • Proximidad
Adicionalmente la evaluación de riesgos requiere los siguientes puntos:
  1. Un estudio de vulnerabilidades, amenazas, probabilidad, pérdidas o impacto, y la supuesta eficiencia de las medidas de seguridad. Los directivos de la organización utilizan los resultados de la evaluación del riesgo para desarrollar los requisitos de seguridad y sus especificaciones.
  2. El proceso de evaluación de amenazas y vulnerabilidades, conocidas y postuladas para estimar el efecto producido en caso de pérdidas y establecer el grado de aceptación y aplicabilidad en la operaciones del negocio.
  3. Identificación de los activos y facilidades que pueden ser afectados por amenazas y vulnerabilidades.
  4. Análisis de los activos del sistema y las vulnerabilidades para establecer un estimado de pérdida esperada en caso de que ocurran ciertos eventos y la probabilidades estimadas de la ocurrencia de estos. El propósito de una evaluación del riesgo es determinar si las contramedidas son adecuadas para reducir la probabilidad de la pérdida o el impacto de la pérdida a un nivel aceptable.
  5. Una herramienta de gestión que proporcione un enfoque sistemático que determine el valor relativo de:
    • La sensibilidad al instalar activos informáticos
    • La evaluación de vulnerabilidades
    • La evaluación de la expectativa de pérdidas
    • La  percepción de los niveles de exposición al riesgo
    • La evaluación de las características de protección existentes 
    • Las alternativas adicionales de protección
    • La aceptación de riesgos 
    • La documentación de las decisiones de gestión. 
Decisiones para la implementación de las funciones de protección adicionales se basan normalmente en la existencia de una relación razonable entre costo/beneficio de las  salvaguardia y la sensibilidad / valor de los bienes que deben protegerse. Las evaluaciones de riesgos pueden variar de una revisión informal de una instalación a escala microprocesador pequeño para un análisis más formal y plenamente documentado (por ejemplo, análisis de riesgo) de una instalación a escala de ordenadores. Metodologías de evaluación de riesgos pueden variar desde los enfoques cualitativos o cuantitativos a cualquier combinación de estos dos enfoques.

Análisis de Riesgo


Este es el paso principal en el marco de la norma ISO/IEC 27005. La mayor parte de las actividades primarias se prevé que el primer proceso de evaluación de riesgos. Este paso implica la adquisición de toda la información pertinente sobre la organización y la determinación de los criterios básicos, finalidad, alcance, límites y organización de las actividades de gestión de riesgos. El objetivo es por lo general el cumplimiento de los requisitos legales y proporcionar la prueba de la debida diligencia el apoyo de un SGSI que puede ser certificado. El alcance puede ser un plan de notificación de incidentes, un plan de continuidad del negocio.

Los criterios incluyen la evaluación del riesgo, aceptación de riesgos y criterios de evaluación de impacto. Estos están condicionados por:
  •      requisitos legales y reglamentarios
  •      el valor estratégico para el negocio de los procesos de información
  •      expectativas de los interesados
  •      consecuencias negativas para la reputación de la organización
Establecer el alcance y los límites, la organización debería ser estudiado: su misión, sus valores, su estructura y su estrategia, sus lugares y el medio ambiente cultural. Las limitaciones (presupuestarias, culturales, políticos, técnicos) de la organización deben ser recogidos y documentados como guía para los pasos a seguir.

Escenarios de riesgo


Escenarios de riesgo es el corazón del proceso de evaluación de riesgos. Los escenarios pueden derivarse de dos maneras diferentes y complementarias:
  •     Enfoque de arriba hacia abajo de los objetivos generales de la empresa a los escenarios de riesgo más probable es que puede tener un impacto.
  •     Enfoque de abajo hacia arriba, donde se aplica una lista de escenarios de riesgo genéricos a la situación
Cada uno de los escenarios de riesgo se analiza para determinar la frecuencia y el impacto, sobre la base de los factores de riesgo.

Respuesta a los Riesgos


El propósito de definir una respuesta al riesgo es llevar el riesgo en nivel que se pueda tolerar. es decir, el riesgo residual debe ser dentro de los límites de tolerancia al riesgo. El riesgo puede ser manejado de acuerdo cuatro estrategia principales (o una combinación de ellos):
  •         Evitar el riesgo aislando las actividades que dan lugar al riesgo
  •         Mitigar el riesgo adoptando medidas que detectan y reducen el impacto del riesgo
  •         Transferir riesgos a otras áreas menos susceptibles o a otras entidades con mas experiencia (outsourcing)
  •         Aceptar riesgos que se corren deliberadamente y que no se pueden evitar, sin embargo es necesario identificarlos, documentarlos y medirlos


Si tienes información adicional sobre este tema, tus comentarios o enlaces de referencia serán bienvenidos.

Monday, April 23, 2012

ISO/IEC 27002 Código de prácticas para la gestión de seguridad de la información

    El objetivo de la norma ISO 27002 antes ISO 17799:2005), es definir un marco para la gestión de la información de seguridad. Esta norma se centra principalmente en los pasos necesarios para establecer el funcionamiento del SGSI y aplicarlo en la organización.

    Las medidas de seguridad necesarias se describen brevemente en aproximadamente 100 páginas de la norma. Las recomendaciones están destinados principalmente a nivel de gestión por lo tanto no contienen mucha información técnica.

    La implementación de las recomendaciones de seguridad en la norma ISO 27002 es una de las muchas maneras para cumplir los requisitos de la norma ISO 27001.

    Contenido

    • Estructura con 11 áreas temáticas, clausulas o secciones  de control
      • Política de Seguridad
      • Organización de la seguridad de la información
      • Gestión de Activos
      • Seguridad de Recursos Humanos 
      • Seguridad física y ambiental
      • Gestión de Comunicaciones y  Operaciones
      • Control de Acceso
      • Adquisición de Sistemas de Información, Desarrollo y Mantenimiento
      • Gestión de Incidentes de Seguridad de la Información 
      • Gestión  de continuidad
      • Conformidad 
    • Por cada área se definen uno o más objetivos control, indican que se puede lograr, en total son 39
    • Para cada objetivo de control se definen uno o varios controles de seguridad, responden a  ¿Cómo puede logar el objetivo de control? en total son 133 controles

    Control

    Es una medida de seguridad que utilizan las empresas para gestionar el riesgo, incluye políticas de seguridad, procedimientos, directrices, prácticas y estructuras organizativas, las que pueden ser administrativas, técnicas, de gestión, o de carácter legal. También son como  salvavidas, medidas correctivas (countermeasure) o soluciones puntuales a situaciones concretas, por lo tanto sin un SGSI los controles pueden tender a ser un poco desorganizados y desarticulados.

    El Anexo A de la norma ISO/IEC 27001 enumera los controles de seguridad de la información de la norma ISO/IEC 27002 (Código de mejores Prácticas del SGSI), el cual  proporciona información adicional y asesoramiento sobre la ejecución de los controles de seguridad.

    Varios conjuntos adicionales de controles puede ser utilizados potencialmente dentro de la norma ISO/IEC 27001 e incluso remplazar la norma ISO/IEC 27002, sin embargo  estas dos normas suelen se utilizarse juntas en la práctica para satisfacer muchos de los requisitos de la certificación, el problema es que pueden carecer de algunos de los elementos del sistema de gestión global. Lo contrario también es cierto, en otras palabras, el cumplimiento certificado de la norma ISO/IEC 27001 garantiza que el SGSI está en operando correctamente, pero dice poco sobre el estado absoluto de seguridad de la información dentro de la organización

    Los controles técnicos de seguridad, como Antivirus y Firewalls normalmente no se auditan en la certificación de la norma ISO/IEC 27001: la organización presume que se han adoptado todas las medidas de seguridad de la información necesaria desde el SGSI y se considera adecuada cuando cumpla con los requisitos de la norma ISO/IEC 27001.

    Cada control consiste en:
    • Declaración de Control
    • Guía de Implementación y Certificación
    • Información Adicional



    Si tienes información adicional sobre este tema, tus comentarios o enlaces de referencia serán bienvenidos.