• 0 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: September 25th, 2023

help-circle
  • che RAID mi consigli

    Da cosa vuoi proteggerti e quanto sei disposto a spendere? Prima di tutto ricorda che raid non e’ backup. Il raid ti protegge da un disco che si rompe, ma un sovraccarico di corrente può bruciarti tutto il computer, quindi una strategia di backup seria e’ sempre d’obbligo.

    Detto questo io fino ad ora ho usato un semplice raid1, usi 2 dischi che hanno lo stesso contenuto. Un po’ ero forzato perché la mia vecchia NAS aveva solo 2 slot ed un po’ onestamente non ho mai avuto motivo di andare oltre. Conosco personalmente gente che non si fida di nessun raid che abbia meno di due dischi di parità, la spiegazione che danno e’ che se hai un raid5 (4 dischi di cui 1 di parità) quando un disco si rompe devi rileggere il contenuto di tutti gli altri per sostituirlo con uno nuovo, questo mette gli altri sotto stress ed aumenta la probabilità di romperne un secondo. Nonostante trovi la spiegazione molto convincente (tra l’altro dettata da loro personale esperienza) non credo sia un problema concreto per l’uso che ne faccio io.

    La mia strategia di backup per le cose importanti (principalmente foto) e’: un backup offline, ho un disco USB che connetto di tanto in tanto alla nas e faccio una copia di tutte le ultime foto aggiunte. Un servizio di cloud cold storage (backblaze era il più economico quando avevo cercato qualche anno fa, e non ho mai avuto bisogno di cambiare) e periodicamente la mia NAS lancia rclone per fare un backup incrementale crittografato sul client. L’idea e’ che tutti i file in cloud sono illeggibili anche nel caso di accessi non consentiti.

    come posso collegarmi al cloud fuori casa? Io pensavo una vpn (senza aprire porte al modem) ma il problema è che uso gia una vpn sul mio smartphone android.

    Senza aprire porte credo che l’unico servizio sia https://tailscale.com. Non lo uso personalmente ma ne ho sentito parlare molto bene. Hanno un generoso piano gratuito che dovrebbe andare bene per la maggior parte della gente.

    Senza aprire porte sul router, devi per forza appoggiarti ad un server esterno. Io ho un piccolo server virtuale su hosthatch.com il piano non credo ci sia più ma di tanto in tanto fanno offerte economiche che non scadono fintanto che le rinnovi. E poi ho messo wireguard su quello, sulla nas e sul cellulare. Onestamente, se hai un IP pubblico a casa aprire una porta per la vpn e’ ragionevolmente sicuro ed hai il vantaggio che non costa nulla. Io ho fatto questa configurazione quando la mia internet di casa non aveva ip pubblico quindi era irraggiungibile. Ora che ho cambiato provider ho configurato anche la connessione diretta tra il mio cellulare e la nas di casa, ma ho problemi a tenere la vpn collegata quando passo dalla rete pubblica alla wifi di casa (credo sia un problema del modem che e’ veramente inconfigurabile, ma non ho avuto ancora tempo o voglia per cercare alternative).

    In ogni caso, non mi pare che android supporti piu’ di una vpn attiva. Quindi dovrai scegliere quale usare. Ma anche in questo caso, perché hai una vpn sempre attiva sul cellulare? da cosa ti vuoi proteggere? a mio parere c’e’ molta disinformazione sulle vpn. Hanno molto senso ma in casi ben precisi (raggirare blocchi nazionali, trasferire dati su una rete insicura, oscurare la navigazione) ma per l’utente medio che usa internet in una nazione non ostile sostanzialmente per navigare solo in siti https, una vpn non aggiunge molta sicurezza se non nascondere al tuo provider i nomi dei siti che visiti (ed anche questo ormai non e’ piu’ del tutto vero con le ultime estensioni https).



  • Il punto è proprio questo, non c’è bisogno di un supporto nativo, fintanto che puoi collegare più di un disco al computer puoi fare un raid software con uno degli strumenti detti prima. non ho mai usato trueNAS, ma dato che è un sistema orientato a fare NAS mi aspetto che si integri con almeno uno (se non tutti) gli strumenti citati. Ti consiglio di fare un’installazione di test e vedere che opzioni ci sono. Puoi usare una macchina virtuale per fare degli esperimenti veloci. Durante l’installazione di Debian ricordo che c’è uno step per configurare il raid software ed è abbastanza esplicito. Altrimenti si può sempre installare il sistema su lvm o btrfs ed attivare la replica in un secondo momento.

    Non ho mai usato madman, quindi non so dare consigli a riguardo. Ho usato un po’ lvm, è un po’ ostile a mio parere ma molto flessibile e ci sono molti tutorial e guide sparsi per internet. Non ho mai usato zfs, ma ho fatto qualche esperimento con btrfs (che ha preso molta ispirazione da zfs) e credo sia l’opzione più semplice. Se zfs è supportato nativo dall’installer verosimilmente avrà l’opzione per usare due dischi in raid. Altrimenti installi il tutto su un singolo disco zfs, aggiungi il secondo disco e poi esegui qualcosa tipo zpool add disco1 raid0 /dev/disk2 per aggiungere il nuovo disco. Potrebbe essere necessario anche qualche comando per ribilanciare i dischi. Ti consiglio comunque di cercare qualche manuale e dare una lettura approfondita così anche da sapere cosa fare nel caso qualcosa vada storto


  • Il raid hardware è da evitare: se si rompe il controller bisogna comprarne uno uguale per recuperare i dati. Il raid software su linux si può fare a vari livelli: madman è al livello più basso lavorando direttamente sulle partizioni o sui dischi. Lvm lavora ad un livello d’astrazione un po’ più alto permettendo di gestire volumi logici sparsi tra più dischi. Poi ci sono filesystem come btrfs o zfs che offrono opzioni simili ad alcuni livelli raid.


  • I got a terramaster nas and I’m super happy https://www.terra-master.com/global/f4-5067.html

    The main reason to choose it is that it is just a PC in the form factor of a NAS. You can just boot it from a pendrive and install your favourite operating system. I had a Qnap before, and while it was great to start, self hosting wasn’t the best experience on their OS.

    this is a small form factor, it should be low power consumption (I’ve never measured to confirm it) and supports both nvme and sata drives. Currently I’ve an nvme for the OS and two sata for storage. CPU is powerful enough to run home assistant, vpn, pihole, commafeed, and a bunch of other Docker images. I just plan to increase the ram soonish because the stock feels a little constrained.


  • I did some experiments in the past. The nicer option I could find was enabling webdav API on the hosting side (it was an option on cPanel if I recall correctly, but there are likely other ways to do it). These allow using the webserver as a remote read/write filesystem. After you can use rclone to transfer files, the nice part is that rclone supports client side encryption so you don’t have to worry too much about other people accessing files.


  • After looking around a little I couldn’t find any zigbee thermostat which met all my needs (mostly, I couldn’t find any which switches high voltage and has a wireless sensor that can stay in a different room).

    so I went for the fully custom setup: a normal zigbee switch connected to home assistant and controlled by their software implementation of a thermostat. The temperature sensor is a template sensor which takes the temperature of the living room during daytime and the bedroom during nighttime. I have automation to change the target temperature during day, night and when the house is empty.

    pro: fully customizable by software, dead cheap con: the heating needs your server to work correctly

    Some failure modes I found and their workaround:

    • The temperature sensor goes offline. I have automation to turn off the heating and send a notification
    • the server goes offline: I left the old dumb thermostat wired in parallel, it can guarantee the home will not go too cold.

    the only failure mode I’m still concerned is if the server goes offline while heating is on. In this case there is nothing to turn it off again. I was looking for zigbee switches with a timer to switch off automatically but I couldn’t find any. So if I’m out of home for more than one day I disable it and revert to the dumb thermostat.

    my suggestion here is: whatever solution you choose, be sure to have a plan b in case whatever smartness you have stops working (cloud service or local home assistant offline)


  • Could it be that the domain name has both IPv4 and IPv6 and depending on the network you try to reach one or another? Wireguard can work on both protocols, but from my experience it doesn’t try both to see which one works (like browsers do). So if at the first try the dns resolves the “wrong” IP version, wireguard cannot connect and doesn’t fallback trying the alternative.




  • A lot of technical aspects here, but IMHO the biggest drawback is liability. Do you offer free storage connected to internet to a group of “random tech nerds”. Do you trust all of them to use it properly? Are you really sure that none of them will store and distribute illegal stuff with it? Do you know them in person so you can forward the police to them in case they came knocking at your door?


  • Yes, you can do it on your server with a simple iptable rule.

    I’m a little rusted, but something like this should work.

    iptables -t nat -A PREROUTING -d [your IP] -p tcp --dport 11500 -j DNAT --to-destination [your IP:443]

    You can find more information searching for “iptables dnat”. What you are saying here is: in the prerouting table (ie: before we decide what to do with this packet) tcp connections to my IP at the port 11500 must be forwarded to my IP at port 443.


  • For automatically unlock encrypted drives I followed the approach described in https://michael.stapelberg.ch/posts/2023-10-25-my-all-flash-zfs-network-storage-build/#auto-crypto-unlock

    The password is split half in the server itself and half in a file on the web. During boot the server retrieves the second half via http, concatenates the two halves and use the result to unlock the drive. In this way I can always remove the online key and block the automatic decryption.

    Another approach that I’ve considered was to store the decryption keys on a USB drive connected with a long extension cable. The idea is that if someone will steal your server likely won’t bother to get the cables too.

    TPM is a different beast I didn’t study yet, but my understand is that it protects you in case someone steals your drives or tries to read them from another computer. But as long as they are on your server it will always decrypt them automatically. Therefore you delegate the safety of your data to all the software that starts on boot: your photos may still be fully encrypted at rest so a thief cannot get them out from the disk directly, but if you have an open smb share they can just boot your stolen server and get them out from there





  • I remember this blog post (I cannot find right now) where the person split the decryption password in two: half stored on the server itself and half on a different http server. And there was an init script which downloaded the second half to decrypt the drive. There is a small window of time between when you realize that the server is stolen and when you take off the other half of the password where an attacker could decrypt your data. But if you want to protect from random thieves this should be safe enough as long as the two servers are in different locations and not likely to be stolen toghether.


  • TPM solves a sigthly different threat model: if you dispose the hd or if someone takes it out from your computer it is fully encrypted and safe. But if someone steals your whole server it can start and decrypt the drive. So you have to trust you have good passwords and protection for each service you run. depending on what you want to protect for this is either great solution or sub optimal