Mostrando entradas con la etiqueta Server Web. Mostrar todas las entradas
Mostrando entradas con la etiqueta Server Web. Mostrar todas las entradas

2018-08-22

Configurar Server OpenSSH en Debian 9.5 con PublicKey tipo ED25519 que es mas segura que RSA y conectar con Putty

Hola Amigos acá les dejo todo lo que hay que hacer para configurar el Server OpenSSH en Debian 9.5

En estos pasos damos por entendido que el usuario que esta realizando los pasos es "user1" y en algunos momento "root" para otros cambios. Y tambien esta mis PC es la que tiene instalado el Server OpenSSH an que queremos entrar desde otro PC con Linux o Putty con Windows

Linux donde instalamos el server OpenSSH

Paso 1)
Ver si tenes instala Server OpenSSH
su root /etc/init.d/ssh status

Si no existe el servicio, es porque no esta instalado, si existe pasa al paso 3

Paso 2)
Instalar Server SSH ponemos todo "YES"

su root apt install openssh-server

Paso 3)
Configurar el server para poder entrar solo con clave y cambiar alguna parámetros por seguridad.

echo '' > /var/log/sshd_banners
su root nano /etc/ssh/sshd_config
Cambiar el archivo sshd_config con
Protocol 2 # <= inserta si no esta en el archivo
Port 22 # <= Por otro numero distinto al estándar eje 2822
PermitRootLogin no
AllowUsers user1 user2 # <= lista de usuario en el sistema /home/xxx que van a entrar por ssh
PubkeyAuthentication yes
LoginGraceTime 2m
PasswordAuthentication no
PermitEmptyPasswords no
StrictModes yes
UsePAM no
X11Forwarding no # <= Solo si trabajamos en modo consola
PermitTunnel no
UsePrivilegeSeparation sandbox
PrintMotd no
PrintLastLog yes
Banner /var/log/sshd_banners.log
Paso 4)
Generar la clave publica y privada de tipo ED25519 y es recomendable poner un password para mas seguridad a la key que vamos a generar, si alguien te la roba también tiene que saber el password para poder utilizarla. Damos todo entre y ponemos un password o lo dejamos en blanco.
ssh-keygen -t ed25519
Paso 5)
Ya tenemos los dos  archivos generado en nuevos directorio /home/user1/.ssh/
id_ed25519          <= privada
id_ed25519.pub   <= publico

Paso 6)
Crear el archivo "authorized_keys" que va en ese mismo directorio que va ir a buscar el mismo Server OpenSSH, copiamos la key publica a authorized_keys.
cp -p /home/user1/.ssh/id_ed25519.pub /home/user1/.ssh/authorized_keys
Paso 7)
Reiniciamos el servicio de OpenSSH, para que tome todo los cambios.
su root /etc/init.d/ssh restart
Paso 8)
En la misma Pc que tiene el server SSH  que es a donde queremos entrar desde windows con Putty por ejemplo. Ya esta listo, el server linux. Lo que nos queda hacer es sacar la clave privada "id_ed25519"

Sacar la key privada para copiarla y llevar a PuTTYgen.
cat /home/user1/.ssh/id_ed25519
Paso 9)
Copiamos todo lo que salio por pantalla, lo guardamos en un archivo key-user1-pri.ppk y pegamos dentro todo.

-----BEGIN OPENSSH PRIVATE KEY-----
b3Bsasasasadwfrrfrferwfewfefewfewcxzffgfdasfsd
........
........
7owz/DzjZrPx1ABOSWlsaskakjsakljfiedGLg/m0=
-----END OPENSSH PRIVATE KEY-----


Windows Putty

Paso 10)
Abrimos PuTTYgen => "Load" y buscar el archivo creado antes como ejemplo "key-user1-pri.ppk"
le ponemo el password si lo pide.
Aceptamos el mensaje que muestra el programa.
Y después marcamos "ED25519"
Cuando este marcado, apretar el botón "Save private key" y se puede pisar el archivo cargado o crear una nuevo.


