1. 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.
2. 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
3. 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
4. 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:wampappsphpmyadmin3.5.1
5. 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.
6. 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:wampaliasphpmyadmin.conf
y ponemos una almohadilla delante de Deny from all (Denegar a todos)
<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Deny,Allow
# Deny from all
Allow 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
7. 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.
8. 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 instituto
luego pulsamos en Privilegios y creamos al usuario juan con contraseña 1234 y
servidor localhost.
Le he dado todos los privilegios
9. 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.
10. <?php
setlocale(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 1234
Una 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);
11. $query = "SELECT * FROM teleco1 WHERE id > '0' ORDER BY id DESC";
$result = mysql_query($query, $link);
if(mysql_num_rows($result)) {
// Escribe los resultados
while($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
12. 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
13. Luego vamos al archivo C:wampappsphpmyadmin3.4.5config.inc.php
y 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 root
Contraseña: ****