Port 3690 is the Subversion (SVN) native protocol port served by svnserve. The svn:// protocol on port 3690 supports SASL authentication but no encryption by default. For secure access, use svn+ssh:// (tunneled through SSH) or SVN over HTTPS (Apache mod_dav_svn on port 443). Most teams have migrated to Git.
Port Number
3690
Protocol
TCP
Service
Subversion (svnserve)
Range
IANA Registered (1024–49151)
Test svnserve connectivity and repo access
svn info svn://server/repoBrute-force SVN authentication (security audit)
nmap -p 3690 --script svn-brute targetReview svnserve configuration (auth, access control)
cat /path/to/repo/conf/svnserve.conf | grep -v '#'Check if svnserve is running
ss -tlnp | grep 3690svn checkout svn://server/repo/trunk
svnserve -d --root /var/svn
svn info svn://server/repoSubversion (SVN) was created by CollabNet in 2000 as a replacement for CVS. Port 3690 was assigned for the svnserve native protocol. SVN dominated version control from 2004-2012 before Git's rise. svnserve was designed for simplicity (no web server needed) but lacks encryption. Apache mod_dav_svn (over HTTPS) became the recommended production deployment. Many organizations still maintain SVN repositories for legacy projects alongside Git.
Should I migrate from SVN to Git?
Yes, unless you have specific SVN-only requirements (giant binary files with locking, path-based authorization per-directory). Migration tools: git-svn (preserves history), svn2git (Ruby, cleaner), or SubGit (commercial, bidirectional mirror during transition). Largest pain points: SVN's path-based authz doesn't map to Git (use GitLab/GitHub CODEOWNERS instead), and SVN externals need Git submodules or subtrees.
How do I secure an existing svnserve deployment?
1. Switch to svn+ssh:// (just change URL scheme, uses SSH keys, no port 3690 needed). 2. If svnserve must run: enable SASL in svnserve.conf (use-sasl = true, configure /etc/sasl2/svn.conf with mechanisms like DIGEST-MD5). 3. Wrap in stunnel for TLS. 4. Set anon-access = none in svnserve.conf. 5. Move passwords out of plaintext /conf/passwd into SASL/LDAP backend.