chiark / gitweb /
block all SSH connections for VCS, for usabililty and security
authorHans-Christoph Steiner <hans@eds.org>
Mon, 4 Dec 2017 16:49:59 +0000 (17:49 +0100)
committerHans-Christoph Steiner <hans@eds.org>
Mon, 4 Dec 2017 16:49:59 +0000 (17:49 +0100)
commit7bba20c6626152abded6b1cd6bef4f72dcf865b6
tree930aa17823a849ba5bb7284ed897b7b2af40cfc3
parent5ae14fab18cb55bee07b6519240c758e2e55643f
block all SSH connections for VCS, for usabililty and security

If we allow SSH, then we'd have to manage known_hosts.

All VCS and submodule URLs should use HTTPS.  SSH URLs have security vulns:
https://blogs.msdn.microsoft.com/devops/2017/08/15/git-vulnerability-with-submodules/
https://www.theregister.co.uk/2017/08/13/ssh_flaw_in_git_mercurial_svn/
CVE-2017-1000117

I did a manual scan of the setup on jenkins.debian.net to see if I could
find any suspicious URLs.  Looks good so far.  This is what I used:

find . -type f -print0 |xargs -0 grep -Eo 'ssh[:+][svn/]+...................'
find . -type f -print0 |xargs -0 grep -Eo 'ssh://-[^ "]+'

Also, some ssh://_ URLs in submodules might still work, because of the URL
rewriting in fdbfb4d1.  But https://-oProxyCommand=pwnme does not really do
anything, unlike ssh://-oProxyCommand=pwnme
fdroidserver/common.py