T8598: [Security Fix] CLI support to configure a secret for "ipv6-peer-interface-id calling-sid"#5174
Conversation
…h calling-station-id, to generate Peer Interface Identifier (IID)
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
|
👍 |
|
✅ No typos found in changed files. |
|
CI integration ❌ failed! Details
|
|
This PR has been converted to draft as this is a part of Security fix. But there is some debian package build check failure that might need to be looked into. If @asklymenko or someone can have a look please. Thanks! |
|
We do not accept PRs for the |
Change summary
CLI support to configure a secret which will be used along with calling-station-id, to generate Peer Interface Identifier (IID).
Secret must be 16 to 128 printable non-whitespace ASCII characters.
The secret-key can be any user string or can be generated using the existing op-mode command (1 byte = 2 characters. so for generating 16 characters use byte-size = 8):
Below actions will drop existing sessions and trigger the re-negotiation/re-creation of session with the new config.
Types of changes
Related Task(s)
https://vyos.dev/T8598
Related PR(s)
When "ipv6-peer-interface-id calling-sid" is configured, an IPv6 peer IID must be generated. Below PR(#687) implements the code to generate that peer IID using the secret that we configure through the CLI being supported in this PR.
https://github.com/VyOS-Networks/vyos-build/pull/687
How to test / Smoketest result
CLI VALIDATION
=> Short secret
=> Long secret
=> Invalid secret (space and control chars)
=> Delete only secret and keep calling-sid config - Not allowed
=> Configure only calling-sid and no secret - Not allowed
=> Configure valid secret
=> Create a PPPoE session that will use peer-IID (A = c8eb:cd29:cad9:788b) generated using the secret
=> Delete config - Session is re-created and Default Fixed peer IID is used
=> Reapply the config with previously used secret - Session is re-created and same peer IID (A = c8eb:cd29:cad9:788b) is generated again to be used.
=> change the secret - Session-recreated with a different peer IID - B
=> Reboot the system with the saved config - same peer IID (column ip6) is generated again for the PPPoE session
Before reboot:
After reboot:
Checklist: