- Crear una cámara de seguridad usando una raspberry pi 3 y una webcam
- Instalación headless (no se necesita teclado ni pantalla para hacer la instalación)
- Visualización en tiempo real de la webcam (web, vlc, android ipcam)
- Acceso con password
- Detección de movimiento y grabación de eventos
- nginx para SSL (openssl self signed) y proxy inverso
- conexión a wifi + wpa enterprise radius
- fail2ban? (pendiente de revisar)
-
Bajar imagen de raspbian lite: https://www.raspberrypi.org/downloads/raspbian/ Una vez grabada la imagen en la sd, antes de meterla en la raspberry, montamos las particiones y:
- touch ssh en partición boot para tener acceso por ssh (desactivado por defecto)
- Configuramos wifi + radius
Editamos /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="RocketJump"
scan_ssid=1
key_mgmt=WPA-EAP
pairwise=CCMP TKIP
group=CCMP TKIP
eap=PEAP
identity="radiususer"
password="radiuspassword"
phase1="peapver=0"
phase2="MSCHAPV2"
}
Editamos /etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet static
pre-up wpa_supplicant -B -Dwext -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
post-down killall -q wpa_supplicant
address 192.168.0.220
netmask 255.255.255.0
gateway 192.168.0.1
- passwd
- sudo su
- passwd
- fs_resize
- hostname
- apt update && apt dist-upgrade -y
#Instalación de motion y demás cosas que usaré...
apt install motion nginx libjpeg62 ccze htop vim fail2ban openssl
#Configuración de motion Editamos /etc/motion/motion.conf y configuramos al gusto
- Daemon=on
- Detección de movimiento
- snapshot
- video
- local off
- ... mirar todas las opciones, que están bastante claras...
- poner passwords
vi /etc/default/motion daemon on para iniciar el servicio automáticamente
Creamos el certificado autofirmado:
openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /etc/ssl/certs/webcamstream.key -out /etc/ssl/certs/webcamstream.crt
/etc/nginx/sites-available/webcam1
Creamos el virtualhost de nginx: /etc/nginx/sites-available/webcam
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 4443;
ssl on;
ssl_certificate /etc/ssl/certs/webcamstream.crt;
ssl_certificate_key /etc/ssl/certs/webcamstream.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8081;
proxy_read_timeout 90;
}
}
Habilitamos el nuevo sitio:
ln -s /etc/nginx/sites-available/webcam /etc/nginx/sites-enabled
#IPCam Viewer Android
- detectar cámara https
- Motion detector notifier
##envío de imágenes - por email - telegram - ftp - owncloud
- Password de Nginx, no de motion para fail2ban?
(alternativa https://wiki.zoneminder.com/Raspbian)