Is Cloudflare proxying ok?

SYSTEM INFORMATION
OS type and version AlmaLinux 10.2
Virtualmin version 8.3.0

I use Cloudflare for DNS services. They say I should use proxies for part of the entries. I wonder if that could cause problems? From a security point of view, it seems to be reasonable. But I am not sure, if it causes problems with Virtualmin and/or accessing the domains.
I’m pretty sure there are people with experience in this field, and I appreciate your input! I have not found anything explicit here in the forum, and Google says I should do it, but I don’t really trust Google… :wink:

Who is “they”? You should do what fits your requirements.

There are no issues using Cloudflare proxying with websites managed by Virtualmin, but you do need to understand what it means. Virtualmin continues to manage Let’s Encrypt certs, but the Virtualmin server is not the termination point for secure connections for end users (Cloudflare is the TLS termination point, they control the cert for that, and thus see your traffic). You also can’t proxy to Virtualmin on port 10000 through Cloudflare. It is not one of their allowed ports. You need another name that isn’t proxied so you can reach Virtualmin on it, or you need to move Virtualmin/Webmin to a port that Cloudflare will proxy for.

Cloudflare pretty much only supports web services in its free version. You can’t proxy email, ssh, etc. so you have to have a name that isn’t proxied for those services, too.

There are benefits and costs. You’re somewhat protected from DDoS attacks for your sites being proxied through Cloudflare, as they block some recognized kinds of abuse traffic, and because they cache data that can be cached, it may reduce load on your servers during heavy load periods. It makes your dynamic pages potentially slower, as it adds a couple of hops. It can be harder to troubleshoot problems. You have a bit more complexity, as you need to understand the implications of all of this and configure your DNS and server appropriately for it. It’s also an additional point of failure, and it can be annoying for users as it sometimes pops up a “human” check, which adds significant latency and friction for users.

For the TLS cert, Cloudflare offers an origin cert that can be long-lasting, so renewals aren’t potentially broken by Cloudflare (I believe you can get Let’s Encrypt certs behind Cloudflare, but there have been problems with renewals through Cloudflare in the past, you should test, if using Let’s Encrypt, as you need the Cloudflare-to-server connection to also be encrypted). I don’t love that Cloudflare is now a man-in-the-middle attack on every connection to your server. You have to trust them with all passwords, etc. Any sensitive data going to your system also goes to Cloudflare systems first. If they’re exploited, you’re exploited. They probably have a better security team and stance than you do, but I don’t like handing over the keys to strangers.

It’s more work to use Cloudflare, the benefits are…mixed. But, many people like it. Many people feel safer using it. I use it for a handful of my sites where I specifically benefit from a feature that it has (Cloudflare pages for static web pages, for example, is a great deal…free hosting for static sites, with CDN, etc.).

@Joe Thank you for your detailed reply, which helps me a lot in deciding what to do! I agree, the best thing is always to have everything in your own hands. Unfortunately, there are a few limits as to what one can do, and I am very much on my own. I have set up a number of security measures on my server and hope this will keep the risk at a minimum.
As for your question

I meant Cloudflare. They always say on their pages I should enable proxying.

Ah, well, I’m always saying people should use Virtualmin. :wink: