|
1 | | -# Oracle Database 19c — broker-managed option-group options (epic #519, WS6 #526). |
| 1 | +# Oracle Database 19c — broker-managed RDS OPTION-GROUP baseline (epic #519, WS6 #526). |
2 | 2 | # |
3 | | -# RDS Oracle uses OPTION GROUPS (distinct from parameter groups) for certain |
4 | | -# features. This file lists the options the broker WOULD attach to an Oracle |
5 | | -# baseline option group. |
6 | | -# |
7 | | -# CURRENT STATE (#519 review H3): the create path does NOT yet provision an Oracle |
8 | | -# option group — it only creates the parameter group. Because this list is empty, |
9 | | -# there is nothing to attach today, so the gap is latent. Wiring option-group |
10 | | -# provisioning at create (gated on a non-empty list) is tracked in #526; do NOT |
11 | | -# assume adding an option here takes effect until that lands. |
| 3 | +# Unlike parameter groups (born-hardened, always applied), option-group options are |
| 4 | +# listed here and provisioned at CREATE time. This file now carries the SSL option |
| 5 | +# that enables FedRAMP-Moderate encryption-in-transit (SC-8 / SC-8(1) / SC-13) — |
| 6 | +# see #538 and ADR-0004. |
12 | 7 | # |
13 | 8 | # HONESTY / SCOPE: |
14 | | -# - Every option below MUST be verified as available in AWS GovCloud for the |
15 | | -# RDS Oracle 19c engine before a live deploy (WS15, gated). GovCloud option |
16 | | -# availability differs from commercial regions. |
17 | | -# - Do NOT enable attack-surface options (e.g. Oracle XML DB HTTP listener, |
18 | | -# external procedures / extproc, Java VM, APEX) unless explicitly required and |
19 | | -# justified (#535). None are enabled here. |
20 | | -# - The authoritative STIG mapping lives in the overlay control->layer map |
21 | | -# (aws_rds_option_group layer, #530). |
22 | | -# |
23 | | -# NOTE: several Oracle security controls that would be options on self-managed |
24 | | -# Oracle (e.g. Native Network Encryption) are configured differently or are |
25 | | -# AWS-managed on RDS; those are validated by the overlay as inherited/NA, not set |
26 | | -# here. This list is intentionally conservative for the first iteration and may be |
27 | | -# empty until the dev proof confirms which options RDS Oracle 19c in GovCloud both |
28 | | -# supports and requires for the STIG posture. |
| 9 | +# - RDS Oracle serves TLS on a SEPARATE TCPS listener port (2484), provisioned via |
| 10 | +# the SSL option below — unlike postgres/mysql which negotiate TLS on their |
| 11 | +# standard port. This port divergence is an unavoidable AWS/Oracle architecture |
| 12 | +# fact, not a broker inconsistency. |
| 13 | +# - The broker attaches this option group + expresses the SSL intent (Port 2484, |
| 14 | +# the plan security group), but it CANNOT make the connection TLS-only: opening |
| 15 | +# 2484 ingress and DENYING plaintext 1521 is an EC2 security-group change owned |
| 16 | +# by the platform (cg-provision/Terraform), outside the broker's IAM. Leaving |
| 17 | +# 1521 open alongside 2484 is an SC-8 assessor finding, so the plan is NOT |
| 18 | +# customer-ready until the platform SG rule lands (#538 / platform issue). |
| 19 | +# - TLS version ceiling: RDS Oracle SSL supports TLS 1.2 only (no 1.3). 1.2 is |
| 20 | +# acceptable for FedRAMP Moderate; documented for the SSP. |
| 21 | +# - Cipher/CA compatibility: the default RDS CA is RSA (rds-ca-rsa2048-g1), which |
| 22 | +# is compatible with the ECDHE_RSA cipher below. ECDSA-only ciphers would |
| 23 | +# require the ECC CA and are rejected fail-closed before the AWS call. |
| 24 | +# - Every value MUST be verified on the live RDS Oracle SE2 19c engine in GovCloud |
| 25 | +# before customer exposure (WS15, gated). |
| 26 | +# - NO attack-surface options (XML DB HTTP, external procedures, Java VM, APEX). |
| 27 | + |
| 28 | +# The SSL/TCPS listener port RDS Oracle exposes for TLS connections. |
| 29 | +ssl_port: 2484 |
| 30 | + |
| 31 | +# The RDS CA family the instance uses. Governs cipher compatibility: an "rsa" CA is |
| 32 | +# compatible with TLS_ECDHE_RSA_* suites; an ECDSA-only suite would need "ecc". |
| 33 | +ca_cert_family: rsa |
29 | 34 |
|
30 | | -options: [] |
31 | | - # Example shape (verify availability + necessity before enabling): |
32 | | - # - name: NATIVE_NETWORK_ENCRYPTION |
33 | | - # stig_intent: "Encrypt Oracle client/server traffic (SRG-APP-000441/442)." |
34 | | - # notes: "Confirm GovCloud availability + settings; may overlap RDS TLS." |
| 35 | +options: |
| 36 | + # SSL option — certificate-based TLS on a TCPS listener (SC-8 / SC-13). |
| 37 | + # Provisioned + attached at create; the binding publishes port 2484 + a TCPS URL. |
| 38 | + - name: SSL |
| 39 | + port: 2484 |
| 40 | + stig_intent: >- |
| 41 | + Encryption-in-transit via certificate-based TLS (SC-8/SC-8(1)); FIPS-validated |
| 42 | + crypto (SC-13). DISA Oracle 19c STIG V-270579 (SC-8(2)) + V-270571 (SC-13). |
| 43 | + notes: >- |
| 44 | + TLS 1.2 (RDS Oracle ceiling); FedRAMP+FIPS AEAD cipher; FIPS mode on. Requires |
| 45 | + the plan security group to allow 2484 and (for TLS-only) deny 1521 — platform |
| 46 | + dependency (#538). |
| 47 | + settings: |
| 48 | + # TLS 1.2 only. RDS Oracle does not support 1.3 via the SSL option. |
| 49 | + - name: SQLNET.SSL_VERSION |
| 50 | + value: "1.2" |
| 51 | + # FedRAMP-compliant + FIPS + RSA-CA-compatible AEAD suite (AES-256 preferred), |
| 52 | + # AES-128 GCM as a negotiable fallback (also FedRAMP + FIPS + RSA-compatible). |
| 53 | + - name: SQLNET.CIPHER_SUITE |
| 54 | + value: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" |
| 55 | + # Force the RDS Oracle crypto module into FIPS 140 mode (writes fips.ora |
| 56 | + # SSLFIPS_140=TRUE). STIG V-270571 checks for this. |
| 57 | + - name: FIPS.SSLFIPS_140 |
| 58 | + value: "TRUE" |
0 commit comments