apache / apache/cloudstack

Hide VPN users' passwords in virtual router (use PAP instead of CHAP)

Open
#10,024 4 comments 0 reactions 0 assignees View on GitHub
status:needs-investigation type:improvement type:security
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.