public AccesoNoPermitido()
        {
            try
            {
                InitializeComponent();
                manejador       = new ManejadorDB();
                limiteAlcanzado = manejador.Cargar <_sis_LimiteAccesosFallidosAlcanzado>(_sis_LimiteAccesosFallidosAlcanzado.ConsultaAccesosFallidosNoVerificados);

                if (limiteAlcanzado == null)
                {
                    return;
                }

                txt_nombreEquipo.Text  = limiteAlcanzado.AccesosFallidos[0].SNombreEquipo;
                txt_ip.Text            = limiteAlcanzado.AccesosFallidos[0].SIPEquipo;
                txt_sesionWindows.Text = limiteAlcanzado.AccesosFallidos[0].SUsuarioWindows;
                txt_ipInternet.Text    = limiteAlcanzado.AccesosFallidos[0].SIpInternet;

                foreach (_sis_AccesoFallido accesoFallido in limiteAlcanzado.AccesosFallidos)
                {
                    lb_intentosRegistrados.Items.Add("Usuario: '" + accesoFallido.SUsuarioRegistrado + "' | Contraseña: '" + accesoFallido.SContrasenaRegistrada + "'");
                }

                img_capturaWebcam.Source     = HerramientasWindow.BitmapAImageSource(limiteAlcanzado.FotoWebCam.Imagen);
                img_capturaEscritorio.Source = HerramientasWindow.BitmapAImageSource(limiteAlcanzado.FotoPantalla.Imagen);
                this.Title += " el " + limiteAlcanzado.DtFechaCreacion.ToString("F");

                Closed += AccesoNoPermitido_Closed;
            }
            catch (Exception ex)
            {
                HerramientasWindow.MensajeError(ex, ex.Message, "Error");
            }
        }
Пример #2
0
        private Boolean hayAccesoNoPermitido()
        {
            _sis_LimiteAccesosFallidosAlcanzado limiteAlcanzado = manejadorAccesosNoPermitidos.Cargar <_sis_LimiteAccesosFallidosAlcanzado>(_sis_LimiteAccesosFallidosAlcanzado.ConsultaAccesosFallidosNoVerificados);

            if (limiteAlcanzado != null)
            {
                return(true);
            }
            return(false);
        }
Пример #3
0
        private void AgregarLoginFallido()
        {
            try
            {
                _sis_AccesoFallido acceso = manejador.CrearObjeto <_sis_AccesoFallido>();
                acceso.SIPEquipo             = ipLocal;
                acceso.SIpInternet           = ipInternet;
                acceso.SNombreEquipo         = Environment.MachineName;
                acceso.SUsuarioWindows       = Environment.UserName;
                acceso.SUsuarioRegistrado    = txt_usuario.Text;
                acceso.SContrasenaRegistrada = txt_contraseña.Text;
                acceso.EsModificado          = true;
                manejador.Guardar(acceso);

                accesosFallidos.Add(acceso);

                if (accesosFallidos.Count > 2)
                {
                    Bitmap fotoUsuario = HerramientasWindow.ObtenerFotoDeWebCam();
                    _sis_LimiteAccesosFallidosAlcanzado limite = manejador.CrearObjeto <_sis_LimiteAccesosFallidosAlcanzado>();

                    limite.AccesosFallidos           = accesosFallidos;
                    limite.FotoPantalla              = manejador.CrearObjeto <_sis_ImagenAsociada>();
                    limite.FotoPantalla.EsModificado = true;
                    limite.FotoPantalla.Imagen       = HerramientasWindow.ComprimirImagen(HerramientasWindow.ObtenerFotoPantalla(this), 1000, 600, System.Drawing.Imaging.ImageFormat.Jpeg);
                    limite.FotoWebCam = manejador.CrearObjeto <_sis_ImagenAsociada>();
                    limite.FotoWebCam.EsModificado = true;
                    limite.FotoWebCam.Imagen       = HerramientasWindow.ComprimirImagen(fotoUsuario, 600, 400, System.Drawing.Imaging.ImageFormat.Jpeg);
                    limite.EsModificado            = true;
                    Bitmap emailFotoPantalla = limite.FotoPantalla.Imagen;
                    Bitmap emailFotoWebcam   = limite.FotoWebCam.Imagen;
                    manejador.Guardar(limite);
                    accesosFallidos.Clear();

                    List <_sis_Usuario> usuariosAdmins = manejador.CargarLista <_sis_Usuario>(_sis_Usuario.consultaPorUsuariosAdministradores);
                    String emails = "";
                    foreach (_sis_Usuario us in usuariosAdmins)
                    {
                        if (!us.SEmail.Trim().Equals(""))
                        {
                            emails += us.SEmail + "; ";
                        }
                    }
                    if (!emails.Trim().Equals(""))
                    {
                        emails = emails.Substring(0, emails.Length - 2);
                    }
                    if (!emails.Trim().Equals(""))
                    {
                        String detallesTecnicos = @"<p><strong>Detalles t&eacute;cnicos:</strong></p>

                    <ul>
	                    <li>IP(LAN|WAN): "     + ipLocal + "|" + ipInternet + @"</li>
	                    <li>Nombre equipo: "     + acceso.SNombreEquipo + @"</li>
	                    <li>Hora del evento: "     + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + @"</li>
	                    <li>Sesión Windows: "     + acceso.SUsuarioWindows + @"</li>
                        <li>Usuario registrado: " + acceso.SUsuarioRegistrado + @"</li>
                    </ul>";

                        String  mensaje = @"
                    <h2><strong>Detecci&oacute;n de intruso en el sistema.</strong></h2>

                    <blockquote>
                    <p><em>Verificar archivos adjuntos.</em></p>
                    </blockquote>
                    ";
                        Adjunto adj1    = null;
                        Adjunto adj2    = null;
                        if (emailFotoPantalla != null)
                        {
                            adj1 = new Adjunto();
                            adj1.NombreArchivo = "fotoPantalla.jpg";
                            adj1.Stream        = Herramientas.WPF.Utilidades.BitmapToStream(emailFotoPantalla);
                        }
                        if (emailFotoWebcam != null)
                        {
                            adj2 = new Adjunto();
                            adj2.NombreArchivo = "fotoWebcam.jpg";
                            adj2.Stream        = Herramientas.WPF.Utilidades.BitmapToStream(emailFotoWebcam);
                        }
                        List <Adjunto> adjuntos = new List <Adjunto>();
                        adjuntos.Add(adj1);
                        adjuntos.Add(adj2);
                        try
                        {
                            EmailFormatos.EnviarMailAtencion(mensaje, "Intento de acceso no permitido detectado", detallesTecnicos, null, emails, adjuntos);
                        }
                        catch { }
                    }
                    fotoUsuario = null;
                    conteoRegistrosLimite++;

                    if (conteoRegistrosLimite == 2)
                    {
                        _sis_EquiposRegistrados equipoRegistrado = manejador.Cargar <_sis_EquiposRegistrados>(_sis_EquiposRegistrados.ConsultaPorNombreEquipo, new List <object>()
                        {
                            Environment.MachineName
                        });
                        if (equipoRegistrado == null)
                        {
                            equipoRegistrado = manejador.CrearObjeto <_sis_EquiposRegistrados>();
                        }

                        equipoRegistrado.SNombreEquipo         = Environment.MachineName;
                        equipoRegistrado.SUltimaIPConexion     = ipLocal;
                        equipoRegistrado.UltimoUsuarioConexion = usuario;
                        equipoRegistrado.BEstaBloqueado        = true;
                        equipoRegistrado.BEstaConectado        = false;
                        equipoRegistrado.EsModificado          = true;
                        manejador.Guardar(equipoRegistrado);
                        HerramientasWindow.MensajeAdvertencia("Por seguridad se ha bloqueado el equipo. Favor de contactar al administrador del Sistema.", "Bloqueo de seguridad");
                    }
                }
            }
            catch (Exception ex)
            {
                HerramientasWindow.MensajeError(ex, "Error: " + ex.Message, "Error");
            }
        }