Live data from Hacker News

Vaultwarden: Unofficial Bitwarden compatible server written in Rust

github.com

111–120 of 124 posts

Re: Vaultwarden: Unofficial Bitwarden compatible server written in Rust

#111

I evaluated this for a small business but came to the conclusion that self hosting this security critical software would cost more in work hours for initial setup and maintenance than just paying the cloud fees for a few years. Genuine question, in what scenario is the self hosting setup and maintenance worth it?

The container itself needed no maintenance at all in my experience. Just update it. The DNS and reverse proxy if you use one are separate though, and depends on your setup.

Here is one scenario where self hosted could be more secure. If Bitwarden is required by a party, they can push bad code to a particular IP address and grab the master key. Not with self hosted, like that.

Perhaps there is also no limit to the total vault attachment storage (there is per password limit at 500 MB), and other limits that might be in Bitwarden.

Re: Vaultwarden: Unofficial Bitwarden compatible server written in Rust

#112
post #103

Earlier quoted context omitted.

If you care enough to run a personal Vaultwarden, you should care enough to back it up too. If you don't want to back it up, you probably shouldn't run it locally and just use the service. Exactly right. I have a script that briefly stops my Vaultwarden container and creates a .tgz of the contents of the data volume before restarting the container. The .tgz file gets copied off-site so I always have an accessible bac…

This is kinda unnecessary, each of DB has a tool which can safely backup it online.

I do the same thing across my (meagre) docker infrastructure, and the reason is simple: If the code isn't running, I know I can just do a disk backup of the target system. Docker is also helpful because I can know beyond a shadow of a doubt that the things that can change are on the mounted volumes and it is not possible for something important that I should be backing up to be hiding out in some directory I didn't realize it was using.

So even in my modest environment, you're asking me to write special support for backing up a MySQL DB, the SQLite DB used by vaultwarden, and I don't even know what that mess in the Plex directory is. Or I can just write the same "shut it down, back it up, bring it back up" for every service, regardless of what database it currently has, what it may change to in the future, or what other databases some other service might decide it wants. It's an easy choice.

Re: Vaultwarden: Unofficial Bitwarden compatible server written in Rust

#113
post #52

Vaultwarden is impressive. Years of work without issue. It supports Yubikey now. Eventually, I ended up using Pass though, since I prefer terminal. Pass doesn’t have any database to break: it’s just gpg and git. With Yubikey, every password needs a touch.

Bitwarden has a CLI interface btw, and be careful of phishing since that is one of the main reasons to use a password manager.

Yes, phishing is a concern, but is addressed by the same Yubikey. Most websites that matter support it.

There is a CLI, but like KeepassXC I’m not sure it’s per password. All passwords seem to be encrypted with the same master key. Note that since the encryption is symmetric, for encryption you still need to expose the master key.

Re: Vaultwarden: Unofficial Bitwarden compatible server written in Rust

#114

Is there a good argument for actually using Rust for such things? I think Rust is a great language, but I think it shines in contexts where you'd previously have used C or C++. Web apps aren't really one of those contexts, unless they're microservices with extreme performance requirements, and this isn't the case here. Why would one choose to write something like this in Rust over easier-to-write languages like Go?

> Rust over easier-to-write languages like Go?

I think people already exposed to Hindley-Milner will find Rust far more tolerable and productive than Go.

Re: Vaultwarden: Unofficial Bitwarden compatible server written in Rust

#115
post #40

When you all self-host this, you also do the following, right? - Create threat models that identify weaknesses in the design of your self-hosted setup. - Harden the OS with things like MAC, and harden the container with dropped privs, read-only root filesystem, and outbound network filtering. - Deploy an intrusion detection system to know if you've been compromised. - Perform all OS and app patching automatically, or…

You’re really, really sure your hosted provider does all of that correctly, right?

Actually yes, most of those things are required for SOC 2 which is verified by an independent auditor and visible in their report.

Re: Vaultwarden: Unofficial Bitwarden compatible server written in Rust

#116
post #115

Earlier quoted context omitted.

You’re really, really sure your hosted provider does all of that correctly, right?

Actually yes, most of those things are required for SOC 2 which is verified by an independent auditor and visible in their report.

1) I’m going to go out on a limb and guess Lastpass, Okta, et al., WERE and ARE SOC2 type II certified. Didn’t stop them from getting breached.

2) SOC2 is defined by the American Institute of Certified Public Accountants. That it is held up as some sort of exemplary cyber security standard is absolutely ridiculous.

Re: Vaultwarden: Unofficial Bitwarden compatible server written in Rust

#117

Earlier quoted context omitted.

You’re really, really sure your hosted provider does all of that correctly, right?

The vault is client side encrypted so it doesn't actually matter. My host provider could be the robot devil living in North Korea and it wouldn't matter, that's literally the defined purpose of encryption, secure communication across adversarial channels . I don't really understand why people bother with this security theater, all the self hosting is completely redundant.

I don't self host because of "security theater". I do it because I want to control my data and not be at the behest of a third-party to resist the siren song of enshittification.

Re: Vaultwarden: Unofficial Bitwarden compatible server written in Rust

#118
post #112
post #103

Earlier quoted context omitted.

This is kinda unnecessary, each of DB has a tool which can safely backup it online.

I do the same thing across my (meagre) docker infrastructure, and the reason is simple: If the code isn't running, I know I can just do a disk backup of the target system. Docker is also helpful because I can know beyond a shadow of a doubt that the things that can change are on the mounted volumes and it is not possible for something important that I should be backing up to be hiding out in some directory I didn't r…

You hit the nail on the head and that is exactly why I do it that way. I don't have to worry about all the different ways different databases need to be backed up if they are running and the outage window is measured in seconds in the middle of the night.

Re: Vaultwarden: Unofficial Bitwarden compatible server written in Rust

#119

I have successfully used this for some time, but migrated away to just pass because synchronizing a pass "db" with syncthing tends to work much better.

Pass, then syncing to a bare git repo inside your own network is the simplest way to go.

Good point, using git with this would probably make more sense.
Post reply on HN