[FrontPage]

Organizzazione e gestione del nuovo server

Questa pagina e' stata creata per la strutturazione della nuova macchina, in essa troverete una descrizione generale che ne delinea il funzionamento e il dettaglio di come funzionano i singoli aspetti.

Nella parte finale sono raccolte tutte le idee su applicativi, servizi e quant'altro che ci piacerebbe avere in funzione sulla nuova macchina.

HOST Mafalda

E' la macchina principale su cui gira una distro debian buster, ha due hard disk di 3T connessi in raid0 (md0 /boot - md1 all) nella parte md1 e stato creato un volume criptato a sua volta gestito con lvm ovvero un unico Volume groups (VGs - vg0) e al momento un unico Logical volume (LVs root) contenente la root / con dimensione di 300G.

La macchina principale e utilizzata per operare con macchine virtuali tramite libvirt con la classica gestione qemu/kvm.

Qui alcuni appunti sull'installazione

Il nome Mafalda è un omaggio a Quino, il disegnatore argentino morto in quei giorni.

Note

Salvo eccezioni la macchina HOST servira come ponte verso le VM

Cosa far girare sulla macchina host?

...

Tutte le modifiche "importanti" apportate alla macchina devo essere registrate e documentate, attualmente abbiamo una directory ~/documetation/ suddivisa in sottodirectory delle categorie sembra un buon metodo.

Esiste un modo migliore per documentare e tener traccia dei lavori/modificheu sul server?.

...

Problemi

Assenza gestione utenti.

Non esiste una gestione degli utenti, credo sia un problema per la personalizzazione del proprio accesso shell,script,variabili... e per la sicurezza visto che ti costringe ad avviare qualsiasi eseguibile con i massimi privilegi.

...

Organizzazione firewall.

Andrebbe ripensato il firewall.

Partendo da un buon layout andrebbe riscritto al momento vi sono registrate configurazioni base ma lo trovo scarno.

IPV6 e' gestito bloccando tutto. Rivedere. (mi sa che è stata risolta. Br.)

Introdurrei blocco di IP critici . (Blacklist tramite ipset)

Assenza di regole tra VM (vedi ebtables non settato) in generale bloccherei tutte le connessioni tra VM lasciando aperto solo quello che serve.

...

come gestire il firewall, a mano ? con ansible ? con uno script creato ad hoc ? con ufw ?

Assenza swap.

Manca una partizione o file per lo swap.

In generale avendo molta ram a disposizione il sistema non usa lo spazio di swap ma in merito avevo letto una documentazione tecnica (ho perso il link) che indicava come problematico assenza di swap.

In generale sembra che i sistemi unix like siano pensati per avere uno swap nella gestione della memoria virtuale e anche se non viene usata causa il molto spazio disponibile in ram potrebbero nascere dei problemi.

Di seguito alcuni link non esaustivi sull'argomento.

Sito 1 Sito 2 Sito 3 Sito 4 ...

Spazio VM.

Attualmente le macchine virtuali risiedono su file formato qcow2 all'interno di una directory della root.

Sarebbero da valutare altre soluzione che sfruttino meglio il gestore dei volumi LVM, dato che libvirt permette la gestione dello spazio tramite LVM.

...

VM Zaphoda (vecchia macchina)

E' la copia virtuale della precedente macchina reale, sostanzialmente non e' da modificare ed e' stata creata per preservare la continuita dei servizi.

Sara' da prendere come punto di partenza per la costruzione di una nuova macchina che gestira tutti i servizi in modo piu organico e sicuro.

VM Amelia (macchina per test)

E' la macchina virtuale creata per effettuare dei test di costruzione, ampliamento e sviluppo di quanto presente su Zaphoda volta a dargli una struttura migliore.

LAVORI IN CORSO

1. Stiamo testanto il funzionamento di traefik facendolo girare dentro un docker

Traefik Traefik_github

2. Stiamo programmando un client mumble che passi lo stream audio di un canale direttamente ad icecast senza troppo passaggi e layout come attualmente usiamo per fare radio.

VM New Zaphoda (nuova macchina)

Attualmente non presente.

Sara' la nuova macchina virtuale che ospitera tutti i servizi presenti attualmente Zaphoda ma riorganizzati secondo criteri di sicurezza e innovazione.

Tutti divisi in conteiner e costruiti tramite ansible.

e' stato creato questo repository per metterci le configurazioni ansible:

