Seguretat i continuïtat 24x7 al servidor FreeBSD 13 en una Raspberry Pi 4

Seguretat i continuïtat 24x7 al servidor FreeBSD 13 en una Raspberry Pi 4

En aquest xicotet article explique el meu muntatge de servidor 24x7 que tinc amb FreeBSD i la Raspberry Pi 4 a més de configuracions per a la seguretat i còpies regulars.

El meu servidor té SSH, MariaDB 24x7 i Nginx 24x7, i necessite que siga el més estable possible. Per aquest motiu faig servir FreeBSD, però a banda sempre podem tindre caigudes de la llum o que ens carreguem per error un directori o esborrem el que no volem esborrar des de la part web, i sempre cal tenir a l'abast el servidor connectat i funcionant per poder recuperar i solventar l'error. Doncs bé, a continuació tens com configure la seguretat, com treballe les còpies de seguretat i finalment com treballe la clonació dels "discs durs", que són tarjetes microSD de 128 GB de marca Kingston i classe 10.

Ací pots veure la Raspberry Pi 4 amb FreeBSD 13.2 i un monitor tipo TONTEC (o altres marques com MJDOUD que hi ha per AliExpress o Amazon) de 7" que vaig comprar fa uns anys i que faig servir de tant en tant quan necessite fer experiments nous amb la Raspberry com reinstal·lacions, proves d'una nova sdCard o instal·lacions de coses especials. Però normalment, després de fer les proves pertinents, sempre tinc la Raspberry Pi 4 sense monitor ni teclat, en un armari :) i tot funciona correctament 24x7, que eixe és l'objectiu per tot el que m'ofereix com a servidor i, al mateix temps, el seu baix consum (mira aquest article o mira també aquest altre).

 

SEGURETAT

La seguretat en un servidor connectat a internet és molt important. Nomès cal mirar els intents d'accès que tenim mirant els logs a per a adonar-nos. Mira, com a prova, pots veure els logs d'accés al servidor, on veuràs que hi ha persones o bots constantment intentant crackejar màquines remotes, i això és un perill!!!

intents d'accès al meu servidor

Aleshores, jo no tinc obert cap port d'FTP ni permet l'accès amb un usuari i contrasenya, jo m'ho configure de tal manera que nomès puc accedir a configurar la Raspberry Pi 4 amb un certificat.

Generem una clau al nostre ordinador amb:

$ ssh-keygen -t rsa

I ara exportem la nostra clau pública al fitxer de claus autoritzades de la Raspberry Pi 4:

# cat ~/.ssh/id_rsa.pub | ssh EL_TEU_USUARI@EL_TEU_SERVIDOR 'cat - >> ~/.ssh/authorized_keys'

Ara ja podem accedir sense necessitat de contrasenya.

I finalment editem /etc/ssh/sshd_config de la Raspberry i configurarem les següents tres línies:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes

I ara ja ningú pot accedir mai amb usuari/contrasenya ni força bruta ni res.

Més info en aquest article més complet que vaig fer fa un temps anomenat Configurant accés SSH a servidors amb certificats digitals i sense contrasenyes.

 

CÒPIES DE SEGURETAT DIÀRIES

El que faig regularment és copiar les bases de dades dels meus projectes Drupal, tot el directori /usr/local/var/www on tinc totes les dades i també alguns fitxers de configuració. Vaig actualtizant i modificant aquest script de tant en tant segons les meues necessitats.

Un exemple d'script que em fa les còpies seria aquest, tu pots adaptar-ho a les teues rutes i projectes:


# +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
# BACKUP DEL SERVIDOR RASPBERRY PI 4 I EXPORTACIÓ DE LES DADES A LA RASPBERRY PI 2 FREEBSD CADA NIT
# +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++
NOW=$(date +"%Y%m%d")
mkdir $NOW
cd $NOW
#
# Em faig un backup de totes les bases de dades
mysqldump base_de_dades_1_db | gzip > base_de_dades_1.sql.gz
mysqldump base_de_dades_2_db | gzip > base_de_dades_2.sql.gz
mysqldump base_de_dades_3_db | gzip > base_de_dades_3.sql.gz
mysqldump base_de_dades_4_db | gzip > base_de_dades_4.sql.gz
#
# Em faig un backup del Crontab
crontab -l > crontab.txt && tar cvfz crontab.tar.gz crontab.txt && rm crontab.txt
#
# Em faig un backup del fitxer hosts
tar cvfz hosts.tar.gz /etc/hosts
#
# Webs
tar cvfz www-raspberrypi4.tar.gz /var/www
#
# Nginx
tar cvfz nginx.tar.gz /etc/nginx
#
# Faig un paquet comprimit de tot i ho envie a la Raspberry Pi 2 amb un disc de 4 TB
# tar cvfz $NOW.tar.gz *
# scp $NOW.tar.gz USUARI@IP_RASPBERRY_PI_2:/RUTA/DELS/MEUS/BACKUPS/.
#

 

CÒPIES DE LES TARJETES MICROSD

A la Raspberry Pi, el disc dur és la tarjeta microSD. Per a no patir reinstal·lacions inesperades ni tenir mal de camps, m'agrada clonar les tarjetes microSD i, en cas de problemes greus o de que la tarjeta deixe de funcionar, substituiria una tarjeta per l'altra i "xim pum".

La Raspberry Pi 4 i algunes tarjetes microSD que vaig clonant per seguretat

Doncs bé, el que faig és clonar la tarjeta microSD i em cree una imatge, i aquest serà el meu backup de la situació actual del meu servidor. És important ficar la data i hora, per saber exactament de quina còpia es tracta.

A Ubuntu Linux ho faig amb:

# dd if=/dev/sdb of=/home/joan/backup_microsd.img status=progress bs=1M

A FreeBSD ho faig amb:

# dd if=/dev/da0 of=/home/joan/backup_microsd.img status=progress bs=1M

I puc cremar una nova tarjeta microSD a continuació.

A Ubuntu Linux ho faig amb:

# dd if=/home/joan/backup_microsd.img of=/dev/sdb status=progress bs=1M

A FreeBSD ho faig amb:

# dd if=/home/joan/backup_microsd.img of=/dev/da0 status=progress bs=1M

D'aquesta manera ja tinc asegurat els meus serveis i, en cas d'error, reemplace la tarjeta i, com diem a la Plana Alta, i avant..

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES