@racb

I'm not sure that I would consider it normal or expected, though, for
system services to suddenly stop working due to regular updates, and for
a server to suddenly become unreachable and unresponsive just because it
was updated.

On the other hand, it's certainly not desirable for a system to silently
operate with poor entropy and poor encryption quality.

In my case, this is easily resolved due to the hardware RNG on the TI
AM335X chip.

However, AFAIK a Raspberry PI does not have a hardware RNG, nor do many
embedded processors / systems - meaning they would have low entropy at
boot, and rng-tools most likely won't help.

Without looking at any code, here are a few observations.

Does nginx really need to make this blocking call to openssl when the
service starts? or only when the first https request is made to the
service? That is, if no https request comes in for 2 min, or 10 min,
maybe there would be sufficient entropy by then due to system activity.

Does openssl really need to block on initialization until sufficient
entropy exists? Or could it defer that until some subsequent call that
does actually need adequate entropy? In other words, would moving this
blocking behavior to a different function satisfy the security need that
led to its implementation, without potentially blocking systemd services
at boot time?

Finally, I have a couple of the same devices that do not exhibit this
blocking behavior. I'm not sure exactly why, but the difference appears
somehow related to the way updates are applied. I've noticed a file
'/.rnd' (from memory) which is used and/or generated by openssl. Looks
like this file is used as an entropy seed. Once deleted (and the
hardware RNG is not used), the nginx systemd service will start blocking
and timing out. Attempts to create this file manually using openssl do
not allow the nginx service to start successfully at boot.

Maybe the simple fix is to find the right way to create and manage the
/.rnd file on devices with low entropy?

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1835464

Title:
  nginx service fails after libssl update due to low entropy at boot

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1835464/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to