Caratteristiche instanza Cloud
Server Cloud Aruba Cloud acquistato da noi AMW-IMMSTANCATI su IT1
S.o.: Debian 5.10.92-1 (2022-01-18) x86_64
Server web: Apache2
Applicazione: Angular 10.1.4 (Framework JavaScript/TypeScript di Google)
Compilato con Node.js (ambiente di sviluppo su server Amalfi in cartella Dropbox)
percorso: /var/www/html/farmacie
Certificati
Percorsi
SSLCertificateFile /etc/apache2/ssl/app.invialaqui.it/app.invialaqui.it.crt
SSLCertificateKeyFile /etc/apache2/ssl/app.invialaqui.it/app.invialaqui.it.key
# SSLCACertificateFile /etc/apache2/ssl/STAR_conserva_cloud.ca-bundle.crt
Al rinnovo di certificato pluriennale sostituire semplicemente app.invialaqui.it.crt nella cartella con il nuovo.
La procedura testata è:
- Rinnovare su Register.it il certificato pluriennare già acquistato (dati in possesso di Giorgio)
- Scaricare il certificato nella cartella DropBox Invialaqui App\Certificati\[anno]
- Collegarsi SFTP e rinominare app.invialaqui.it.crt in [anno]- app.invialaqui.it.crt
- Effettuare upload del nuovo certificato
- Collegarsi SSH e stoppare e avviare apache:
systemctl stop apache2
systemctl start apache2
- Verificare il nuovo certificato con un browser
Database
L’applicazione utilizza un utente mysql con privilegi limitati e non espone le credenziali amministrative
L’amministratore per scopi di sviluppo è conservato sul nostro KP.
Hardening lato server
Per le limitazioni riguardanti IP si individuano 3 indirizzi statici considerati sicuri (corrispondono a sede Salerno, sede Amalfi e sede Farmacia)
151.84.40.145, 151.3.217.123, 185.30.83.131
PHPmyadmin
L’accesso a PHPmyadmin è permesso esclusivamente agli IP autorizzati
Configurazione
Aggiunto in
/etc/apache2/conf-available/phpmyadmin.conf
prima di </Directory>
<RequireAny> Require ip 127.0.0.1 Require ip ::1 Require ip 151.84.40.145 Require ip 151.3.217.123 Require ip 185.30.83.131 </RequireAny>
Es:
sudoedit /etc/phpmyadmin/apache.conf
dopo aver salvato:
sudo apache2ctl configtest
Se è tutto ok:
sudo systemctl reload apache2
SSH
La connessione SSH è limitata agli IP autorizzati tramite firewall del s.o. (UFW).
TODO: sostituzione autenticazione SSH root+password con certificato
Configurazione
sudo ufw insert 1 allow proto tcp from 151.84.40.145 to any port 22 comment 'SSH autorizzato' sudo ufw insert 1 allow proto tcp from 151.3.217.123 to any port 22 comment 'SSH autorizzato' sudo ufw insert 1 allow proto tcp from 185.30.83.131 to any port 22 comment 'SSH autorizzato' sudo ufw status numbered
Quindi rimozione accesso globale
sudo ufw delete allow 22/tcp sudo ufw status numbered
Fail2Ban
Esiste una jail standard sshd
Hardening lato applicativo
Programmate attività di hardening e messa in sicurezza
Attività schedulate
Le attività programmate sono gestite tramite cron
Per modificarle
crontab -e
Quelle predefintite sono:
*/5 * * * * curl --silent -k https://app.invialaqui.it/server/api/v1/manager/schedule >/dev/null 2>&1 */10 * * * * curl --silent -k https://app.invialaqui.it/server/api/v1/manager/mailbox >/dev/null 2>&1
Per disabilitarle temporaneamente inserire un # prima di ogni riga
Per verificarle
crontab -l systemctl status cron --no-pager