L'uso /conf/crontab
, come ha sottolineato Dlawson, mi sembra un'ottima idea. Questo mi permette di eseguire uno script una volta al minuto che assicura che tutto tranne http e ssh sia chiuso:
/etc/init.d/cdserver stop
/etc/init.d/fdserver stop
/etc/init.d/cim_sfcb stop
/etc/init.d/webgo stop
Ciò mi lascia ancora con un server Web con controllo degli accessi basato su password (non riesco a vedere come convalidare i certificati client) e chissà quali vulnerabilità remote. Disattivarlo quando non lo sto usando (che è il più delle volte) sembra una soluzione ragionevole; l'aggiunta di una voce crontab per spegnerlo ogni cinque o dieci minuti catturerebbe quei casi in cui qualcuno si dimentica di spegnerlo quando ha finito.
Il demone ssh è una versione di dropbear che sembra essere stata modificata in modo abbastanza pesante. Legge nomi utente e password in chiaro /conf/PMConfig.dat
(utilizzati anche dal server Web), registra qualsiasi nome e password validi come utente root e ignora il ~/.ssh/authorized_keys
file. Quest'ultimo problema è fastidioso; ti obbliga a consentire gli accessi con password e apre la possibilità di backdoor a seconda di dove ottiene tutti i nomi e le password.
Quindi questo è il dilemma che affronti: quanto ti fidi davvero di questo demone ssh modificato installato su un sistema che è stato ovviamente progettato dagli sviluppatori ingenui? Non molto, dato il numero di frammenti di cruft che ho visto nei loro script di shell. Esistono convenzioni di denominazione insolite (/etc/rc?.d/sshd è un collegamento simbolico a /etc/init.d/ssh), un'enorme quantità di codice che sembra essere inutilizzato e funzionalità solo nello script di avvio di ssh, come il /conf/portcfg_ssh
file e persino il restart
comando sono completamente rotti. (Non provare a usarli; sshd non si riavvierà e sarai fregato a meno che tu non abbia un login esistente. Abbiamo riavviato il BMC e abbiamo finito per doverlo rifare.)
L'opzione migliore che mi viene in mente, se si vuole usare la cosa, è avviare ssh su una porta alternativa usando un lavoro cron, quindi almeno è meno probabile che appaia in un portcan.
Il componente finale sono le porte di gestione della rete IPMI; Non riesco a vedere come disattivarli.