La giornata del sistemista

Oggi ho passato la giornata a giocare al piccolo sistemista. Tenendo iTunes in background con una radio online di sola musica anni ’80 e lavorando via ssh sul server casalingo ho giocato un po’ con tethereal e subversion, ottenendo delle cose abbastanza utili.

Stamattina tethereal. Fino ad oggi usavo tcpdump e uno scriptino bash per recuperare le informazioni su certi pacchetti che mi interessano, però la soluzione non era ottimale perché catturava poche informazioni su troppi pacchetti, dato che tcpdump non ha filtri per protocolli ad alto livello.
Con tethereal posso catturare solo i pacchetti che mi interessano in un certo periodo di tempo e metterne il dump in un file (in formato pcap). Uno script chiamato da cron, ad intervalli regolari, uccide il processo di cattura, esegue di nuovo tethereal sul file di cattura con parametri differenti (per fargli risolvere gli indirizzi IP) passando l’output ad un programmino in Python per estrarre solo le informazioni interessanti. Alla fine mi manda il tutto via mail e rimette in esecuzione il processo di cattura su un file vuoto. Quei simpaticoni di Echelon a confronto sono dei pivellini.

Il pomeriggio, invece, l’ho passato a litigarmi con subversion, apache2, mod_ssl e mod_auth_pam, però alla fine ne ho avuto ragione…
La configurazione che mi ero posto come obiettivo era:

  1. area pubblica in sola lettura
  2. autenticazione per poter modificare il repository

Avevo già l’autenticazione grazie a svn+ssh, ma dove sto facendo la tesi escono su Internet solo con un proxy (anche se ogni tanto si esce tranquilli con un NAT, dipende dalle maree e da certi riti sull’altare che hanno in terrazzo, credo) e volevo anche poter fornire accesso al ‘grande pubblico’, in particolare per il driver sis900.

L’unico tipo di autenticazione su http che funziona con mod_auth_pam (non volevo avere ancora un’altra password diversa) è ‘Basic’, con la password che viaggia in chiaro per mezzo mondo. La soluzione è stata usare mod_ssl. Non ci sono alternative se non criptare l’intera connessione, anche se l’unica cosa che vuoi tenere segreta è la password. Bah.

Mi sono creato la mia CA fasulla e l’ho usata per firmare il mio certificato fasullo anche lui e ora ho la mia brava connessione su https, alla faccia di tutti quelli che dicono che non si può avere SSL insieme ai virtual host di Apache (certo, non si può se si fanno le cose sul serio, con dei certificati veri, ma se uno fa finta di non vedere un paio di warning all’avvio di apache, problemi non ce ne sono…). Ora su https magari ci metto pure su un webmail, così posso leggermi la posta anche quando il sistemista in ditta si dimentica di fare i sacrifici agli dei.

Alla fine pure mod_auth_pam ha iniziato a funzionare senza particolari problemi (occhio che su Debian bisogna attivarlo con AuthPAM_Enabled on, anche se nella documentazione sul sito dice che quello è il valore di default).

Ora devo solo attivare un po’ di controllo di accesso sui singoli repository, attraverso un altro modulo dav_svn_.

Appena c’è qualche cosa di significativo visibile all’esterno posto un link.