Paso 11)
Abrimos Putty y poner
IP del server linux a conectar
Cambiar el puerto si es distinto a 22
Connection =>  Data => Auto-login poner el nombre del usuario del key "user1"
Connection => SSH => Auth => Private key ... buscar el archivo nuevo reformatiado con PuTTYgen
Volvemos a Session => Saved Sessions, ponemos un nombre y click en "Save"
Y por ultimo "Open"

Y listo tendría que poder entrar al server OpenSSH sin problema, si tu key tiene password te la va a pedir, si no tiene entrar directo al server.





2010-06-04

ZeroDayScan – Detecta problemas de seguridad en tu sitio web

Después de solicitar la inclusión de un archivo de texto en la raiz de nuestro sitio web, ZeroDayScan realiza una serie de análisis que pretenden detectar problemas de seguridad de varios tipos, desde archivos y directorios ocultos hasta problemas de SQL injection o ataques Cross Site Scripting (XSS).

Con informes generados en PDF, el resultado puede tardar hasta 72 horas en ser enviado por email. Disponen de un blog donde explican las novedades y detalles del proyecto, tendremos que estar atentos…

Vía Killerstartups

2009-05-10

API Yahoo COTIZACION 1 Dolar contra Pesos Argentinos

Aca encontre la manera de obtener un archivos CVS con la cotización del dia, para poder manipular con algún lenguaje como PHP, JavaScript, ActionScript, etc..
Cortesía de Yahoo.

Link para descargar el CVS con la cotización de divisas entre el dolar y el pesos.
http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDARS=X
O link alternativo con el valor de venta y comprar en el mismo CVS
http://au.finance.yahoo.com/d/quotes.csv?s=USDARS=X&f=sl1d1t1ba&e=.csv

Aca les dejor un ejemplo php:
  • < ?php
  • $from = 'USD'; //US Dollar
  • $to = 'ARS'; // Pesos argentinos

  • $url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $from . $to .'=X';
  • $handle = @fopen($url, 'r');
  • if ($handle) {
  • $result = fgets($handle, 4096);
  • fclose($handle);
  • }

  • $array = explode(',',$result);

  • var_dump($array);
  • ?>

Es muy fácil adaptarlo a otras monedas..

También esta alternativa de tomar esta imagen del siguiente link:
http://www.dolarpeso.com/banners/dolarpeso.gif
Es un poco menos funcional ya que es una imagen y no son texto como la alternativa anterior.

Saludos

2008-12-13

20 trucos de seguridad para Apache

Estas son 20 recomendaciones para optimizar la seguridad en tu servidor Apache.


21/11/07 - Del mismo modo debes tener en cuenta que algunas de estas recomendaciones pueden disminuir el rendimiento de tu servidor dependiendo de tu configuración y de las especificaciones del sistema.

Primero, cerciorate de tener instalado los últimos parches de seguridad

No tiene sentido poner una cerradura mas resistente a tu puerta si dejas la ventana abierta.Del mismo modo si no tenemos los ultimos parches de seguridad instalado no tendría sentido continuar con la optimización de seguridad.

Restringir acceso por IP

Si tienes un recurso al que deba solamente tener acceso alguna red, o IP en concreto puedes configurarlo en Apache. Por ejemplo si deseas restringir el acceso a tu Intranet para permitir solamente la red 176.16:

Order Deny,Allow
Deny from all
Allow from 176.16.0.0/16

o por IP:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

Oculta la versión y otra información delicada

Por defecto muchas instalaciones de Apache muestran el número de versión que está funcionando, el sistema operativo y un informe de módulos de Apache están instalados en el servidor. Los usuario maliciosos pueden utilizar esta información para atacar tu servidor.

Hay dos directivas que necesitas agregar, o corregir en tu archivo de httpd.conf:

ServerSignature Off
ServerTokens Prod

El ServerSignature aparece en la parte inferior de las páginas generadas por apache tales como los famosos errores 404.

La directiva ServerTokens se utiliza para determinarse lo que pondrá Apache en la cabecera de la respuesta HTTP del servidor.

Apache debe funcionar bajo su propia cuenta y grupo de usuario

Algunas versiones de Apache corren bajo el usuario nobody, esto compromete mucho su seguridad por lo tanto haz lo siguiente:

User apache
Group apache

Utiliza el mod_security

El mod_security es un módulo estupendo de Apache escrito por Ivan Ristic, el autor de Apache Security de O'Reilly.

Esta es una lista de cosas que puedes hacer con mod_security:

* Filtración simple
* Filtración basada en expresiónes regular
* Validación de codificación de la URL
* Validación de codificación Unicode
* Auditing
* Prevención del ataque NULL Byte
* Límitar la memoria de subida
* Enmascarar la identidad del servidor
* Y más

Deshabilitar cualquier módulo innecesario

Apache viene por defecto instalado con un serie de módulos.Debes echarle un vistazo a la documentación de Apache y ver para que sirve cada uno de ellos, y de esta manera te darás cuenta de que hay algunos que no son útiles en tu servidor.

Busca en httpd.conf las lineas que contengan LoadModule. Para deshabilitar el módulo debes agregar un # al principio de la línea, para que de esta forma pase a ser un comentario. Para buscar los módulos prueba con:

grep LoadModule httpd.conf

Aquí están algunos módulos que se instalan por defecto pero a menudo no son necesarios: mod_imap, mod_include, mod_info, mod_userdir, mod_status, mod_cgi, mod_autoindex.

Asegurarte de que los archivos a los que se accede son los deseados

No deseamos que se pueda acceder a los directorios que no tengan permisos para ello, supongamos que el directorio raiz para nuestras webs es /web, la configuración óptima debera ser la siguiente:

Order Deny,Allow
Deny from all
Options None
AllowOverride None

Order Allow,Deny
Allow from all

Desactiva las opciones para explorar directorios

Esto lo puedes hacer con las opciones de directiva dentro de la etiqueta directorio tiene dos posibles valores none o indexes.

Options -Indexes

Desactiva los includes del lado servidor

Esto también se hace con las opciones de directiva dentro de la etiqueta directorio tiene dos posibles valores none o include.

Options -Includes

Desactiva la ejecución de CGI

Si no necesitas la ejecución de CGI por algún motivo en concreto desacrivalos se hace con las opciones de directiva dentro de la etiqueta directorio tiene dos posibles valores none o ExecCGI.

Options -ExecCGI

No permitir que apache siga enlaces simbólicos

De nuevo se configura con las opciones de directiva dentro de la etiqueta directorio tiene dos posibles valores none o FollowSymLinks.

Options -FollowSymLinks

Desactivar todas las opciones

Si deseas desactivar el uso de todas las opciones simplemente:

Options None

Si solamente deseas desactivar algunas en concreto, separalas con un espacio en las opciones de directiva:

Options -ExecCGI -FollowSymLinks -Indexes

Desactivar la ayuda para los archivos .htaccess

Esto esta ya hecho pero con la directiva AllowOverride. Cámbialo a none.

AllowOverride None

Otra opción interesante sería bloquear la descarga de todos los archivos que comienzen con .ht por ejemplo, se haría de la siguiente manera:

AccessFileName .httpdoverride

Order allow,deny
Deny from all
Satisfy All

Disminuye el valor máximo de tiempo de espera

Por el defecto el tiempo de espera es de 300 segundos. Puedes disminuirlo por seguridad para prevenir ataques de esta manera:

Timeout 45

Limitar el tamaño maximo de peticiones

Apache tiene varias directivas que permiten que limites el tamaño de una petición, esto puede ser muy útil.

Una buena manera de comenzar es con la directiva LimitRequestBody. Esta directiva esta fijada a ilimitado por defecto. Si estás permitiendo uploads de archivos que no sean mayores a 1MB, podrías fijar este ajuste a algo parecido a esto:

LimitRequestBody 1048576

Si no estás permitiendo uploads de archivos puedes fijarlo incluso a un tamaño más pequeño.

Algunos otras directivas a mirar son LimitRequestFields, LimitRequestFieldSize y LimitRequestLine.

Conclusión

Espero que estas recomendaciones os hayan sido útiles y recuerda que el uso que le tienes que dar depende en gran medida de los recursos que necesitas y de las caracteristicas de tu servidor, antes de hacer cualquier cambio si no estas seguro documéntate y utiliza este artículo unicamente como una referencía que te lleve a la solución más idonea.

Fuente en ingles: www.petefreitag.com