* https://git.abbiamoundominio.org/unit/mafalda_playbooks

Lavori da fare sui servizi attuali per il porting alla nuova macchina:

* sostituire nginx con traefik che dovra' fare da reverse proxy per tutti i servizi (dockerizzati e non)

* sito pelican

andra' creato un container nginx, partendo da immagine nginx ufficiale (?) oppure anche un webserver piu' piccino.

(il vantaggio di usare nginx e' che magari poi lo si puo' riutilizzare anche come reverse proxy per eventuali servizi non dockerizzati...?)

il sito sta tutto in git, c'e' solo da capire come fare il deploy. monterei /var/www dall'host dentro il container, stessa cosa per le configurazioni, se non tutto /etc/nginx quantomeno nginx.conf e i sites-enabled/available li monterei read-only dentro il container, in modo che sia piu' semplice modificare le configurazioni dal di fuori del container. (esiste gia' un ruolo in ansible pelican-website in zaphoda-playbook, e' da riadattare).

* uwsgi - per il wiki moin

da dockerizzare ed esporre sulla porta 80, non serve ssl

aggiungere il nostro tema

i contenuti del wiki andranno messi in un volume

* murmur - server mumble

da dockerizzare

non ho idea se gli serva un volume per gestire dei dati

deve parlare con icecast per mandargli uno stream (?)

deve parlare con mumble-web

* mumble-web

gia' dockerizzato, bisogna solo raccogliere il dockerfile e il docker-compose.yml

deve parlare con murmur

* gitea

da dockerizzare

deve parlare con ldap

deve parlare con postfix

(o il container deve contenere un microservizio per mandare messaggi)

* postgresql

da dockerizzare, al momento usato solo da gitea

nel caso in futuro altri servizi useranno postgresql capire se vogliamo una sola istanza oppure istanze dedicate

deve parlare con gitea

* ldap - contiene utenze dei vari servizi tipo wiki e git

in futuro potrebbe ospitare anche utenze di altri servizi

non credo vada dockerizzato, da capire dove metterlo

forse il posto migliore e' l'host, ma allora serve un po' di hardening ?

oppure dedicargli una piccola macchina virtuale ?

al momento deve essere interrogabile da gitea e da moinmoin

* quassel - bouncer per IRC

da dockerizzare ?

non so cosa gli serve esattamente

* postfix

al momento ci serve solo per mandare messaggi mi pare, potrebbe stare sull'host, chiuso all'esterno.

* icecast

da dockerizzare ?

non so cosa gli serve esattamente

* openpod

gia' dockerizzato

dobbiamo solo salvare in posto idoneo quello script che fa il deploy quando viene aggiornata l'immagine

e magari creare un ruolo ansible per eseguirlo

VM Experiment (nuova macchina per esperimenti)

Attualmente non presente. Si chamerà: 'Frank'.

Sara' la macchina virtuale dove testare software e fare esperimenti, ogni utente avra il suo accesso personalizzato.

Sara la macchina dove tenere processi aperti tipo connessioni a IRC o altro.

Sarebbe da testare altra distro linux, tipo Arch.

Tendenzialmente si puo' "rompere" dato che non ospita processi critici.

IDEE / PROPOSTE

Archivio storico documentazione

Descrizione

Creare sul server un archivio (dedicandoli un quantita X di spazio) di materiale video, pdf, audio e quant'altro che rispecchi il nostro sapere scambiato e condiviso nel tempo perche' ci pareva interessante, formativo o importante.

Interessante per tenere traccia di un percorso politico-tecnico che si e' formato nel tempo, da presentare ai nuovi arrivati e non solo, per chiarire e informare sulle nostre posizioni e scelte.

Archivio non sara un file sharing pubblico ma un sistema interno al gruppo.

Ad esempio sono stati condivisi dei documentari, libri ed altro averli a disposizione e associati ad una scheda testuale che contenga una breve descrizione, i motivi del perche' ci e' sembrato reilevante e vogliamo conservarlo.

Come criterio userei di metter in archivio le cose che abbiamo visto assieme, dunque il passaggio per l'archivio passa dalla pubblicazione.

Struttura

Da pensare.

Potrebbe essere un semplice ftp su docker o un infrastruttra web presistente sitele internet archive piu' adeguata allo scopo.

Oppure potrebbe essere il collaudato Seafile

TITOLO ALTRA PROPOSTA

Descrizione

...

Struttura

...


Ultimo cambiamento: 21-10-2020