This document describes how to prepare Expressway for the X15.5.20 security-hardening upgrade. It lists each prerequisite and how to correct it.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Caution: Do not start a cluster upgrade until every peer passes the readiness checks. Set TLS verification to Enforcing and confirm the cluster is healthy. Use one peer-identity format, not a mix of IP addresses and FQDNs. Each server certificate must contain that node’s FQDN in the SAN, or in the CN only when the SAN is empty. An empty SAN can occur if OpenSSL was used to create the CSR. If a check fails, the upgrade stops without changing the existing cluster configuration.
| Check | Standalone | Cluster | If it is not true |
|---|---|---|---|
| Upgrade path matches Appendix 3 | Required | Required | Before X8.11.4, stop at X8.11.4 first. Convert X12 PAK licensing to Smart Licensing before X15.x. |
| Current backup, and a tested rollback plan | Required | Required on every node | Take the backup before the window. A later factory reset clears configuration. |
| Cluster healthy, no unexplained alarms, replication in sync | Not applicable | Required | Fix the cluster before upgrading. A rolling upgrade still uses the normal split-cluster behavior. |
| TLS verification is Enforcing and the cluster is healthy | Not applicable | Required before the upgrade | Change Permissive to Enforcing, fix the certificate, and confirm replication. Do not discover this during the window. |
| Every peer uses the same identity format, and the peer list is not empty | Peer-identity check passes | Required. Mixed IP and FQDN is blocked before reboot | Standardize on all FQDNs or all IP addresses, let the change replicate, and confirm the cluster is healthy. Do not change the format during a rolling upgrade. |
| Server certificate contains the system FQDN in the SAN, or in the CN only when the SAN is empty | Required if the upgrade checks the certificate | Required. Upgrade stops and leaves the cluster configuration unchanged | Reissue the certificate. If a SAN exists, do not rely on the CN. Reject names that contain an embedded NUL. |
| Certificate is in date, trusted by peers, RSA 2048+ or P-256+, SHA-2 signature | Recommended | Required | SHA-1 signatures are already unsupported from X15.2. Reissue the certificate. A self-signed certificate is acceptable only when every peer is explicitly configured to trust it. |
| TCP 4371 allowed only from known peers | Recommended | Required | Restrict the firewall. This is defense in depth for ClusterDB; it is not a substitute for the upgrade. |
| Admin API clients reviewed | Required if APIs are used | Required if APIs are used | Expect tighter name and password validation, CSRF checks on FormPutXML writes, and no option-key API. |
| Maintenance window covers a rolling upgrade plus a possible short cluster alarm | Normal window | Required | Cookie re-encryption can raise a cluster communication alarm. It is expected to clear by itself. |
Export the server certificate and inspect it.
notBefore must be in the past and notAfter must be in the future.sha1WithRSAEncryption and ecdsa-with-SHA1 are not supported.PasswordExpiryDays is 0. When it is enabled, expiry is calculated at 00:00 UTC, not local midnight.Leave the cluster as it is. A failed readiness check does not change the existing cluster configuration. Do not factory-reset a node to get past the failure.
The installer stops before reboot when the certificate, TLS verification, or peer-identity requirement fails. Standalone nodes pass the peer-identity check.
A burst of cluster-database re-encryption can raise a cluster communication failure alarm. Give it time to finish. Escalate if it stays up.
Treat this separately from an install failure. Expired, reused, or first-login passwords block the session. They do not mean the image failed.
Password Mismatch or taa-chkpasswd failure for the API realm. Change the password, then retry.
Caution: Factory reset is not the upgrade-recovery step. It deletes cluster identity and cluster cookies. A system-triggered reset after de-clustering or an inconsistent cluster database keeps the IP address and the admin and root passwords, clears other configuration and logs, and returns the node to its temporary certificate. Use it only when the release notes call for it, and only after a backup exists.
Permissive is not supported. A legacy Permissive value could still be visible, but it does not bypass validation. Set Enforcing and confirm the cluster stays healthy.
4. Firewall still allows TCP 4371 only from the peer addresses.
5. No cluster cookie or diagnostic secret appears in logs or the snapshot notes you upload.
| If using | What good looks like | If it fails |
|---|---|---|
| Local administrators | GUI, SSH, and API accept the current password. Expired accounts are pushed to a password change or receive HTTP 401. | Confirm expiry is at 00:00 UTC and that the new password is outside the history window. |
| LDAP administrators | An administrator signs in only when the LDAP group name matches the configured group exactly. | Compare the directory group with the Expressway group. Do not broaden the match to force a login. |
| SIP or B2B calls | A test call connects in both directions. | Collect call history and a snapshot. |
| Authenticated H.323 registration | The endpoint registers with every alias it uses, including an H.323 ID and an E.164 number. | Add a credential alias map for each alias. The release notes use xConfiguration Registration CredentialAliasMap with pattern type Exact. Turning CredentialAliasBinding off on the subzone also restores registration, and it weakens the security posture. H.323 itself is not removed. |
| MRA or device registration | A known endpoint registers and places a call. UC client certificate SANs are specific DNS names or IP addresses, not overly broad or malformed values. | Compare certificates, traversal credentials, and DNS with the pre-upgrade backup. Reissue a certificate whose SAN is too broad. |
| Email alerts | A test message leaves the node using STARTTLS. | If STARTTLS cannot complete, delivery fails closed. Fix the mail server trust or TLS. Do not expect cleartext fallback. |
| Smart Licensing | Registration and authorization match the Web UI. The standard image stays within 2500 encrypted signaling sessions, or the node is Expressway Select. | Check transport and CSSM. The CSSM “allow export-controlled functionality” checkbox does not apply to Expressway. Revoking the token and deleting the product instance sets the node to Deregistered. Option keys are not a workaround. |
| REST or configuration scripts | Account names match the new length and character limits. Configuration writes include the CSRF protection the GUI uses. | Update the client against the shipping API schema. A removed /provisioning/optionkey call is expected to fail. |
| Revision | Publish Date | Comments |
|---|---|---|
1.0 |
09-Oct-2026
|
Initial Release |