Instalando TELEGRAM

Instalación

Para instalar en Raspbian ejecutamos desde la terminal:

instalamos lo siguiente:

Ejecutamos el archivo de configuración y copilamos el programa:

da el error: configure: error: no libevent found

volvemos a ejecutar

Ejecutamos

da el error:

make: *** No rule to make target ‘tgl/scheme.tl’, needed by ‘auto/scheme.tl’. Alto.

Se ha solucionado poniendo – – recursive en:

Simplemente debemos ejecutar en la terminal:

da lo siguiente:

pi@raspberrypi:~/tg $ sudo bin/telegram-cli -k tg-server.pub -W

change_user_group: can’t find the user telegramd to switch to

Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman

Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type show_license'.

This is free software, and you are welcome to redistribute it

under certain conditions; type show_license’ for details.

Telegram-cli uses libtgl version 2.1.0

Telegram-cli includes software developed by the OpenSSL Project

for use in the OpenSSL Toolkit. (http://www.openssl.org/)

I: config dir=[/root/.telegram-cli]

[/root/.telegram-cli] created

[/root/.telegram-cli/downloads] created

> telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0′ failed.

SIGNAL received

NO-IP para Raspberry

Con el servidor de DNS “NO-IP” siempre tendremos una direccion fija para poder acceder a la Raspberry.

En primer lugar accedemos a la pagina www.noip.com y creamos una cuenta. Completamos todos los datos, eligiendo el nombre del hostname y una contraseña para acceder.

Nos enviaran un email de confirmacion y ya podremos acceder desde fuera de la red local.

Cada 30 dias no-ip mandara un correo para que actualice, sino, lo dan de baja.

 Se instala el cliente en la Raspberry, para ello teclearemos los siguientes comandos.

 Descargamos el paquete:

 Lo descomprimimos:

 Durante la instalacion pedira:

  • el correo
  • la contraseña con la que nos hemos registrado,
  • el periodo de actualización, se deja en 30
  • a la pregunta le ponemos que no:

Auto configuration for Linux client of no-ip.com.

 

Please enter the login/email string for no-ip.com xxxxxx@xxxxxx.com

Please enter the password for user ‘xxxxxx@xxxxxx.com‘ *******

Please enter an update interval:[30] 30

Do you wish to run something at successful update?[N] (y/N) n

New configuration file ‘/tmp/no-ip2.conf’ created.

Ahora configuramos no-ip para que se auto-inicie con la Raspberry. Para elllo, se crea el siguiente fichero:

 Y copiamos el siguiente texto:

### BEGIN INIT INFO

# Provides: proveedor de DNS

# Required-Start: $syslog

# Required-Stop: $syslog

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Para acceder a la Raspberry desde Internet

# Description:

#

### END INIT INFO

Ctrl+X y guardamos. Y le damos permisos de ejecución :

 Y lo ponemos en la cola de ejecuccion.

 Para iniciar si no lo esta ejecutando:

En el router se deben abrir los puertos que queramos utilizar, por defecto el puerto de ssh (22) y el puerto de la pagina web (8000). Si se quiere el escritorio remoto el (3350), etc…

Camara Raspberry


Hay que habilitar el modulo cámara en la configuración de Raspberry Pi.

Para abrir el menú de configuración de Raspberry usaremos el siguiente comando:

Tendrá que aparecer el menú de configuraciones de Raspberry Pi.

En la opción para habilitar y deshabilitar el soporte para la cámara.

Seleccionamos esa opción y presionamos Enter.

Seleccionaremos <Enable> y pulsamos Enter para habilitar la cámara.

 

Se nos preguntará que si queremos reiniciar el sistema, seleccionaremos <Si> para que los cambios surjan efecto.

A partir de este momento ya podemos capturar fotografias y videos.

Lighttpd con php

Instalación del servidor Web (lighttpd) 

Para la instalación ejecutaremos

Por defecto, las paginas están en /var/www/html, para cambiarlo a /var/www.

Editamos en el fichero /etc/lighttpd/lighttpd.conf con:

server.document-root        = “/var/www/html»

por

server.document-root        = “/var/www»

Para cambiarlo al puerto 8080

 

server.pot=8080

server.socket = “[::]:8080′′

En este caso pusimos en escucha el puerto 8080.

Después hay que reiniciar el servicio con:

Instalación/configuración de PHP

Para su instalación ejecutamos:

Una vez instalado PHP, hemos de efectuar alguna configuración adicional para que el servidor reconozca los scripts PHP, por ello habilitamos el módulo fastcgi-php mediante

y, a continuación, reiniciamos el servicio ya actualizado mediante

Para comprobar que el servidor web está ejecutándose miramos que el puerto 80 esté en modo Listen

Ahora podemos ir a un navegador y poner en la dirección lo siguiente: http://IP_Raspberry

 

Activar y desactivar el servicio manualmente

Si hace falta parar el servidor web la orden es:

Para volver a ponerlo en marcha:

Para reiniciarlo:

Ver los Logs

Para ver el log de acceso a la pagina, este fichero es  /var/log/lighttpd/access.log

Modificamos el fichero:

server.modules = (

«mod_access»,

«mod_alias»,

«mod_compress»,

«mod_accesslog»,

«mod_redirect»,

# «mod_rewrite»,

)

server.document-root = «/var/www»

server.upload-dirs = ( «/var/cache/lighttpd/uploads» )

server.errorlog = «/var/log/lighttpd/error.log»

accesslog.filename = «/var/log/lighttpd/access.log» — creas el archivo access.log

server.pid-file = «/var/run/lighttpd.pid»

server.username = «www-data»

server.groupname = «www-data»

server.port = 80

index-file.names = ( «index.php», «index.html», «index.lighttpd.html» )

url.access-deny = ( «~», «.inc» )

static-file.exclude-extensions = ( «.php», «.pl», «.fcgi» )

compress.cache-dir = «/var/cache/lighttpd/compress/»

compress.filetype = ( «application/javascript», «text/css», «text/html», «text/plain» )

# default listening port for IPv6 falls back to the IPv4 port

include_shell «/usr/share/lighttpd/use-ipv6.pl » + server.port

include_shell «/usr/share/lighttpd/create-mime.assign.pl»

include_shell «/usr/share/lighttpd/include-conf-enabled.pl»

reiniciamos el servicio de lighttpd

Ya con esto, ya se genera el archivo access.log, se nos guardara los accesos a la web

 

WebMin

Instalación de WEBMIN

Webmin, nos servirá para configurar a la Raspberry de forma grafica, el sistema operativo.

En la página web de Webmin podemos veremos cuál es la última versión. En este momento es la 1.820.

Nos descargaremos dicha version con el comando:

Antes de instalarla, hay que comprobar que tenemos las dependencias necesarias:

Si no da, ningún error, realizamos la instalación de Webmin:

Para acceder a la interfaz web de webmin con el navegador mediante https, poniendo la IP local de la Raspberry y el puerto 10000,:

Debemos añadir una excepción de seguridad en el navegador. Se nos pedirá el nombre de usuario y la contraseña.

Una vez que accedamos a Webmin, a la izquierda el menú de configuración del sistema. Tiene la posibilidad de ponerlo en español.

Fail2Ban

Vigila el fichero de log de los servidores que tengamos instalados y banea aquellas IPs que hayan hecho un intento ilegal de entrar en el sistema mediante fuerza bruta:

Ahora copiaremos el archivo de configuración por defecto de Fail2Ban como jail.local que sera ejecutado y nos sobreescribira las configuraciones que tengamos en jail.conf , ponemos el siguiente comando en el terminal SSH:

Y ahora abriremos el archivo copiado con el comando:

En la sección [DEFAULT], esta la configuración genérica del servicio:

ignoreip (IPs que no deseemos que se baneen, son las correspondientes al localhost y a la IP local del PC desde el que accedemos normalmente).

bantime (tiempo de baneo, expresado en segundos).

maxretry (numero de intentos fallidos de login para que se active el baneo).

En las secciones ([ssh] y [ssh-ddos]) se activa la seguridad del servidor SSH contra ataques de fuerza bruta y/o contra ataques DDoS (Distributed Denial of Service):

enabled = true al comienzo de cada una, para que se active.

port = ssh si se esta usando el puerto (22) o bien ponemos el número del puerto por el que este corriendo.

Modificamos su contenido, que quedará así:

Fail2ban se puede aplicar también a otros web, servidores FTP o de correo.

Al acabar la configuración hay que reiniciar el servicio:

Podemos comprobar:

Como conocer su estado:

Ver los servicos activos:

O el estado actual de un servicio, que nos mostrará si tiene alguna IP baneada en este momento.  En el caso del ssh :

También se puede analizar fichero de log para comprobar si ha habido intentos de acceso no autorizados:

 

RECIBIR UN CORREO DE ALERTA AL BLOQUEAR UNA IP (aun por probar)

Podemos hacer que Fail2ban nos envíe un correo cuando detecte un intento de intrusión y bloquee una determinada IP, informándonos de este hecho. Para lograrlo, lo primero que hemos de hacer es  instalar un sistema de envío de correos desde la terminal.

Luego volvemos al fichero de configuración de Fail2ban:

Dentro de él, en la sección # ACTIONS, localizamos y configuramos los siguientes parámetros:

destemail = Dirección de email para recibir los avisos

sender = pi@raspberrypi [Este es el email del remitente]

mta = mail [Servidor de correo que usamos]

action = %(action_mw)s [Está al final de la sección]

En la primera línea hemos de escribir la dirección de email en la que deseamos recibir los avisos, mientras que en las demás pondremos únicamente lo que aparece en color rojo.

Hecho lo anterior, guardamos los cambios realizados en el fichero y reiniciamos el servicio:

Así, cada vez que haya un intento de acceso no autorizado y se bloquee la IP correspondiente, enviando un aviso a la dirección de correo indicado con información sobre la IP y el ISP desde los que se ha intentado acceder sin permiso a nuestra máquina. También también avisará cada vez que se detenga o se reactive el servicio.

Servidor SSH

En versiones anteriores a Raspbian Jessie, el servidor SSH, viene activado por defecto. A partir de Jessie, hay que activarlo en la configuración inicia.

En opciones avanzadas.

Una vez activado, debemos asegurar el acceso mediante SSH, ya que es muy frecuente los intentos de acceso no autorizado a los servidores SSH

Veamos a continuación algunos parámetros que podemos modificar o añadir para que nuestro servidor SSH esté más seguro.

En el archivo de configuración realizaremos los cambios:

Cambiar el puerto de acceso:

Si lo cambiamos (poniendo, por ejemplo, el puerto 3426), dificultaremos mucho el trabajo el acceso indebido. Por defecto esta en el puerto 22, lo cambiamos al puerto 3443, modificamos la linea:

por

No haremos una redirección, para que evitar una ataque al puerto redireccionado.

Para llamar ahora al SSH, se hará de la siguiente forma:

Denegar el acceso al usuario root

Para evitar los ataque por fuerza bruta, denegaremos el acceso mediante el usuario root. Para ello ponemos o modificamos la linea de la siguiente forma:

Tiempo de pantalla de disponibilidad de login:

El tiempo en segundos que la pantalla de login estará disponible para que el usuario se identifique. Pasado ese tiempo, la pantalla de acceso se cerrará:

Denegar los password vacíos:

El servidor no debe aceptar contraseñas vacías o en blanco:

Numero máximo de errores en login:

Indica el número máximo de errores permitidos al hacer login. Al sobrepasarlo, la pantalla de login se cerrará y habrá que volver a empezar de nuevo.

Numero máximo de conexiones simultáneas:

Indica el número máximo de conexiones simultáneas por IP que permite el servidor.

Permitir unos usuarios determinados:

Podemos añadir una directiva para que sólo los usuarios especificados tengan acceso al mismo:

O, por el contrario, a permitir el acceso a todos menos a los que se indican expresamente en ella:

Comprobación de errores de configuración:

Una vez guardados los cambios, para comprobar que la configuración del fichero es correcta, con el comando:

Si no aparece ningún mensaje de error, es que todo está bien.

Reinicio del demonio:

Terminadas las modificaciones, para que tengan efecto los cambios, hay que reiniciar el servicio. Lo haremos con el comando:

Revisar lo logs de autentificaron del demonio:

Es aconsejable revisar el fichero /var/log/auth.log para comprobar si tenemos algún intento de entrada ilegal.

Para comprobar que los intentos, lo haremos con el comando:

Para contar cuántas líneas con intentos de intrusión hay: