Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Seguridad para no alterar notas en una bd academica ?

Estas en el tema de Seguridad para no alterar notas en una bd academica ? en el foro de Bases de Datos General en Foros del Web. Hola a todos, estoy desarrollando una web para colegios, y me preguntaron sobre la seguridad para que las notas puedan permanecer inalteradas, es decir que ...
  #1 (permalink)  
Antiguo 23/10/2006, 19:36
 
Fecha de Ingreso: septiembre-2006
Mensajes: 34
Antigüedad: 17 años, 7 meses
Puntos: 0
Seguridad para no alterar notas en una bd academica ?

Hola a todos,

estoy desarrollando una web para colegios, y me preguntaron sobre la seguridad para que las notas puedan permanecer inalteradas, es decir que no puedan ser cambiadas, y si alguien hace un cambio no autorizado que se detecte el cambio, como es la seguridad en este campo? existe un estandar o una metodologia aplicable a este caso? o como es la forma mas eficaz de afrontar este problema?

Gracias de antemano,

saludos.
  #2 (permalink)  
Antiguo 24/10/2006, 02:41
Avatar de MACGREGOR  
Fecha de Ingreso: enero-2005
Mensajes: 89
Antigüedad: 19 años, 3 meses
Puntos: 0
Hola.
Lo primero que debes tener en cuenta es el motor de Bases de Datos que vas a utilizar, si és minimamente serio te permitirá crear usuarios (no uses access).

Creas un usuario que tenga permisos únicamente de lectura y haces que tus páginas web lean de la DB utilizando ese usuario.

Puedes crear programas (cgi's) que generen tus páginas, de esa manera nadie podrá modificar las páginas web, ya que en realidad no existirán. Se crean y son servidas al usuario en el momento que se solicitan.

Para cualquier duda, primero dinos el software del que dispones. IIS (Internet Information Server) o Apache como servidor de internet; mysql, postgress o Oracle como Sistema Gestor de Bases de Datos...
  #3 (permalink)  
Antiguo 24/10/2006, 07:43
 
Fecha de Ingreso: septiembre-2006
Mensajes: 34
Antigüedad: 17 años, 7 meses
Puntos: 0
hola MACGREGOR, muchas gracias por la respuesta, buenos consejos,

el sistema lo estoy desarrollando en php 5.1.6, Mysql 4.0.17 y servidor Apache 2, sobre la seguridad de las notas es un tema que preucupa a algunos profesores y directores y quisiera saber como implemetarla para que esten un poco tranquilos, si tienen otras sugerencias o tips les estaria muy agradecido,

saludos.
  #4 (permalink)  
Antiguo 24/10/2006, 08:58
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Primero que todo contra quien quieres establecer seguridad. Pues puedes controlar desde que alguien cambie sus notas hasta desarrollar un workflow para monitorear los cambios de los registros en el transcurso del tiempo.

Por lo general se tiende a establecer Usuarios/Roles/Permisos. Y dependiendo del rol asignado al usuario que se registre en el sistema podrá ver los distintos menús, dependiendo de los permisos que tenga ese rol. Así se podrá crear por ejemplo el rol "secretaria", que tendrá disponible el menú de ingresar notas, o de matricular, pero no el de cobrar pensiones u otros rubros. Así mismo, el rol "tesorero" tendrá permiso para cobrar pero no para ingresar notas (a lo mucho consultarlas)

Eso es en lo referente a los usuarios normales, a los que no sabes que si logran obtener el password de la base de datos del usuario "root" pueden acceder a la misma, si tuvieran el conocimiento y el acceso al servidor pueden cambiar las notas desde la base.

La seguridad viene acompañada de una estrategia de respaldo de la bd, dependiendo del tipo de negocio, de la base y del numero de usuarios se podría establecer un horario para hacer los backups correspondientes.

Y por último, ahora ya no se habla de la seguridad de la base, sino de la seguridad de la información. De nada me sirve tener usuarios, roles y permisos si el rector manda a imprimir un reporte al que tan solo él tiene acceso y se demora 10 minutos en ir hasta la impresora, y cuando llega el reporte se hizo humo

Por cierto, según Microsoft mas del 70% de los ataques en las seguridades de los sistemas son internos... así que hay que aprender a cuidarse de los de adentro, de aquella secretaria que la despidieron y por pica fue borrandome los datos que más pudo
  #5 (permalink)  
Antiguo 25/10/2006, 07:21
 
Fecha de Ingreso: septiembre-2006
Mensajes: 34
Antigüedad: 17 años, 7 meses
Puntos: 0
hola Developer9, muchas gracias por la respuesta,

la seguridad la quiero establecer contra los usuarios de afuera y los internos, por ejm: solo los profesores pueden introducir o modificar notas, y al director es el responsable de asignar los roles, si tienen más sugerencias o tips quedo a la espera,

Cita:
La seguridad viene acompañada de una estrategia de respaldo de la bd, dependiendo del tipo de negocio, de la base y del numero de usuarios se podría establecer un horario para hacer los backups correspondientes.
Me podrian explicar esto con mas detalle,
gracias por adelantado,
saludos.
  #6 (permalink)  
Antiguo 25/10/2006, 09:20
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Definir la seguridad se lo puede hacer de muchas maneras, he visto aplicaciones que tienen definida hasta el rango de horas en las que un usuario (dependiendo del rol que tenga) puede entrar a los diferentes formularios de la aplicación.

El tema de seguridad y auditoría es un modulo más en tu aplicación. Tratandolo de hacer de una manera poco compleja lo primero que toca hacer es definir todos los roles. Luego a cada rol definirles las pantallas a las que tendrán acceso. Y al momento de crear un usuario deberá asignarsele un rol, y cuando este usuario se autentifique se buscará en la base de datos los nombres de formularios a los que tiene acceso (según su rol) y de esa manera se le construirá el menú correspondiente, así solo podrá acceder a ciertos formularios.

Dependiendo de la cantidad de datos que se manejen se podrá establecer el tipo de respaldo, hacer un respaldo consume recursos del servidor de base de datos, por lo que no se lo debe de hacer cuando tienes a todos los usuarios conectados, pero sí cuando todos se van a su casa o a la hora del almuerzo. Pero es riesgoso hacer un solo respaldo diario, pues que pasaría si acostumbramos a sacar respaldos al final de cada día, sacas el respaldo el lunes de noche y el martes a las 15:00 ocurre algún error y se daña tu base, te toca restaurar el respaldo del lunes en la noche pero todo lo hecho el martes hasta las 15:00 se va a perder, para que no ocurra esto el respaldo sacado al final de cada jornada debe ser un tipo de respaldo total y sacar respaldos diferenciales a lo largo del día. Los respaldo se pueden efectuar automáticamente creando el device correspondiente y un job programado para que se ejecute cada cierto tiempo.

Saludos Cordiales
  #7 (permalink)  
Antiguo 31/10/2006, 08:04
 
Fecha de Ingreso: septiembre-2006
Mensajes: 34
Antigüedad: 17 años, 7 meses
Puntos: 0
Hola Developer9, gracias por la respuesta,

Por lo visto el tema de seguridad es muy amplio, terminos como job programado son nuevos para mi, aunque me imagino lo que hacen, por eso si tienes links o tutoriasles recomendables sobre seguridad en aplicaciones web te lo agradeceria,

saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:04.