seeding dev/random in 5.5

Kevin Day toasty at dragondata.com
Tue Aug 8 20:59:15 UTC 2006


On Aug 8, 2006, at 12:34 PM, Doug Barton wrote:
>> (if doing this from an unattended bootup, expecting the 300 second
>> timeout, I find that sshd does not start!)
>
> I cannot imagine a scenario where a competent system administrator  
> would do
> a clean install on a machine, reboot it, and then just walk away  
> without
> first testing to see that all expected services (especially sshd) were
> working according to plan. If you can envision such a situation,  
> please
> describe it in more detail.


This actually bit us too once. We were doing an unattended diskless  
(PXE boot) install to 50 servers at a time. These systems were for  
internal use only, we didn't care at all that the key generation for  
sshd was done in any secure way, but it meant that we either had to  
manually go through each server and kickstart the random number  
generator so sshd would work or hack the rc scripts to do what we  
really wanted.

We got the unattended install down to do exactly what we wanted, so  
there was no need really to do anything locally on each server after  
the install. Except this. :)


This came up a second time when we had a server on another continent  
lose its boot drive and we needed some "remote hands" to reinstall  
the OS for us. We shipped a replacement drive and an install CD  
configured to do an unattended/automated install. The idea was to  
give them a replacement hot-swap drive, and a bootable CD that did an  
automated install. After it was done, all they had to do was remove  
the CD and power cycle the server. (The people on the other end  
weren't very technical, so we had to make this extremely easy.) They  
followed the instructions, and from what we could tell by having them  
read the text on the screen it looked like it worked. We could ping  
the server, but not ssh,  even though we were certain we had enabled  
sshd in the install.cfg file. We burned another copy of the CD image  
and tried it on a system locally to troubleshoot. Except, that since  
we were watching it, we didn't let the 300 second timeout happen  
because we were impatient, so it worked for us. It was only after  
many many hours of debugging that we realized that letting the  
timeout happen was breaking sshd.

So, there are a few reasons for wanting to be able to do an install  
that just works right off the bat after sysinstall that don't  
conflict with good sysadmin practices.



Maybe sysinstall could be collecting entropy during the installation  
and use that for an initial seed if the timeout happens? It wouldn't  
be perfect, but it'd be better than killing ssh.



More information about the freebsd-security mailing list