-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why does Nextcloud requests these domains? #12370
Comments
"Some features"? Like, update checking? But that would fail if there's no way to connect to nextcloud.com anyway. The check only checks if those 4 hosts are reachable, which is a bit nonsensical and causes a false negative with the firewall policy of "applications can only talk to the hosts they really have to talk it" |
True point, but we also don't know all domains for federated sharing for example. The check is there to show a message to the sysadmin. There are multiple domains in there to verify it's not an outage of one of the sites listed there. The network connection is needed to a) check for updates (updates.nextcloud.com), b) download updates via updater (download.nextcloud.com), c) fetch app updates (apps.nextcloud.com) and d) be able to use federated sharing (any domain that hosts a nextcloud). |
Okay, that's an understandable point. Thank you for the explanation. Would it perhaps be worth considering making these hosts configurable in the config.php file? This would allow testing the hosts you know you'll communicate with and would also help in cases where the default list of hosts you check would be blocked (I saw some other issues on the issue tracker talking about nextcloud.com not being reachable through Russia, for example). |
I can confirm, that this is an issue if you want to operate Nextcloud in a high-secure data-center (e.g. in Germany a BSI-certified data-center with "Schutzbedarf hoch" or "Schutzbedarf sehr hoch" according to "BSI IT-Grundschutz"). Another option would be to provide a configuration variable to disable the check at all (i.e. asume, that there is an internet connection). |
There is already a variable to disable the check, see has_internet_connection on https://docs.nextcloud.com/server/14/admin_manual/configuration_server/config_sample_php_parameters.html?highlight=has_internet_connection. I had to look into the code to understand it related to this though. |
But if I understand this correctly, when setting |
IMHO a further improvement over configurable hosts to test would be no automatic test but a button to perform update test manually (might be cron capable as well). As it is now there is no personal data transferred but, tested hosts know about NextCloud is running there. Issue 1: Who knows about content of active hosts file or setup of DNS being involved? As a result this behaviour is a security bug by design. Nothing is unhackable. (tm) |
Correct.
This check is only done to show it on the setup checks in the admin settings. Even if those hosts are not reachable the updater as well as the app store should work without problems.
We don't expose anything here. We tried to choose hosts that have quite high dat protection standards as well as a good morally understanding for this kind of stuff. Also it's easily possible to scrape for example shodan for Nextclouds for example. So if you have security concerns that a web service can be hacked, then you should not put it in the internet at all. Beside that we can look into improving this. But currently it is not high on the priority list. If you really wish to have it gone: edit the file and you are safe™ again. |
@MorrisJobke Couldn't we just check against domains Nextcloud connects to anyways? So check the Nextcloud domains and all known, trusted federations? |
@MorrisJobke Pulling the plug should be common behaviour since Wndws is distributed. Sad enough but, it's far from reality nowadays. In between (2017) there has been at least one kind of cheap keyboard (less than $5) identified sending every key stroke to a chinese server. Even at mainboards of high end systems chips not being existant at original mainboard design and with "unknown functionality" are detected. Go figure. Trouble here is spreading information to several sites without being known by average administrator - no public documentation, targets only visible in source and when analyzing network traffic. That's what I cover with "by design". Related to security and compliance: Don't get me wrong but: |
Just to put this into perspective: I'm not a nextcloud dev, but I'm pretty sure the only "privacy"-related impact is that the operators of those sites could log that your nextcloud instance as a whole exists. Therefore, this should have absolutely zero privacy impact on the actual users on your instance - so it only possibly affects the privacy of the person owning the entire instance, and only in the special case where it's not public already anyway, and only affects it as much as the existence of the instance being confirmed. I'm not saying that's not necessarily a problem for some people, but at least for the regular end user of the instances, I don't see the impact. |
For me, this is not about privacy, but about IT security and respective arrangements that have to be fulfilled if you are working in a high secure data center. I know, this is not easy comprehensible, but please have a look at BSI Grundschutz and respective certifications. |
Might be if you were more concrete about it. Do these certifications include |
I would like to see proof of this. Sure some sites in the Netherlands do not comply with the GDPR but they can be reported and are handled. Just like I would bet money on it not all sites in Germany are GDPR complaint. Also I can only connect this to
True. So best not to connect any of your devices to the internet. Anyway. As mentioned above we do not consider this a security bug. We run a simple check to tell the average administrator if there might be a problem with their setup. Firefox for example also checks a special URL to detect capative portals. Having said all that this is FOSS and we do like to improve things step by step. We always welcome contributions to our documenation. So feel free to add a section there on the current behavior. And if somebody has a PR to improve this handling here please do submit it. Keep in mind that we want to keep things easy for the average user. But a PR that improves this handling with proper tests is certainly something we can take a look at. |
@rullzer When you want to get a proof about more lax handling of GDPR in The Netherlands than in Germany you "only" have to dig a little in some search engine of your choice. In general I'm in IT since very long time as well as BSI Grundschutz is a minimal standard for me since long time. But, at the end it's all a question of how much money a somebody is able and willing to spend for his environment to have more "freedom" without lowering security. Nevertheless, an old general rule for security: Spreading information without knowledge about and explicit allowance is simply a "no go". It opens a can of worms for sure and raises costs for security exponential (not linear). Related to web technology: Related to GDPR: It's in force since 2016 but, most people ignored it. Therefor implementations are lacking needed features "by default" almost everywhere (W10 is only one example). |
And what is the information you consider spread? Your nextcloud server's ip address, violating the privacy of whom exactly, your company running it? Or the web hoster? CDNs are different, since end users are exposed to them - unlike to this mechanism. So unless someone here is a lawyer and says otherwise, I kind of doubt this issue is an actual GPDR problem... (disclaimer: not a lawyer myself) |
server/settings/Controller/CheckSetupController.php
Lines 128 to 144 in da57aaf
Why these URLs? Why does Nextcloud need to know if it can connect to these hosts? Our network person wants to know and I can't find this explained in the documentation.
The text was updated successfully, but these errors were encountered: