Agregados recientemente ...

  • Recuperar las claves de mysql ...
  • Paso a Paso. Servidor "seguro" de correo, DNS y Web. Instalación y configuración de MySQL.
  • Paso a paso. Servidor "seguro" de correo, DNS y Web. Instalación y configuración de SSH.
  • Problemas de autenticación usando servicios de SharePoint
  • Paso a Paso. Montaje de un servidor "seguro" de correo, DNS y Web. Instalación del sistema operativo.

  • Haz tus búsquedas desde aquí:


    Recuperar las claves de mysql …

    logo_mysql_sun_a

         En el post anterior, explicaba cómo podíamos cargarnos el usuario root de mysql para crear otro usuario que fuese el administrador general. Con esto con seguíamos que el posible atacante necesitase adivinar, además de la clave, el nombre de usuario. Esto también puede plantearnos a nosotros un problema, que es que no nos acordemos del nombre de usuario que habíamos puesto.

         Es lo que me ha pasado a mi hoy, que he ido a acceder y no me acordaba, no se si de la clave o del nombre de usuario. Pero no es para alarmarse, gracias a estos sencillos pasos es posible acceder a MySQL con todos los privilegios sin especificar contraseña.

         Lo único que necesitamos es ser root, para poder detener el servicio MySQL y arrancarlo con la opción –skip-grant-tables:

    spurs:~# /etc/init.d/mysql stop
    Stopping MySQL database server: mysqld.

    spurs:~# mysqld –skip-grant-tables -user=root &
    [1] 11875
    spurs:~# 081120 18:47:21 [Warning] Ignoring user change to ’ser=root’ because the user was set to ‘mysql’ earlier on the command line

    081120 18:47:21  InnoDB: Started; log sequence number 0 43655
    081120 18:47:21 [Note] mysqld: ready for connections.
    Version: ‘5.0.32-Debian_7etch8-log’  socket: ‘/var/run/mysqld/mysqld.sock’  port: 3306  Debian etch distribution

    spurs:~#
    spurs:~# mysql -u root
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.0.32-Debian_7etch8-log Debian etch distribution

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

    mysql>UPDATE mysql.user SET Password=PASSWORD(’nuevoclave’) WHERE user=’root’;
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 0

    mysql> exit
    Bye
    spurs:~# /etc/init.d/mysql stop
    Stopping MySQL database server: mysqld081120 18:48:40 [Note] mysqld: Normal shutdown

    081120 18:48:42  InnoDB: Starting shutdown…
    081120 18:48:44  InnoDB: Shutdown completed; log sequence number 0 43655
    081120 18:48:44 [Note] mysqld: Shutdown complete

    .
    [1]+  Done                    mysqld –skip-grant-tables -user=root

    spurs:~# /etc/init.d/mysql start
    Starting MySQL database server: mysqld.
    Checking for corrupt, not cleanly closed and upgrade needing tables..

    Como veis, lo único que hemos hecho es detener el servicio y arrancarlo en un modo no seguro el tiempo justo para poder cambiarle la clave al usuario y luego, volverlo a detener y arrancar en modo normal.

    Paso a Paso. Servidor "seguro" de correo, DNS y Web. Instalación y configuración de MySQL.

    logo_mysql_sun_a

         Lo cierto es que la instalación de MySql en Debian no merece escribir un artículo, porque es realmente sencilla. No obstante, voy a añadir un toque personal y voy a contar un forma de hacer MySQL un poquito más seguro. Además, al hacer esto me encontré con un problema cuya solución detallo también en este artículo.

         En los repositorios de Debian existen varios paquetes relacionados con MySQL que pueden llevar a confusión. Uno de ellos, en concreto mysql-server, es un paquete que enlaza a la última ver025.sión estable de MySQL en los repositorios de Debian. Lo que esto significa es que solo tendremos que ejecutar la siguiente orden para tenerlo instalado:

    # apt-get install mysql-server

          Y ya está, ya lo tienes instalado, con los scripts de inicio generados y todo configurado con las garantías de seguridad de Debian

         Si quieres saber qué hice para hacerlo un poquito más seguro y cual fue el problema que me encontré y la solución que le di….

    Leer el resto de la entrada »

    Paso a paso. Servidor "seguro" de correo, DNS y Web. Instalación y configuración de SSH.

    190px-OpenSSH_logo    En esta entrega de la serie, vamos a instalar y configurar OpenSSH para permitirnos el acceso desde cualquier ordenador y administrar nuestro servidor.

         Además, añadiremos algunas configuraciones esenciales para mejorar la seguridad de nuestro sistema:

        En este artículo, veremos:

    1. Instalación de OpenSSH en Debian.
    2. Configuración inicial. Denegar acceso a root. Cambiar el puerto.
    3. Desactivar el inicio de sesión interactivo por teclado. Solo permitiremos el inicio de sesión usando un par de clave pública/clave privada.
    4. Instalación de denyhosts para bloquear IPs cuando se registren una serie de fallos consecutivos.

         Para realizar estas tareas, me he apoyado en el siguiente artículo:

    http://thinkhole.org/wp/2006/10/30/five-steps-to-a-more-secure-ssh/

    Leer el resto de la entrada »

    Problemas de autenticación usando servicios de SharePoint

         Ahora mismo estoy enfrascado programando una pequeña aplicación que, a grandes rasgos, lo que tiene que hacer es encontrar ficheros en una carpeta y subirlos a la correspondiente Biblioteca de Documentos de MOSS 2007.

         Para ello, utilizo los servicios Web que Sharepoint brinda por defecto. En concreto, uso Copy.asmx. Pero bueno, en un artículo posterior contaré todo lo referente a esta aplicación. El problema que me tenía partido en dos es que, cada vez que intentaba usar el servicio web obtenía el siguiente error en tiempo de ejecución:

    La solicitud HTTP no está autorizada con el esquema de autenticación de cliente ‘Anonymous’. El encabezado de autenticación recibido del servidor era ‘NTLM’.

         Y claro, por más que intentaba autentificar con mi usuario de Windows, con usuario y clave…. de cualquier forma, nada funcionaba.

         Descubrí que el problema no es de uso de ese servicio concreto sino de configuración por defecto de Visual Studio. Cuando usas el GUI de Visual Studio para enlazar con el Servicio Web, este es el bloque que te añade en app.config:

    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="CopySoap" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                    bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                    maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                    messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                    useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        <message clientCredentialType="UserName" algorithmSuite="Default" />
                    </security>

                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address=http://myserver/_vti_bin/Copy.asmx binding="basicHttpBinding"
                bindingConfiguration="CopySoap" contract="MOSSCopyService.CopySoap"
                name="CopySoap" />
        </client>
    </system.serviceModel>

         He marcado de color la parte que nos interesa. Por defecto, usa el esquema de autentificación anónimo, que es lo que provoca el error. Cambiando esa configuración por ésta habremos solucionado el problema:

    <security mode="TransportCredentialOnly">
                            <transport clientCredentialType="Ntlm" proxyCredentialType="None"
                                realm="" />
                            <message clientCredentialType="UserName" algorithmSuite="Default" />
                        </security>

         Claro, si es que el mensaje lo deja claro, pero a veces tenemos la solución delante de nuestras narices y no somos capaces de verla.

    Paso a Paso. Montaje de un servidor "seguro" de correo, DNS y Web. Instalación del sistema operativo.

         Como sistema operativo, por supuesto, hemos escogido Linux. Pero ahora hay que elegir entre una infinidad de distribuciones disponibles. Lo cierto es que esto va en gustos. Yo he barajado las siguientes opciones:

    • Fedora Core. Fedora Core 9 incluye lo último en software libre y de código abierto. Basada en Red Hat, es la distribución que más me gusta para equipos de Escritorio. Sin embargo, todo hay que decirlo, mi opinión es que su facilidad de uso da demasiadas configuraciones por supuestas. En su opción de instalación mínima están incluidos bastantes paquetes y servicios.
    • Ubuntu Linux. Basado en Debian, creo que es la distribución más de moda hoy en día. Lo cierto es que hay una versión Server muy interesante. La única razón de que no optase por esta distribución es simplemente cuestión de gustos.
    • Debian. Para mí, la mejor distribución. La instalación mínima apenas consume unos cientos de megas, la facilidad de usar apt-get y la seguridad de que van retrasados en los paquetes porque se esfuerzan por la seguridad.

    Leer el resto de la entrada »

    ←Older   
    Directorio de Blogs