Skip to content

Commit 9e0daa5

Browse files
authored
Merge branch 'main' into config-path
2 parents 135e44c + 3262440 commit 9e0daa5

File tree

7 files changed

+129
-65
lines changed

7 files changed

+129
-65
lines changed

content/nap-dos/deployment-guide/learn-about-deployment.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -413,22 +413,28 @@ When deploying App Protect DoS on NGINX Plus take the following precautions to s
413413
414414
6. Enable Yum repositories to pull NGINX App Protect DoS dependencies:
415415
416-
If you have a RHEL subscription:
416+
For RHEL subscription:
417417
418418
```shell
419419
sudo subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms
420420
sudo subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms
421421
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
422422
```
423423
424-
7. Add NGINX Plus and NGINX App Protect DoS repository:
424+
For RockyLinux:
425+
426+
```shell
427+
sudo dnf -y install epel-release
428+
```
429+
430+
8. Add NGINX Plus and NGINX App Protect DoS repository:
425431
426432
```shell
427433
sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/nginx-plus-8.repo
428434
sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/app-protect-dos-8.repo
429435
```
430436
431-
8. In case of fresh installation, update the repository and install the most recent version of the NGINX Plus App Protect DoS package (which includes NGINX Plus):
437+
9. In case of fresh installation, update the repository and install the most recent version of the NGINX Plus App Protect DoS package (which includes NGINX Plus):
432438
433439
```shell
434440
sudo dnf install app-protect-dos
@@ -457,7 +463,7 @@ When deploying App Protect DoS on NGINX Plus take the following precautions to s
457463
sudo dnf install app-protect-dos-27+2.4.0
458464
```
459465
460-
9. In case of upgrading from previously installed NGINX Plus App Protect DoS package (which includes NGINX Plus):
466+
10. In case of upgrading from previously installed NGINX Plus App Protect DoS package (which includes NGINX Plus):
461467
462468
```shell
463469
sudo dnf remove nginx-plus
@@ -621,14 +627,20 @@ When deploying App Protect DoS on NGINX Plus take the following precautions to s
621627
622628
6. Enable the yum repositories to pull NGINX App Protect DoS dependencies:
623629
624-
If you have a RHEL subscription:
630+
For RHEL subscription:
625631
626632
```shell
627633
sudo subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms
628634
sudo subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms
629635
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
630636
```
631637
638+
For RockyLinux:
639+
640+
```shell
641+
sudo dnf -y install epel-release
642+
```
643+
632644
7. Add the NGINX Plus and NGINX App Protect DoS repositories:
633645
634646
```shell

content/nginx/fips-compliance-nginx-plus.md

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -24,36 +24,42 @@ Some industries such as finance, healthcare, energy, also adopt FIPS to enhance
2424

2525
Currently, both FIPS 140-2 and FIPS 140-3 certifications are accepted. However, FIPS 140-2 is being phased out as part of the [FIPS 140-3 transition plan](https://csrc.nist.gov/projects/fips-140-3-transition-effort). After September 22, 2026, only FIPS 140-3 certifications will be recognized. Organizations are encouraged to migrate to FIPS 140-3 to meet updated cryptographic security requirements.
2626

27-
{{<bootstrap-table "table table-striped table-bordered table-sm">}}
28-
| **Program/Regulation/Industry** | **FIPS 140-2/140-3 Requirement** | **Current Status** |
29-
|---------------------------------|----------------------------------|---------------------------------------------------------------------|
30-
| CJIS | 140-2 or 140-3 | FIPS required for systems protecting criminal justice data. |
31-
| CMMC | 140-2 or 140-3 | FIPS required for Levels 2 and 3 compliance. |
32-
| Common Criteria | 140-2 or 140-3 | Evaluations reference both FIPS versions for cryptographic security. |
33-
| Critical Infrastructure | 140-2 or 140-3 | Utilities and systems accept both versions depending on deployments. |
34-
| Department of Veterans Affairs| 140-2 or 140-3 | Both versions used for securing sensitive health and personal data. |
35-
| DFARS | 140-2 or 140-3 | Cryptographic modules for CUI must be FIPS compliant. |
36-
| DoDIN APL | 140-2 or 140-3 | Approved IT products must include FIPS validation. |
37-
| FAA | 140-2 transitioning to 140-3 | 140-2 modules common in existing systems; new systems use 140-3. |
38-
| FERPA | 140-2 or 140-3 | Federal-funded educational systems align with 140-2 or 140-3. |
39-
| FedRAMP | 140-2 or 140-3 | FIPS required for encryption; both versions accepted. |
40-
| FISMA | 140-2 or 140-3 | Both versions accepted; agencies adopt existing 140-2 modules. |
41-
| HIPAA | 140-2 or 140-3 | FIPS ensures encryption for ePHI; both versions are valid. |
42-
| HITECH | 140-2 or 140-3 | FIPS use aligns with encryption best practices for ePHI. |
43-
| Intelligence Community | 140-2 transitioning to 140-3 | Current systems mostly use 140-2; newer systems adopt 140-3. |
44-
| Military & Tactical Systems | 140-2 transitioning to 140-3 | 140-2 used widely; transitioning to 140-3 certifications for future tools.|
45-
| NSA CSfC | 140-2 transitioning to 140-3 | NSA accepts 140-2 but prefers newer certifications under 140-3. |
46-
| Nuclear Regulatory Commission | 140-2 or 140-3 | Cryptography for nuclear systems relies on both versions. |
47-
| PCI DSS | 140-2 or 140-3 | Both versions recommended but not mandatory. |
48-
| State and Local Gov Programs | 140-2 or 140-3 | FIPS required for federal grant-funded security systems. |
49-
| TSA | 140-2 or 140-3 | Best practice for cryptographic protection; both versions accepted. |
50-
{{< /bootstrap-table >}}
27+
{{< table >}}
28+
| **Sector / Program** | **Version** | **Status** |
29+
|--------------------------------|----------------|---------------|
30+
| **Federal Programs** | | |
31+
| CJIS | 140-2 or 140-3 | Mandatory |
32+
| FedRAMP | 140-2 or 140-3 | Mandatory |
33+
| FISMA | 140-2 or 140-3 | Mandatory |
34+
| DFARS | 140-2 or 140-3 | Mandatory |
35+
| DoDIN APL | 140-2 or 140-3 | Mandatory |
36+
| FAA | 140-2 to 140-3 | Transitioning |
37+
| TSA | 140-2 or 140-3 | Recommended |
38+
| **Defense & Intelligence** | | |
39+
| CMMC | 140-2 or 140-3 | Mandatory |
40+
| Intelligence Community | 140-2 to 140-3 | Transitioning |
41+
| NSA CSfC | 140-2 to 140-3 | Transitioning |
42+
| Military & Tactical Systems | 140-2 to 140-3 | Transitioning |
43+
| **Healthcare & Education** | | |
44+
| HIPAA | 140-2 or 140-3 | Mandatory |
45+
| HITECH | 140-2 or 140-3 | Mandatory |
46+
| Department of Veterans Affairs | 140-2 or 140-3 | Mandatory |
47+
| FERPA | 140-2 or 140-3 | Recommended |
48+
| **Commercial/Private Sector** | | |
49+
| PCI DSS | 140-2 or 140-3 | Recommended |
50+
| Common Criteria | 140-2 or 140-3 | Recommended |
51+
| **Infrastructure & Critical Systems** | | |
52+
| Critical Infrastructure | 140-2 or 140-3 | Recommended |
53+
| Nuclear Regulatory Commission | 140-2 or 140-3 | Recommended |
54+
| **State & Local Government** | | |
55+
| State and Local Gov Programs | 140-2 or 140-3 | Mandatory |
56+
{{< /table >}}
5157

5258
### FIPS compliance in other countries
5359

5460
Although FIPS 140 is primarily a North American government cryptographic standard, it is widely recognized as a global benchmark for cryptographic security. Numerous countries outside North America align their cryptographic requirements with FIPS, especially in regulated sectors such as finance, defense, healthcare, and critical infrastructure.
5561

56-
{{<bootstrap-table "table table-striped table-bordered table-sm">}}
62+
{{< table >}}
5763
| Country/Region | FIPS Use |
5864
|----------------|-----------------------------------------------------------------------------|
5965
| Australia | Referenced for government, defense, and cryptography systems. |
@@ -74,7 +80,7 @@ Although FIPS 140 is primarily a North American government cryptographic standar
7480
| UAE | Trusted in finance, energy, and interoperability with the U.S. cryptography.|
7581
| United Kingdom | Referenced for defense, health, and procurement standards. |
7682
| United States | Mandatory for federal government systems and contractors. |
77-
{{< /bootstrap-table >}}
83+
{{< /table >}}
7884

7985
## FIPS compliant vs FIPS validated
8086

@@ -129,7 +135,7 @@ The process uses Red Hat Enterprise Linux (RHEL) release 9.6 as an example and c
129135

130136
### Step 1: Configure the operating system to use FIPS mode {#os-fips-setup}
131137

132-
For the purposes of the following demonstration, we installed and configured a RHEL 9.6 server. The [Red Hat FIPS documentation](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/chap-federal_standards_and_regulations#sec-Enabling-FIPS-Mode) explains how to switch the operating system between FIPS mode and non‑FIPS mode by editing the boot options and restarting the system.
138+
For the purposes of the following demonstration, we installed and configured a RHEL 9.6 server. The [Red Hat FIPS documentation](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/security_hardening/switching-rhel-to-fips-mode_security-hardening) explains how to switch the operating system between FIPS mode and non‑FIPS mode by editing the boot options and restarting the system.
133139

134140
For instructions for enabling FIPS mode on other FIPS‑compliant Linux operating systems, see the operating system documentation, for example:
135141

content/nginxaas-azure/changelog.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,17 @@ To see a list of currently active issues, visit the [Known issues]({{< ref "/ngi
1414
To review older entries, visit the [Changelog archive]({{< ref "/nginxaas-azure/changelog-archive" >}}) section.
1515

1616

17+
## September 18, 2025
18+
19+
- {{% icon-feature %}} **Notification on update to deployments using the Stable Upgrade Channel**
20+
21+
NGINXaaS for Azure deployments using the **Stable** [Upgrade Channel]({{< ref "/nginxaas-azure/quickstart/upgrade-channels.md" >}}) will be updated to [NGINX Plus Release 35 (R35)]({{< ref "/nginx/releases.md#nginxplusrelease-35-r35" >}}) during the week of Oct 06-10, 2025. This will also include updates to the following NGINX Plus modules:
22+
- nginx-plus-module-njs
23+
24+
Please review the [NGINX Plus Release 35 (R35)]({{< ref "/nginx/releases.md#nginxplusrelease-35-r35" >}}) Release Notes carefully. If you have any concerns, it's recommended to validate your configuration against NGINX Plus R35 by setting up a test deployment using the **Preview** [Upgrade Channel]({{< ref "/nginxaas-azure/quickstart/upgrade-channels.md" >}}). See [these instructions]({{< ref "/nginxaas-azure/quickstart/recreate.md" >}}) on how to set up a deployment similar to your current one.
25+
26+
If you have any questions or concerns, please [contact us]({{< ref "/nginxaas-azure/get-help.md" >}}).
27+
1728
## August 18, 2025
1829

1930
- {{% icon-feature %}} **Updates to NGINXaaS for Azure GitHub Action**

content/nginxaas-azure/getting-started/nginx-configuration/nginx-configuration-azure-cli.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,15 @@ az nginx deployment configuration analyze --deployment-name $DEPLOYMENT_NAME \
127127
--package data="$TAR_DATA"
128128
```
129129

130+
Upload a package with config files and protected files:
131+
132+
```shell
133+
az nginx deployment configuration create --deployment-name myDeployment \
134+
--resource-group myResourceGroup --root-file nginx.conf --name default \
135+
--package data="$TAR_DATA" \
136+
protected-files="['nginx/servers/server1.conf','nginx/servers/server2.conf']"
137+
```
138+
130139
- Multiple file configuration with protected files:
131140

132141
```shell

content/nginxaas-azure/getting-started/nginx-configuration/overview.md

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,20 @@ The topics below provide information on NGINX configuration restrictions and dir
2525
NGINX configurations stored in GitHub can be applied to existing NGINXaaS for Azure deployments using custom GitHub Action workflows. See [NGINXaaS for Azure Deployment Action](https://github.com/nginxinc/nginx-for-azure-deploy-action) for documentation and examples on how to incorporate these workflows in your GitHub Actions CI/CD pipelines.
2626

2727
## NGINX filesystem restrictions
28-
NGINXaaS for Azure places restrictions on the instance's filesystem; only a specific set of directories are allowed to be read from and written to. Below is a table describing what directories the NGINX worker process can read and write to and what directories files can be written to. These files include certificate files and any files uploaded to the deployment, excluding NGINX configuration files.
2928

30-
{{< table >}}
31-
| Allowed Directory | NGINX worker process can read/write to | Files can be written to |
32-
|------------------ | ----------------- | ----------------- |
33-
| /etc/nginx | | &check; |
34-
| /opt | &check; | &check; |
35-
| /srv | &check; | &check; |
36-
| /tmp | &check; | |
37-
| /var/cache/nginx | &check; | |
38-
| /var/www | &check; | &check; |
29+
NGINXaaS for Azure places restrictions on the instance’s filesystem; only a specific set of directories are allowed to be read from and written to. Below is a table describing what directories the NGINX worker process can read and write to and what directories files can be written to. These files include certificate files and any files uploaded to the deployment, excluding NGINX configuration files.
30+
31+
{{< table >}}
32+
33+
| Directory | Master Read | Master Write | Worker Read | Worker Write | Recommended Use |
34+
|-------------------|:-----------:|:------------:|:-----------:|:------------:|----------------------------------|
35+
| /etc/nginx/ | ✔️ | ✔️ ||| NGINX configuration, certificates, keys, application files (e.g. Lua or njs scripts) |
36+
| /opt/ | ✔️ | ✔️ | ✔️ || Application files (e.g. Lua scripts) |
37+
| /srv/ | ✔️ | ✔️ | ✔️ || Application files |
38+
| /var/www/ | ✔️ | ✔️ | ✔️ || Static files (e.g. index.html) |
39+
| /tmp/ | ✔️ | ✔️ | ✔️ | ✔️ | Temporary files |
40+
| /var/cache/nginx/ | ✔️ | ✔️ | ✔️ | ✔️ | Cache data |
41+
3942
{{< /table >}}
4043

4144
Attempts to access other directories will be denied and result in a `5xx` error.

content/nginxaas-azure/module-changelog.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,29 @@ url: /nginxaas/azure/module-changelog/
77

88
Learn about the modules supported by the latest versions of F5 NGINXaaS for Azure.
99

10+
## September 18, 2025
11+
12+
### Preview
13+
14+
{{<bootstrap-table "table table-bordered table-striped table-responsive table-sm">}}
15+
16+
| Name | Version | Description |
17+
|------------------------------------------|--------------------------|------------------------------------------------------------------------|
18+
| nginx-plus | 1.29.0 (nginx-plus-r35) | NGINX Plus, provided by Nginx, Inc. |
19+
| nginx-agent | 1.20.16-2026591880 | NGINX Agent - Management for NGINXaaS |
20+
| Operating System | Ubuntu 22.04.5 | Jammy Jellyfish, provided by Canonical Ltd. |
21+
| nginx-plus-module-geoip2 | 35+3.4-1 | NGINX Plus 3rd-party GeoIP2 dynamic modules |
22+
| nginx-plus-module-headers-more | 35+0.37-1 | NGINX Plus 3rd-party headers-more dynamic module |
23+
| nginx-plus-module-image-filter | 35-1 | NGINX Plus image filter dynamic module |
24+
| nginx-plus-module-lua | 35+0.10.28-1 | NGINX Plus 3rd-party Lua dynamic modules |
25+
| nginx-plus-module-ndk | 35+0.3.3-1 | NGINX Plus 3rd-party NDK dynamic module |
26+
| nginx-plus-module-njs | 35+0.9.1-1 | NGINX Plus njs dynamic modules |
27+
| nginx-plus-module-otel | 35+0.1.2-1 | NGINX Plus OpenTelemetry dynamic module |
28+
| nginx-plus-module-xslt | 35-1 | NGINX Plus xslt dynamic module |
29+
| nginx-plus-module-appprotect | 35+5.498.0-1 | NGINX Plus app protect dynamic module version 5.498.0 |
30+
| app-protect-module-plus | 35+5.498.0-1 | App-Protect package for Nginx Plus, includes all of the default files and examples. NGINX App Protect provides web application firewall (WAF) security protection for your web applications, including OWASP Top 10 attacks. |
31+
| app-protect-plugin | 6.20.0-1 | NGINX App Protect plugin |
32+
{{</bootstrap-table>}}
1033

1134
## Access module versions using data plane API:
1235

content/nic/configuration/policy-resource.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -793,29 +793,6 @@ The feature is implemented using the NGINX [ngx_http_proxy_module](https://nginx
793793

794794
A VirtualServer/VirtualServerRoute can reference multiple cache policies. However, only one can be applied: every subsequent reference will be ignored.
795795

796-
## Using Policy
797-
798-
You can use the usual `kubectl` commands to work with Policy resources, just as with built-in Kubernetes resources.
799-
800-
For example, the following command creates a Policy resource defined in `access-control-policy-allow.yaml` with the name `webapp-policy`:
801-
802-
```shell
803-
kubectl apply -f access-control-policy-allow.yaml
804-
805-
policy.k8s.nginx.org/webapp-policy configured
806-
```
807-
808-
You can get the resource by running:
809-
810-
```shell
811-
kubectl get policy webapp-policy
812-
813-
NAME AGE
814-
webapp-policy 27m
815-
```
816-
817-
For `kubectl get` and similar commands, you can also use the short name `pol` instead of `policy`.
818-
819796
### WAF
820797

821798
{{< call-out "note" >}} The feature is implemented using the NGINX Plus [NGINX App Protect WAF Module]({{< ref "/nap-waf/" >}}). {{< /call-out >}}
@@ -863,6 +840,29 @@ policies:
863840

864841
In this example NGINX Ingress Controller will use the configuration from the first policy reference `waf-policy-one`, and ignores `waf-policy-two`.
865842

843+
## Using Policy
844+
845+
You can use the usual `kubectl` commands to work with Policy resources, just as with built-in Kubernetes resources.
846+
847+
For example, the following command creates a Policy resource defined in `access-control-policy-allow.yaml` with the name `webapp-policy`:
848+
849+
```shell
850+
kubectl apply -f access-control-policy-allow.yaml
851+
852+
policy.k8s.nginx.org/webapp-policy configured
853+
```
854+
855+
You can get the resource by running:
856+
857+
```shell
858+
kubectl get policy webapp-policy
859+
860+
NAME AGE
861+
webapp-policy 27m
862+
```
863+
864+
For `kubectl get` and similar commands, you can also use the short name `pol` instead of `policy`.
865+
866866
### Applying Policies
867867

868868
You can apply policies to both VirtualServer and VirtualServerRoute resources. For example:

0 commit comments

Comments
 (0)