oss-sec mailing list archives
Re: ecryptfs-setup-private nitpick
From: Michael Samuel <mik () miknet net>
Date: Wed, 23 Jul 2014 22:37:08 +1000
Perhaps I'm wrong, but it appears that at-least on my system encrypted swap comes up very early in boot - maybe even before the urandom rcS.d script. Should urandom be an upstart script which any crypto daemons depend on (including cryptdisks-udev), rather than rcS.d? On 23 July 2014 17:23, Dustin Kirkland <kirkland () ubuntu com> wrote:
On Tue, Jul 22, 2014 at 3:35 PM, Tyler Hicks <tyhicks () canonical com> wrote:Hi Raphael! On 2014-07-22 14:00:03, Raphael Geissert wrote:Hi, Taking a look at ecryptfs-utils 103's ecryptfs-setup-private, there is a bit of code that writes the mount pass to a file in /dev/shm hoping to "keep it from leaking to the hard-drive": 8<-------->8 # This will be wrapped by pam_ecryptfs's chauthtok as soon as the user # chooses a password. Until that happens (hopefully soon), standard # file permissions (600) are all that's protecting it. Write it to # ramdisk, to keep it from leaking to the hard-drive. temp=`mktemp /dev/shm/.ecryptfs-XXXXXX` printf "%s" "$MOUNTPASS" > "$temp" mv -f -T "$temp" "/dev/shm/.ecryptfs-$USER" || error "Could not create passphrase file" 8<-------->8 Fastforward to 2014 and /dev/shm is, well, not a ramfs/ramdisk: /dev/shm -> /run/shm, which is a tmpfs at least on Debian. And as clearly stated by Documentation/filesystems/tmpfs.txt: "If you compare it to ramfs (which was the template to create tmpfs) you gain swapping and limit checking." So in the hope of avoiding a persistent storage the mount pass is written to a file in a tmpfs that can be swapped to... disk.I consider encrypted swap to be a prerequisite to enabling any disk/file encryption solution. Ubuntu sets up encrypted swap when the user selects to encrypt their home directory from the installer. Unfortunately, the ecryptfs-setup-private man page doesn't recommend encrypting your swap but ecryptfs-utils ships a script called ecryptfs-setup-swap that enables encrypted swap.+1, always encrypt your swap, if you have any respect or concern for the privacy of the data on your computer. We've tried to make it as easy as possible to encrypt your swap in Ubuntu and ecryptfs. The documentation could be updated to make this more clear.Ignoring the encrypted swap argument, ecryptfs-setup-private shouldn't be storing the plaintext mount passphrase in a manner that is swappable. I think POSIX shared memory segments should provide the persistence and pinnable memory (SHM_LOCKED) needed. Either Dustin (cc'ed) or I will make this improvement. Thanks for the feedback!Indeed, thanks!TylerThe file is left on /dev/shm until pam_ecryptfs actually wraps it with the login pass. Cheers, -- Raphael Geissert - Debian Developer www.debian.org - get.debian.net
Current thread:
- ecryptfs-setup-private nitpick Raphael Geissert (Jul 22)
- Re: ecryptfs-setup-private nitpick Tyler Hicks (Jul 22)
- Re: ecryptfs-setup-private nitpick Dustin Kirkland (Jul 23)
- Re: ecryptfs-setup-private nitpick Michael Samuel (Jul 23)
- Re: ecryptfs-setup-private nitpick Michael Samuel (Jul 23)
- Re: ecryptfs-setup-private nitpick Dustin Kirkland (Jul 23)
- Re: ecryptfs-setup-private nitpick Tyler Hicks (Jul 22)