Hide VPN users' passwords in virtual router (use PAP instead of CHAP)
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 32
Description
##### ISSUE TYPE
* Improvement Request
##### COMPONENT NAME
~~~
Remote Access VPN Services (L2TP-over-IPsec)
~~~
##### CLOUDSTACK VERSION
~~~
4.19, 4.20
~~~
##### CONFIGURATION
- Remote Access VPN Service enabled on guest networks or VPCs
- Create VPN Users
##### SUMMARY
The users' credentials for the VPN remote access service are in plaintext in /etc/ppp/chap-secrets file. Even though the VRs are secured and only the platform administrators have access to them, it is not a good practice and and may even have security consequences to leave the passwords in plain text.
It would be a good improvement if it were possible to hashing this data (or something like that).
##### STEPS TO REPRODUCE
~~~
- Enable VPN remote access service in guest network or VPC
- Create a VPN User
- Verify that the /etc/ppp/chap-secrets file on the virtual router contains the VPN user credentials in plaintext.
~~~
##### EXPECTED RESULTS
~~~
User credentials should not be in plaintext.
~~~
##### ACTUAL RESULTS
~~~
User credentials are in plaintext.
~~~
Contributor guide
Research direction
Start with the Remote Access VPN Service provisioning path for virtual routers and inspect how /etc/ppp/chap-secrets is generated. Determine the supported authentication approach and its security implications before changing behavior. Done means VPN credentials are not stored in plaintext and the relevant VPN coverage verifies the result.
Written by the indexing model from the issue text.
Assessment
- Domain
- networking, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100