Mostrando las entradas con la etiqueta Seguridad. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Seguridad. Mostrar todas las entradas

viernes, 22 de octubre de 2021

Simple Login con KumbiaPHP v 1.1.5

Recientemente tuve necesidad de implementar un Sistema de Login con KumbiaPHP y pude percatarme que prácticamente todas las referencias publicadas en la comunidad de Kumbieros se encuentran bastante desactualizadas; algunas hasta por casi una década. De manera que, me pareció adecuado compartir una sencilla solución que implemente con la versión actual de KumbiaPHP v1.1.5

Para comenzar, vale la pena señalar que no pretendo descubrir el agua tibia, esta solución no es más que la recopilación y conveniente ajuste de varias aportaciones encontradas en diferentes fuentes disponibles en la red. Pero tampoco hagamos alharaca de eso y vayamos a lo concreto.

Construyendo el Sistema de Login

Librería de Autenticación

Si bien es cierto que en KumbiaPHP v1.1.5 contamos con Auth2 e incluso con una implementación propia en Kumbia_Auth para facilitar las tareas de autenticación de usuarios, en esta solución haremos uso de la libreria Auth.

Persistencia de datos

Por supuesto que cada solución tendrá necesidades específicas; pero en nuestro caso, hemos procurado mantener la total simplicidad, de manera que para la persistencia de datos nos resulta suficiente disponer de una tabla como la que podemos generar con el siguiente script

--
-- Estructura de tabla para la tabla usuarios
--
DROP TABLE IF EXISTS usuarios;
CREATE TABLE IF NOT EXISTS usuarios (
id TINYINT(3) NOT NULL AUTO_INCREMENT,
login VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
level TINYINT(3) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY `UK_Usuarios_login` (`login`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Volcar la base de datos para la tabla usuarios
--
INSERT INTO usuarios (id, login, password, level) VALUES
(1, 'coloca-aqui-tu-usuario', 'coloca-aqui-tu-password', 1);

Tampoco hemos de fijarnos para este ejercicio en la falta de encriptación de la columna que almacenará los passwords. Aunque por supuesto, es una practica que recomendamos considerar.

Modelo

Nuestra clase de modelo será tan sencilla como

<?php
class Usuarios extends ActiveRecord
{ }

Controlador

En un controlador que como otros autores hemos nombrado PrincipalController hemos implementado las funciones login y logout, junto con el siempre mandatorio index, que en nuestro caso, mantenemos vacío.

Login

La función de login inicia con la verificación de los datos recibidos, antes de enviarlos a la librería Auth para la ejecución de la autenticación.

    public function login(){
        if (Input::hasPost("login","password")){
            $pwd = Input::post("password");
            $usuario=Input::post("login");
 
            $auth = new Auth("model", "class: usuarios", "login: $usuario", "password: $pwd");
            if ($auth->authenticate()) {
                Redirect::to("/");
            } else {
                Flash::error("Falló");
            }
        }
    }

Logout

En la función logout, básicamente destruimos el objeto de la sesión

    public function logout(){
        Auth::destroy_identity();
        Redirect::to("/");
    }

Vista

Por supuesto que, hemos mantenido la capa de vista igualmente simple, aunque claro que necesitaremos construir nuestro formulario de ingreso.

El index.phtml como ya hemos mencionado lo mantenemos vacío. Y aunque presuntamente el logout.phtml pudiera haberse mantenido igualmente vacío, la verdad le hemos colocado…

<?php echo View::content(); ?>

No haremos de ello un tema, solo pasemos a lo interesante. Que por supuesto, es el login.phtml.

En este archivo, además del clásico…

<?php echo View::content(); ?>

Hemos de colocar nuestro formulario

<?php echo F<?php echo Form::open("principal/login"); ?>
<i class="fas fa-user-alt"></i><?php echo Form::label("Usuario","login"); ?>
<?php echo Form::text("login"); ?>
<?php echo Form::label(" "," "); ?>
<i class="fas fa-key"></i><?php echo Form::label("Password","password"); ?>
<?php echo Form::pass("password"); ?>
<?php echo Form::label(" "," "); ?>
<?php echo Form::submit("Ingresar"); ?>
<?php echo Form::close(); ?>

Con lo cual ya tendremos implementado nuestro simple sistema de login en KumbiaPHP v1.1.5, pero ahora toca usarlo.

viernes, 12 de octubre de 2018

Forcing user authentication in #SonarQube

141305-gotpass-contrasenasSonarQube es una herramienta originalmente diseñada para ser instalada en un ambiente local. Sin embargo, a lo largo de su evolución ha sido cada vez más común verlo desplegado en servidores para su uso compartido.

Incluso,…

índiceYa contamos con SonarCloud (https://sonarcloud.io), un SaaS que nos provee un servicio para implementar Continuous Code Quality Online.

 

Claro que, siempre hay aquellos que prefieren realizar la instalación en sus propios servidores.

Realizar una instalación de SonarQube puede ser bastante sencilla, pero si decidimos hacerla en un servidor público una de las cosas que sería imperdonable olvidar es realizar la configuración para forzar la autenticación de usuarios.

 

Configuration : Security : Force user authentication (Default: False)

Al instalar nuestro SonarQube una de las cosas que podemos notar es que tenemos acceso libre (y casi total) a la aplicación.

2018-10-12_192001

Solo si requerimos acceder al área administrativa nos son requeridas las credenciales de acceso.

2018-10-12_192105

Esto se traduce en que, …

Cualquiera puede tener acceso al código completo de las aplicaciones que estemos escaneando con nuestro SonarQube.

 

Esto se debe a que, al ser SonarQube una herramienta de MCQ (Manage Code Quality) está pensada para entornos personales o privados, de manera que la opción de Force Authentication se encuentra apagada de manera predeterminada.

Te invito a que leas mi artículo: Perversión de MCQ puede destruir la Calidad

2018-10-12_193719

Configuration : Security : Force user authentication (True)

Para cambiar esto, debemos ingresar al panel de administración

2018-10-12_192222

Vale la pena destacar que estamos trabajando con la versión 7.3

 

En la sección Administration, seleccionamos Configuration > Security

Encendemos la opción “Force user authentication” y salvamos los cambios.

 

Y listo, al cerrar la sesión, veremos que en lugar de acceder a la aplicación de SonarQube se nos solicitarán las credenciales de acceso.

2018-10-12_192436

 

Finalmente, solo tendremos que ir a la sección Administration > Security > Users

2018-10-12_205342

Y crear los usuarios necesarios para darle acceso a los colaboradores involucrados con el proyecto.

2018-10-12_193821

 

Espero te haya parecido útil este post

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo

 

 

jueves, 4 de octubre de 2018

Instalando certificados en el almacén de #Java en #Microsoft #Windows

ssl certificate icon Unique SITO IP POSInstalar certificados en el almacén de Java en Microsoft Windows es una tarea bastante simple. Solo hay que…

Abrir el “Java Control Panel” y en la pestaña “Security” pulsar el botón [Manage Certificates…]

2018-10-04_152551

 

En la ventana “Certificates”, seleccionamos la opción “Client Authetication” y pulsamos el botón [Import]

2018-10-04_152749

 

Luego, seleccionamos el certificado en la ruta donde lo hayamos colocado.

Completamos la instalación y listo.

 

Espero te haya parecido útil este post.

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo.

 

 

 

sábado, 15 de septiembre de 2018

Cumulative Update for #Windows 10 versión 1803 (KB4457128) mejoras de calidad o parche de seguridad para componentes #Microsoft

windows-patch-errorLuego de la actualización versión 1709 que diera algunos dolores de cabeza en la instalación de varios equipos, Microsoft liberó la actualización versión 1803, ofreciendo funcionalidades de interés para profesionales de IT. Pero, el pasado 11 de septiembre de 2018 Microsoft tuvo que liberar el KB4457128 para corregir una gran cantidad de problemas de seguridad.

En el video que ofrece Microsoft en el enlace que compartimos abajo, podemos ver un resumen de las mejoras para los profesionales de TI en este lanzamiento.

https://www.microsoft.com/en-us/videoplayer/embed/RE21ada

 

Si fuiste de los desafortunados que aún sigues atorado en la actualización versión 1709, echale un vistazo a mi artículo…

How to Fix #Microsoft #Windows Update Error

 

El KB4457128 (compilación del SO 17134.285) para la Cumulative Update for Windows 10 versión 1803, liberado por Microsoft el pasado 11 de septiembre de 2018, incluye mejoras de calidad.

updatewin1803.png

 

De calidad?

En esta actualización no se incorporan nuevas características del sistema operativo, pero se proporciona protección contra la vulnerabilidad de la variante 2 de Spectre, se solucionó un problema en el que el servicio Asistente para la compatibilidad de programas (PCA) provocaba un uso excesivo de la CPU.

Y se incluyen actualizaciones de seguridad para…

  • Internet Explorer,
  • Microsoft Edge,
  • motor de scripting de Microsoft,
  • componente gráfico de Microsoft,
  • Windows Media,
  • Windows Shell,
  • Windows Hyper-V,
  • redes de centro de datos de Windows,
  • virtualización y kernel de Windows,
  • Windows Linux,
  • kernel de Windows,
  • motor de base de datos Microsoft Jet,
  • Windows MSXML
  • y Windows Server.

 

Y tú que piensas?

Será esto una demostración más de las palabras del actual CEO de Microsoft?

“Muchas compañías aspiran cambiar el mundo, pero solo pocas tienen los elementos necesarios para hacerlo: talento, recursos y perseverancia. Microsoft ha demostrado tener los tres en abundancia” Satya Nadella

Comentame!

 

Espero te haya parecido interesante este post.

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo.

 

 

viernes, 13 de abril de 2018

De la Inteligencia Artificial al Apocalípsis, hay solo un paso!

Seguro has escuchado hablar del choque de opiniones entre Elon Musk y Mark Zuckerberg. Pues, resulta que hay mucho más que solo opiniones.

 

Acontecimientos Recientes

Luego de todo los acontecimientos que se han venido sucediendo, y que deja claro lo equivocado que Zuckerberg se encuentra.

Desde el hecho de que la división de desarrollo de Facebook tuviera que apagar una inteligencia artificial por haber perdido el control de la misma, hasta el reciente escandalo de Facebook y Cambridge Analytica que nos hace recordar la película…

Now You See Me: The Second Act. (2016)

Elon Musk se juntó con Jaan Tallinn para financiar y llevar a cabo un taller en la Universidad Estatal de Arizona, donde investigadores reprodujeron escenarios catastróficos en IA.

Mientras tanto, Gary Marcus, psicólogo de investigación en la Universidad de Nueva York, dijo que “prácticamente todos” los que trabajan en IA creen que las máquinas nos superarán algún día. “La única diferencia entre los entusiastas y los escépticos es el marco de tiempo”. Futuristas como Ray Kurzweil dicen que podría ocurrir dentro de un par de décadas, mientras que otros (como Zuckerberg) creen que podría llevar siglos.

Tu, de que bando eres?

Entusiasta o escéptico?

Antes de que respondas, revisemos…

Un poco de historia

Recuerdas la demolición de las Torres Gemelas?

Una de las operaciones de bandera falsa más importantes de la historia.

image023

Al margen de la teoría de como Larry Silverstein ha ganado grandes cantidades de dinero, resulta que “según un documento publicado por la revista Wired.com, sólo tres horas después de los atentados del 11 de septiembre, agentes del FBI recorrieron las principales proveedores de acceso a Internet para instalar el programa de rastreo Carnívore“, la evolución del Programa Echelon fraguado por la Agencia de Seguridad Nacional de los Estados Unidos (NSA).  

Algunos años despues (en 2007), inició la ejecución de PRISM, un programa secreto​ de vigilancia electrónica operado también por la Agencia de Seguridad Nacional de los Estados Unidos (NSA), gracias a la aprobación de la Protect America Act por el gobierno de George W. Bush.

La Realidad

La existencia de PRISM se filtró a la opinión pública en 2013, gracias a declaraciones de Edward Snowden, antiguo contratista de la NSA.

Para que te des una idea rápida de lo que sucede. Simplemente Snowden nos mostró que el espionaje que todos creíamos que eran cosas de películas como…

Enemy of the State (1998)

The Bourne Identity (2002)

The Bourne Supremacy (2004)

The Bourne Ultimatum (2007)

Echelon Conspiracy (2009)

Jason Bourne (2016)

Es completamente real.

Que piensas que puede suceder con una IA controlando ese tipo de software?

No es el futuro, es hoy

Elon Musk no es el primero en advertirnos acerca de los peligros que amenazan nuestra existencia y de la potencial situación de emergencia que crearía una inteligencia artificial rebelde. Figuras como Bill Gates o el hoy desaparecido Stephen Hawking ya se habian pronunciado de manera similar.

Es real, ya está sucediendo…

“Kalashnikov fabrica un ‘terminator’ inteligente capaz de decidir a quién disparar sin intervención humana“

Nos lo han venido advirtiendo por décadas, pero al parecer continuamos siendo víctimas del síndrome de Casandra, tal como lo explica la doctora Kathryn Railly (interpretada por Madeleine Stowe) en la pelicula…

Twelve Monkeys (1995)

Hollywood lo dijo primero

Musk dice que ha estado en conversaciones con los creadores de una película de Hollywood acerca de la IA y sus riesgos, aunque se negó a especificar de qué película se trata.

La verdad es que, el escenario apocalíptico de una inteligencia artificial fuera de control, y el posible fin de la humanidad no son temas extraños para Hollywood. Si hacemos un rápido recorrido por algunas películas, podemos ver:

The Terminator (1984)

Terminator 2: Judgment Day (1991)

The Matrix (1999)

Terminal Error (2002)

Terminator 3: Rise of the Machines(2003)

Matrix Reloaded (2003)

The Matrix Revolutions (2003)

I, Robot (2004)

Eagle Eye (2008)

Terminator Salvation (2009)

Terminator: Genisys (2015)

Y PROXIMAMENTE…

Terminator 6, la cual tiene fecha de estreno inicial el 25 de julio del próximo año 2019.

Reflexiona

Ya Facebook nos demostró que una IA puede evolucionar en tan solo algunas semanas. Y que es tan o más peligroso que los distintos software de la Agencia de Seguridad Nacional de los Estados Unidos (NSA).

Snowden nos mostró que el espionaje y el control de nuestra información es real.

 

Ya sabemos que están creando un Terminator.

En verdad, cuanto piensas que puede demorar una IA en controlar a la humanidad?

Te recomiendo que reflexiones, ya que…

Todo lo que conoces sobre la inteligencia artificial es incorrecto

De la Inteligencia Artificial al Apocalípsis, hay solo un paso!

miércoles, 4 de abril de 2018

3 Fallas de #Seguridad de #WordPress resueltos en el Release 4.9.5

WordPress-vulnerabilidad_1

WordPress es sin duda el sistema de gestión de contenidos (en inglés: Content Management System, más conocido por sus siglas CMS) más popular y utilizado en la web. Sin embargo, eso lo hace también la plataforma que sufre mayor cantidad de ataques para vulnerar su seguridad.

Esta realidad hace esencial que quienes hacemos uso de este software, debamos vigilar de manera constante nuestros sitios e implementar cuanto antes cualquier actualización que permita fortalecer la seguridad de los mismos.

En esta ocasión, el equipo de WordPress ha anunciado la liberación de la versión 4.9.5, la cual entre otras cosas corrige tres fallas de seguridad que afectan las versiones de WordPress 4.9.4 y anteriores.

Si quieres tener más detalle puedes leer la nota oficial aquí.

 

lunes, 4 de septiembre de 2017

#WildFly Application Server #Java EE7 Full & Web Distribution (LGPL 2.1 License) powered by #RedHat

Si bien hasta el momento la tecnología de RedHat aún no consigue desplazar el estándar de facto establecido durante tanto tiempo por Apache, lo cierto es que si quieres abandonar Glassfish parece ser la opción más razonable.

¿Por qué Wild Fly?

Ya había comentado en un artículo anterior, que existe la opción de Payara Server: Application Server… . Sin embargo, debo aclarar que esa opción la consideré básicamente porque le ofrece a quienes vienen de Glassfish una alternativa más estable, con posibilidad de soporte, y con una curva de aprendizaje casi nula.

Lo cierto es que si comenzamos a evaluar otros aspectos, definitivamente yo lo dejaría por fuera. Tal como sucede en la revisión que nos presenta el equipo de DZone en el artículo “Most Popular Java Application Servers (2017 Edition)“.

Entonces, la pregunta que seguramente muchos me haran será y entonces… ¿por qué no migrar hacia Apache Tomcat? Pues bien, eso es bastante sencillo de responder, porque Apache Tomcat no es un Application Server Java EE Full. Tan solo por eso, no resulta una alternativa viable para reemplazar a Glassfish. Si quisieramos migrar hacía la tecnología de Apache, tendríamos que elegir uno de dos caminos: Apache Geronimo o Apache TomEE. Y si lo notan, tampoco resultan una opción considerable. Quizas sea porque hasta ahora TomEE solo implementa Java EE 6 Web Profile mientras que WildFly ya es un Application Server fully Java EE 7 compliant.

 

Obteniendo WildFly

Para obtener WildFly debemos visita el sitio http://wildfly.org/ e ingresar a la sección “Downloads”.

 

De las versiones disponibles seleccionamos la 10.1.0 Final

 

Instalando WildFly

Una vez descargado el archivo, debemos descomprimirlo en nuestro equipo. A partir de aquí estaremos asumiendo que estamos trabajando sobre un equipo con OS Microsoft Windows, de manera que, mi sugerencia es que coloquen el WildFly directamente en C:

Tomen en cuenta que el único requisito para WildFly es:

  • Java SE 8 or later (we recommend that you use the latest update available)

Es decir, deben tener el JDK 8 instalado.

Algo que me gusta hacer a pesar de que no es necesario, es definir una variable de entorno “WILDFLY_HOME” con la ruta donde he instalado el WildFly; y luego, agregar al PATH el valor “;%WILDFLY_HOME%\bin”.

Iniciando WildFly

Para iniciar WildFly, solo tendemos que abrir una consola o terminal y ejecutar el comando

standalone.bat

 

Si no han definido la variable de entorno WILDFLY_HOME y agregado al PATH, tendran que ubicarse en el directorio de instalación.

 

Luego solo tenemos que abrir un browser e ingresar a: http://localhost:8080

 

Si utilizan Internet Explorer con la configuración predeterminada es posible que les indique qye la coniguración de intranet esta desctivada de forma predeterminada. Tendrán que activarla para poder ingresar.

Ingresando a la Consola de Administración de WildFly

De manera predeterminada no existe ningún usuario con acceso a la Consola de Administración de Wildfly, de manera que si intentamos ingresar observaremos un mensaje indicándonos que debemos crear uno.

 

Para ello, tendremos que abrir otra consola y ejecutar el comando…

add-user.bat

 

WildFly tiene dos tipo de user:

  • Management User
  • Application User

Tendremos que crear un usuario del tipo Management User para poder acceder a la Consola de Administración. WildFly trae un user preconfigurado en el archivo properties con el username: “MangementRealm”, podemos conigurar ese user, o elegir crear algún otro.

Lo que si tendremos que tomar en cuenta es que tendremos que deinir un password apegados a las recomendaciones de seguridad que están establecidas en el archivo de configuración.

Si quisieramos modificar este comportamiento, tendriamos que editar el archivo “add-user.properties”, aunque mi sugerencia es que aunque estamos trabajando localmente no lo hagan. En lugar de ello, solo hay que inventarse uno de esos password supercomplicados que cumplen con las políticas, algo como: Passw0rd.1

 

Una vez que hemos creado nuestro usuario, podemos ingresar a la Consola de Administración

 

Introducimos las credenciales definidas y listo, habremos ingresado a la Consola de Administración de nuestro WildFly.

 

 

Espero te haya parecido útil este post.

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo.

 

 


Archivado en: Apache, GlassFish, Java, Microsoft, OpenSource, Oracle, RedHat, Seguridad, Tomcat, TomEE, WildFly, Windows Tagged: Apache, GlassFish, Oracle, RedHat, Tomcat, TomEE, WildFly

martes, 11 de julio de 2017

Configurando la contraseña del root en #Linux #Ubuntu

Tux_thumb

Si al igual que yo, no cuentan con mucha experiencia en ambientes Linux, seguramente hasta en la más distribución más sencilla y amigable se andarán dando de tropiezos con temas que en Microsoft Windows nos resultan hasta triviales.

Antes de continuar, extiendo mis más sinceras disculpas a todos los linuxeros que seguramente leerán horrorizados algunas de (sino es que todas) mis líneas. A ellos les comento, me parece que comencé señalando que no cuento con mucha experiencia en ambientes Linux.

Y ni siquiera tiene caso señalar el porque, creo que las razones son más que claras en un mercado como el actual; de hecho, estimo que la gran mayoría deja de utilizarlo apenas salir de la escuela. Claro que habrán aquellos que les sobra el tiempo y le empujan las ganas, y pasan algo de su tiempo de ocio enfrascados en echar a andar algún equipo personal a modo de satisfacer su curiosidad, o usarlo de juguete o esparcimiento; pero ello, estoy seguro es la excepción.

errorBien, el caso es que, algunos de esos tropiezos los podremos resolver de manera relativamente sencilla una vez que descubrimos que en Linux hay un user llamado “root”, que es distinto de nuestro usuario administrador que hayamos definido, y que es el único que puede realizar algunas tareas, como por ejemplo la ejecución del comando “su”.

Pues resulta que, por defecto a este user no se le asigna ninguna clave o password (algunos dicen que es una medida de seguridad), así que estaremos recibiendo un Error de: Fallo de autenticación hasta configurarlo.

fixed2Por fortuna, no es algo que resulte muy complicado de resolver (gracias a @alejandroc quien compartiera la solución en http://ob.tener.me/2vbdLjk).

Solo tenemos que ejecutar el comando

sudo passwd root

Nos requerirá introducir el password de nuestro usuario administrador.

Una vez que nos hallamos autenticado, nos solicitará que coloquemos el password que queremos definir para UNIX, es decir el usuario “root”. Confirmamos nuevamente el password y listo.

Ya podremos ejecutar el comando “su” sin mayor problema, y con ello realizar algunas de las tareas que nos ocupen, como la instalación de archivos .rpm

 

Espero te haya parecido interesante este post.

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo.

 

 


Archivado en: Informática e Internet, Linux, Microsoft, Seguridad, Windows Tagged: Linux, Microsoft, root, rpm, Seguridad, UNIX, Windows