HardNasDebianSamba
Versioni Compatibili Debian 10 "buster" |
Lo scopo di questa guida è creare, con un PC a 64-bit (amd64) in cui è installato GNU/Linux Debian 10, un NAS di rete con condivisione Samba da utilizzare nella propria LAN con alcuni accorgimenti alla sicurezza informatica tramite kernel e patch realtime per il sistema Linux, amministrabile da remoto tramite ssh.
La sicurezza informatica è un processo e non un prodotto e solo aumentando la propria security IT con l'insieme di tool e stratagemmi si ottiene un buon livello di IT.
Non indicherò come installare Debian, perché già ci sono guide in questo sito che tramite screenshot guidato gli utenti alle prime armi per realizzare l'obbiettivo.
Per condividere con il mondo macosx, tramite netatalk
, rimando a quest'altra guida.
Nas Debian Samba kernel/P-Realtime PaXctl
Sperando che abbiate messo una buona password di root e utente alfanumerica maggiore di 20 caratteri, iniziamo l'installazione dei tool e la configurazione.
Per prima e buona cosa occorre aggiornare il DB dei pacchetti e aggiornare il sistema da amministratore root prendo il terminale.
su - ---> comando per diventare root
apt-get update ---> comando per aggiornare la lista pacchetti disponibili da scaricare dai repository apt-get dist-upgrade ---> aggiornamento dei programmi già installati nel PC con Debian
ssh, fail2ban, clamav, rkhunter
Ora che il sistema è aggiornato andiamo a installare il pacchetto openssh-server
, per poter amministrare da remoto il nostro sistema in futuro, e le protezioni per evitare attacchi al servizio ssh; non mi dilungo sul file di configurazioni sshd nello specifico, perché ci sono guide specifiche solo per ssh.
apt-get install openssh-server fail2ban clamav
Dopo aver installato clamav utilizzabile da riga di comando per controllare virus nei file di condivisione, per sicurezza cambiamo la porta di default di ssh editando il file apposito.
cd /etc/ssh/
editiamo con pico, strumento da riga di comando per modificare un file di testo, il config di sshd (/etc/ssh/sshd_config
) cambiando la porta con un numero a noi familiare togliendo il carattere #
(che introduce un commento). In questo esempio scelgo 82, l'importante è che non lasciate la porta di default di ssh.
pico sshd_config
#Port 22 ---> da sostituirsi con: ---> Port 82
Modificato il file installiamo rkhunter
uno strumento utile per mantenere il nostro NAS sotto controllo da possibili rootkit. Rkhunter è uno strumento utilizzabile da riga di comando per scansionare il sistema cosi da tener sotto controllo che non ci siano intromissioni non autorizzate.
apt-get install rkhunter ---> comando per installare lo scan per rootkit-trojan, ecc.
Riavviate il PC.
Riaprite il terminale editiamo il file resolv.conf
mettendo nameserver 9.9.9.9 [1] cambiare i dns rispetto a quelli forniti da provider si guadagna in velocità di aggiornamenti e sicurezza dato che questi hanno maggior controlli durante l'interrogazione.
cd /etc/
su - pico resolv.conf
paxctl
Sempre dal terminale, come amministratori, installiamo flags paxctl [2] - ASLR e il kernel PT
apt-get install paxctl ---> da root
Per semplicità potete usare anche synaptic
synaptic-pkexec
nel cerca scrivete kernel e trovate la riga linux-image-4.19.0-5-rt-amd64
e linux-headers-4.19.0-rt-amd64
e selezionateli per l'installazione, quindi applica.
Riavviate il PC alla fine dell'installazione dei pacchetti e troverete da terminale lanciando uname -a
il nuovo kernel con la dicitura RT e la patch paxctl installata, inoltre lanciando un ssh da un vostro PC della rete verso l'ip del nas alla porta da voi modificata, troverete il servizio ssh in ascolto che inserito user e password vi permettere per i prossimi accessi crittografati di manutenzione di aggiornare la distro, scansionare con clamav e rkhunter per star sicuri che il nas è in buono stato di sicurezza.
Per i comandi relativi alla riga di comando man rkhunter
e man clamav
vi saranno di aiuto. Il kernel RT rende la macchina, dedicata solo a funzione NAS, più rattiva per il servizio di samba.
uname -a ---> comando per stampare la versione di kernel e altri info riguardanti l'architettura
Ip address è il comando per visualizzare il vostro indirizzo IP del nas a cui far riferimento per la lan.
ip address ---> comando per indirizzo ip, ifconfig è stato tolto
Lato client
Dai vostri PC con windows potete utilizzare putty per accedervi, se avete macosx o linux da riga di comando basta lanciare il seguente comando dove -p indica la porta da voi cambiata, utente --> l'utente che avete nel vostro nas e l'indirizzo ip della macchina.
ssh -p 82 utente@192.168.X.X
Samba
Installiamo il server Samba e creiamo l'utente e la cartella da condividere nel file di configurazione apposito in seconda battuta installiamo htop
, utile strumento a colori da riga di comando per monitorare la nostra macchina durante l'utilizzo come NAS.
apt-get install samba cifs-utils htop
Ultimo passaggio prima di essere operativi nella condivisione dei file andiamo a editare sempre come root il file di samba.
cd /etc/samba/
pico smb.conf
In Debian è già presente nella home la cartella Pubblici per esempio condivideremo questa inserendo nel file smb il percorso della cartella.
Il file di configurazione di samba è vasto di configurazione, sta all'utente smanettone documentarsi su man per creare una configurazione ad hoc.
Può esservi utile questa guida.
editate come root quindi con il comando "su" il file con pico o altro editor semplice a voi simpatico e cambiate
# Change this to the workgroup/NT-domain name your Samba server will part of workgroup = WORKGROUP ---> nel vostro workgroup
e aggiungete queste righe incui si indica il percorso della cartella da personalizzare con le vostre impostazioni. Se avete cercato la voce samba probabilmente avrete PC windows, il cryptolocker nelle ultime varianti colpisce le condivisioni samba ondevitare problemi tenete sempre la password nelle condivisioni e ai PC windows create utenti ospiti o in sola lettura ondevitare il rovino di tutti i file condivisi in caso di attacco.
[global] netbios name = HardNasLinuxRT netbios aliases = HardNasLinuxRT security = user read only = no [pubblici] comment = NasHardLinuxRT path = /home/pubblici guest ok = no browseable = yes create mask = 0777 directory mask = 0777 valid users = test
Salvati i cambiamenti è rimasto solo di inserire una password per l'utente di samba con l'apposito comando, esempio utente test.
smbpasswd -a test ---> comando per diventare root
riavviate il PC al riavvio trovere il PC condiviso che richiede l'user e password di samba per l'accesso al disco - smb://192.168.X.X .
systemctl reboot ---> comando per riavviare debian10
Conclusioni
In questo modo avete un PC con linux Debian con accesso privato ssh, protezione da bruteforce, e protezione a livello kernel e maggiori performance con la patch RT.
In periodo di manutenzione aggiornamento connettetevi tramite user ssh e controllate il vostro NAS con clamav
e rkunter
, e tenere aggiornato tramite apt-get il vostro sistema con i comandi soliti da root apt-get update
---> apt-get upgrade
--> apt-get dist-upgrade
.
Guida scritta da: fabio carletti aka Ryuw 15:44, 21 ago 2019 (CEST) | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |