16
SEGURIDAD DESARROLLO DE SOFTWARE SEGURO POR: MIGUEL ÁNGEL AGUILAR ZARZA NÚMERO DE CONTROL: 11560198 CRUZ ALBERTO ARREDONDO INFANTE NÚMERO DE CONTROL: 11560161 PROFESOR Cd. y Puerto de Lázaro Cárdenas, Mich. Noviembre 24 de 2014.

Esquemas de seguridad para el servidor

Embed Size (px)

Citation preview

SEGURIDAD

DESARROLLO DE SOFTWARE SEGURO

POR:

MIGUEL ÁNGEL AGUILAR ZARZA

NÚMERO DE CONTROL: 11560198

CRUZ ALBERTO ARREDONDO INFANTE

NÚMERO DE CONTROL: 11560161

PROFESOR

Cd. y Puerto de Lázaro Cárdenas, Mich. Noviembre 24 de 2014.

Esquemas de seguridad para el servidor

Esquemas de seguridad para el servidor

Seguridad en hardware Seguridad en software Políticas de seguridad

Mantener protegido el servidor y la red

contra fluctuaciones y fallos en la energía

eléctrica

Controlar el acceso físico al servidor

Mantener el servidor protegido

contra accesos atreves de la red para los cuales no

está autorizado

Implementar herramientas que

permitan auditar el servidor y dar seguimiento a

posibles ataques informáticos

Mantener las actualizaciones al

día del software en general del

servidor

Usar un programa antivirus en el

servidor

Políticas de seguridad

gobernante

Políticas de seguridad técnica

Políticas de seguridad usuario

final

Establecer mecanismos de respaldo de la

información del servidor así como hacer prueba de

los mismos

Proteger la información del servidor con una

contraseña

Instalar en el servidor y en la red software y hardware que

refuerce la seguridad del

servidor

Mantener en el servidor el uso de

contraseñas fuertes y

cambiarlas periódicamente

Educar a los usuarios que

tienen acceso al servidor a través de la red sobre

buenas costumbres de

seguridad

Evitar el uso del servidor como

estación de trabajo para

tareas no autorizadas o

recomendadas

Contar con recursos

generales sobre seguridad como

capacitación, auditoria general del servidor y la red, políticas de

seguridad

Agregar usuarios a MYSQL desde PHPMYADMIN en WAMPSERVER en su versión 2.2

Ingresamos a PHPMYADMIN

Accedemos a una vista global de usuarios y elegimos la opción de crear nuevo usuario

Llenamos formularios para la creación del usuario

Asignamos todos los privilegios al usuario

Configuración para que pida usuario y clave para poder acceder

Vamos a la dirección del archivo config.inic para su edición C:\wamp\apps\phpmyadmin3.5.1

Cambiamos la línea config (es la q nos da acceso sin contraseña) por cookie

Y ahora pide usuario y contraseña para acceder

 Administrar una base de datos remotamente.

- Mediante phpmyadmin (que es el servidor que usamos en nuestro caso) podemos administrar una base de datos remotamente.

Para entrar en phpmyadmin escribimos en un navegador localhost/phpmyadmin

(o bien 127.0.0.1/phpmyadmin)

- Para poder entrar en phpmyadmin desde otro ordenador de la red local o desde Internet, localizamos el archivo

C:\wamp\alias\phpmyadmin.conf

y ponemos una almohadilla delante de Deny from all (Denegar a todos)

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">Options Indexes FollowSymLinks MultiViewsAllowOverride allOrder Deny,Allow# Deny from allAllow from 127.0.0.1</Directory>

Ya podemos entrar desde otros ordenadores http://iesteleco.no-ip.org/phpmyadmin

Vamos a crear una base de de datos desde phpmyadmin

Entramos en la Base de datos instituto y creamos una tabla llamada teleco1 con 3 columnas

Ahora creamos las columnas de la tabla: fechahora, comentarios y correo.Aunque podríamos poner distintos tipos de variables hemos puesto Varchar.

Ya la tenemos.

Ahora vamos a crear a un usuario con una contraseña para que pueda entrar en la base de datos, para ello vamos a la base de datos institutoluego pulsamos en Privilegios y creamos al usuario juan con contraseña 1234 y servidor localhost.

Le he dado todos los privilegios

Introducir datos en la base de datos desde Internet.

Mediante la página web HTML vamos a rellenar un formulario para introducir datos en nuestra base de datos (basedatosinternet1.html).

Primero vemos la información de nustro from del formulario q utilizaremos para comunicar con la base de datos

<html><head><title></title></head><body>

Manda un mensaje: <br><form name="formu" action="basedatosinternet2.php" method=post>

<textarea name="comentarios" rows=5 cols=70></textarea><br>

Tu Correo: <input type="Text" name="correo" size=25><input type="Reset" value="Borrar" name="RESET"><input type="Submit" value="Enviar" name="SUBMIT">

</form></body></html>

Este archivo muestra un formulario y cuando le vas al botón Enviar, los datos de "comentarios" y "correo" los envía a la página: "basedatosinternet2.php"

En la página basedatosinternet2.php hay un "programa" que se "comunica" con la base de datos y le inserta los datos.

<?phpsetlocale(LC_ALL,'spanish');$zone=3600*1 ;$fechahora=gmdate("j/m/y H:i:s", time() + $zone);

$comentarios=$_POST['comentarios'];$correo=$_POST['correo'];$db="instituto";$db_login="juan";$db_pswd="1234";

$link = mysql_connect("localhost", $db_login, $db_pswd);

mysql_select_db($db , $link);

mysql_query ("INSERT INTO teleco1 (fechahora, comentarios, correo) VALUES ('$fechahora','$comentarios','$correo')");

print("Datos agregados a la base.");

mysql_close($link);

?>

Este "programa" en PHP se ejecuta en el servidor y lo que hace es tomar los datos de "comentarios" y "correo"Conecta con la base de datos instituto con el usuario juan y contraseña 1234Una vez que ha conectado, inserta en la tabla teleco1 los datos correspondientes.

Pulsa para introducir datos:

http://iesteleco.no-ip.org/php/basedatosinternet1.htm

Ver los datos que contiene la base de datos

La manera más usual de ver los datos es mediante otro PHP que conecte a la base de datos y nos entreguen los datos (basedatosinternet3.php)

<?php$db="instituto";$db_login="juan";$db_pswd="1234";$link = mysql_connect("localhost", $db_login, $db_pswd);

mysql_select_db($db , $link);

$query = "SELECT * FROM teleco1 WHERE id > '0' ORDER BY id DESC";

$result = mysql_query($query, $link);if(mysql_num_rows($result)) { // Escribe los resultadoswhile($row = mysql_fetch_row($result)){print("<b>Fecha: </b>$row[0]<br><b>Comentarios: </b>$row[1],<br><b>Correo: </b> $row[2]<br><hr>");}} else {// No hay resultados}

mysql_close($link);

?>

Para verlo pulsamos el enlace http://iesteleco.no-p.org/php/basedatosinternet3.php

En mi caso voy a poner los 3 archivos anteriores en uno solo. Tal vez de un error la primera vez porque intenta escribir el resultado del comentario y correo y no existen.Para que se guarde y se vea pulsa dos veces el botón Enviar

http://iesteleco.no-ip.org/php/basedatosinternet4.php

Poner usuario y clave para entrar en phpmyadmin

No es bueno que cualquier persona pueda entrar a través de phpmyadmin en nuestras bases de datos, paro ello vamos a establecer una clave para poder acceder mediante el phpmyadmin a nuestras bases de datos.

Vamos a la consola de MySQL

y escribimos lo siguiente para poner contraseña en MySQL

mysql> UPDATE mysql.user SETPassword=PASSWORD('1234')WHERE User='root';mysql> flush privileges;

Como yo ya he insertado contraseñas a todos mis usuarios incluyendo al root por default de servidor por eso entro directamente con la contraseña

Luego vamos al archivo C:\wamp\apps\phpmyadmin3.4.5\config.inc.phpy ponemos la misma clave en $cfg['Servers'][$i]['password'] = '1234';

A partir de este momento cuando queramos entrar en phpmyadmin nos pedirá identificación:

Usuario rootContraseña: ****