HardNasDebianSamba

Versione del 25 ago 2019 alle 08:11 di HAL 9000 (discussione | contributi) (revisione stilistica)
Debian-swirl.png 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