Skip to content

Commit 98340aa

Browse files
fix: adding rhel-9 compiler install and sec updates manual upload instructions (#909)
* fix: adding rhel-9 compiler install and sec updates manual upload instructions * fix: address review comments * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <[email protected]> * fix: Update content/nim/nginx-app-protect/setup-waf-config-management.md Co-authored-by: Travis Martin <[email protected]> --------- Co-authored-by: Travis Martin <[email protected]>
1 parent 4cc9eb4 commit 98340aa

File tree

1 file changed

+68
-62
lines changed

1 file changed

+68
-62
lines changed

content/nim/nginx-app-protect/setup-waf-config-management.md

Lines changed: 68 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -121,61 +121,31 @@ To install the WAF compiler on RHEL 8.1 or later:
121121
sudo yum install nms-nap-compiler-v5.442.0
122122
```
123123

124-
4. {{< include "nim/nap-waf/restart-nms-integrations.md" >}}
125-
126-
### RHEL 7.4 or later; CentOS
124+
### RHEL 9 or later
127125

128-
To install the WAF compiler on RHEL 7.4 or later or CentOS:
126+
To install the WAF compiler on RHEL 9 or later:
129127

130128
1. Download the `dependencies.repo` file to the `/etc/yum.repos.d` directory:
131129

132-
```shell
133-
sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/dependencies.repo
134-
```
135-
136-
2. Enable the RHEL 7 server repositories:
137-
138-
```shell
139-
sudo yum-config-manager --enable rhui-REGION-rhel-server-optional rhui-REGION-rhel-server-releases rhel-7-server-optional-rpms
140-
```
141-
142-
3. Install the WAF compiler:
143-
144-
```shell
145-
sudo yum install nms-nap-compiler-v5.442.0
146-
```
147-
148-
4. {{< include "nim/nap-waf/restart-nms-integrations.md" >}}
149-
150-
### Amazon Linux 2 LTS
151-
152-
To install the WAF compiler on Amazon Linux 2 LTS:
153-
154-
1. Download the required repo files to the `/etc/yum.repos.d` directory:
155-
156130
```shell
157-
sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/nms-amazon2.repo
158-
sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/app-protect-7.repo
131+
sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/dependencies.repo
159132
```
160133

161-
2. Enable the Extra Packages for Enterprise Linux (EPEL) repository:
134+
2. Enable the CodeReady Builder repository:
162135

163-
```shell
164-
sudo amazon-linux-extras enable epel
165-
sudo yum clean metadata
166-
sudo yum install epel-release
167-
```
136+
```shell
137+
sudo subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms
138+
```
168139

169140
3. Install the WAF compiler:
170141

171-
```shell
172-
sudo yum install nms-nap-compiler-v5.442.0
173-
```
142+
```shell
143+
sudo yum install nms-nap-compiler-v5.442.0
144+
```
174145

175146
4. {{< include "nim/nap-waf/restart-nms-integrations.md" >}}
176147

177-
178-
### Oracle Linux 7.4 or later
148+
### Oracle Linux 8.1 or later
179149

180150
To install the WAF compiler on Oracle Linux 7.4 or later:
181151

@@ -281,7 +251,7 @@ To install the WAF compiler on a system without internet access, complete these
281251

282252
{{%tab name="Ubuntu"%}}
283253

284-
### Install on Ubuntu 24.04, 22.04, and 20.04
254+
### Install on Ubuntu 24.04, 22.04
285255

286256
#### Step 1: On a system with internet access
287257

@@ -303,10 +273,10 @@ sudo tee /etc/apt/sources.list.d/nms.list
303273
sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx
304274
mkdir -p compiler && cd compiler
305275
sudo apt-get update
306-
sudo apt-get download nms-nap-compiler-v5.342.0
276+
sudo apt-get download nms-nap-compiler-v5.442.0
307277
cd ../
308278
mkdir -p compiler/compiler.deps
309-
sudo apt-get install --download-only --reinstall --yes --print-uris nms-nap-compiler-v5.342.0 | grep ^\' | cut -d\' -f2 | xargs -n 1 wget -P ./compiler/compiler.deps
279+
sudo apt-get install --download-only --reinstall --yes --print-uris nms-nap-compiler-v5.442.0 | grep ^\' | cut -d\' -f2 | xargs -n 1 wget -P ./compiler/compiler.deps
310280
tar -czvf compiler.tar.gz compiler/
311281
```
312282

@@ -347,10 +317,10 @@ sudo tee /etc/apt/sources.list.d/nms.list
347317
sudo wget -q -O /etc/apt/apt.conf.d/90pkgs-nginx https://cs.nginx.com/static/files/90pkgs-nginx
348318
mkdir -p compiler && cd compiler
349319
sudo apt-get update
350-
sudo apt-get download nms-nap-compiler-v5.342.0
320+
sudo apt-get download nms-nap-compiler-v5.442.0
351321
cd ../
352322
mkdir -p compiler/compiler.deps
353-
sudo apt-get install --download-only --reinstall --yes --print-uris nms-nap-compiler-v5.342.0 | grep ^\' | cut -d\' -f2 | xargs -n 1 wget -P ./compiler/compiler.deps
323+
sudo apt-get install --download-only --reinstall --yes --print-uris nms-nap-compiler-v5.442.0 | grep ^\' | cut -d\' -f2 | xargs -n 1 wget -P ./compiler/compiler.deps
354324
tar -czvf compiler.tar.gz compiler/
355325
```
356326

@@ -369,7 +339,7 @@ sudo dpkg -i ./compiler/*.deb
369339

370340
{{%tab name="RHEL8, RHEL9, Oracle-9 "%}}
371341

372-
### Install on RHEL 8, RHEL 9, or Oracle Linux 9
342+
### Install on RHEL 8, RHEL 9, or Oracle Linux 8.1
373343

374344
#### Step 1: On a system with internet access
375345

@@ -386,7 +356,7 @@ sudo wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/nms.repo
386356
sudo yum-config-manager --disable rhel-9-appstream-rhui-rpms
387357
sudo yum update -y
388358
sudo mkdir -p nms-nap-compiler
389-
sudo yumdownloader --resolve --destdir=nms-nap-compiler nms-nap-compiler-v5.342.0
359+
sudo yumdownloader --resolve --destdir=nms-nap-compiler nms-nap-compiler-v5.442.0
390360
tar -czvf compiler.tar.gz nms-nap-compiler/
391361
```
392362

@@ -405,7 +375,7 @@ sudo dnf install *.rpm --disablerepo=*
405375

406376
{{%tab name="Oracle-8"%}}
407377

408-
### Install on Oracle Linux 8
378+
### Install on Oracle Linux 8.1
409379

410380
#### Step 1: On a system with internet access
411381

@@ -428,7 +398,7 @@ EOF
428398
429399
sudo yum update -y
430400
sudo mkdir -p nms-nap-compiler
431-
sudo yumdownloader --resolve --destdir=nms-nap-compiler nms-nap-compiler-v5.342.0
401+
sudo yumdownloader --resolve --destdir=nms-nap-compiler nms-nap-compiler-v5.442.0
432402
tar -czvf compiler.tar.gz nms-nap-compiler/
433403
```
434404

@@ -594,30 +564,66 @@ This means NGINX Instance Manager can’t connect to the NGINX repository to ret
594564

595565
### Manually update packages
596566

597-
If you prefer not to enable automatic updates, you can manually update the Attack Signature and Threat Campaign packages by downloading them from MyF5 and uploading them to NGINX Instance Manager.
567+
If you prefer not to enable automatic updates, you can manually update the Attack Signature and Threat Campaign packages by downloading them from NGINX repository and uploading them to NGINX Instance Manager.
598568

599-
#### Download packages from MyF5
569+
#### Download packages from NGINX Repository
600570

601-
1. Log in to [MyF5](https://my.f5.com), then go to **Resources > Downloads**.
571+
1. Log in to [MyF5](https://account.f5.com/myf5) and then go to **My Products and Plans > Subscriptions**.
602572

603-
2. Select the following options in the product menu:
604-
- **Group/Product Family**: *NGINX*
605-
- **Product Line**: *NGINX App Protect*
606-
- **Product Version**: Choose a version that matches your WAF compiler version.
607-
- Select your **Linux Distribution**, **Version**, and **Architecture**.
573+
2. Download the following files from your NGINX App Protect WAF subscription:
574+
- `nginx-repo.crt` (certificate)
575+
- `nginx-repo.key` (private key)
608576

609-
3. Download the `.deb` or `.rpm` packages:
577+
3. Chose the following options while downloading the packages from the [NGINX repository](https://pkgs.nginx.com/app-protect-security-updates):
578+
- Select your **Linux Distribution** path.
579+
- For **Ubuntu**: /ubuntu/pool/nginx-plus/a/
580+
- For **Debian**: /debian/pool/nginx-plus/a/
581+
- For **RHEL**: /centos/<8 or 9>/x86_64/RPMS/
582+
583+
4. Download the `.deb` or `.rpm` packages from https://pkgs.nginx.com using your NGINX App Protect WAF cert and key:
610584
- For Attack Signatures: package starts with `app-protect-attack-signatures`
585+
- Format for `.deb` package:
586+
```text
587+
https://pkgs.nginx.com/app-protect-security-updates/<ubuntu or debian>/pool/nginx-plus/a/app-protect-attack-signatures/app-protect-attack-signatures_<Revision Timestamp in YYYY.MM.DD>-<version>~<OS Family>_amd64.deb
588+
```
589+
- Example for `.deb` download:
590+
```shell
591+
curl --key nginx-repo.key --cert nginx-repo.crt https://pkgs.nginx.com/app-protect-security-updates/ubuntu/pool/nginx-plus/a/app-protect-attack-signatures/app-protect-attack-signatures_2025.07.24-1~noble_amd64.deb --output app-protect-attack-signatures_2025.07.24-1~noble_amd64.deb
592+
```
593+
- Format for `.rpm` package:
594+
```text
595+
https://pkgs.nginx.com/app-protect-security-updates/centos/<8 or 9>/x86_64/RPMS/app-protect-attack-signatures-<Revision Timestamp in YYYY.MM.DD>-<version>.el<8 or 9>.ngx.x86_64.rpm
596+
```
597+
- Example for `.rpm` download:
598+
```shell
599+
curl -v --key nginx-repo.key --cert nginx-repo.crt https://pkgs.nginx.com/app-protect-security-updates/centos/8/x86_64/RPMS/app-protect-attack-signatures-2025.07.24-1.el8.ngx.x86_64.rpm --output app-protect-attack-signatures-2025.07.24-1.el8.ngx.x86_64.rpm
600+
```
611601
- For Threat Campaigns: package starts with `app-protect-threat-campaigns`
612-
613-
4. Extract the following three files from the package:
602+
- Format for `.deb` package:
603+
```text
604+
https://pkgs.nginx.com/app-protect-security-updates/<ubuntu or debian>/pool/nginx-plus/a/app-protect-threat-campaigns/app-protect-threat-campaigns_<Revision Timestamp in YYYY.MM.DD>-<version>~<OS Family>_amd64.deb
605+
```
606+
- Example for `.deb` download:
607+
```shell
608+
curl --key nginx-repo.key --cert nginx-repo.crt https://pkgs.nginx.com/app-protect-security-updates/ubuntu/pool/nginx-plus/a/app-protect-threat-campaigns/app-protect-threat-campaigns_2025.07.29-1~noble_amd64.deb --output app-protect-threat-campaigns_2025.07.29-1~noble_amd64.deb
609+
```
610+
- Format for `.rpm` package:
611+
```text
612+
https://pkgs.nginx.com/app-protect-security-updates/centos/<8 or 9>/x86_64/RPMS/app-protect-threat-campaigns-<Revision Timestamp in YYYY.MM.DD>-<version>.el<8 or 9>.ngx.x86_64.rpm
613+
```
614+
- Example for `.rpm` download:
615+
```shell
616+
curl -v --key nginx-repo.key --cert nginx-repo.crt https://pkgs.nginx.com/app-protect-security-updates/centos/8/x86_64/RPMS/app-protect-threat-campaigns-2025.07.29-1.el8.ngx.x86_64.rpm --output app-protect-threat-campaigns-2025.07.29-1.el8.ngx.x86_64.rpm
617+
```
618+
619+
5. Extract the following three files from the package:
614620
- `signatures.bin.tgz` (or `threat_campaigns.bin.tgz`)
615621
- `signature_update.yaml` (or `threat_campaign_update.yaml`)
616622
- `version`
617623

618624
Use tools like `rpm2cpio | cpio` or `ar` (for `.deb`) to extract the files.
619625

620-
5. Create a `.tgz` bundle that includes the three files. For example:
626+
6. Create a `.tgz` bundle that includes the three files. For example:
621627

622628
```shell
623629
tar -czvf attack-signatures.tgz signatures.bin.tgz signature_update.yaml version

0 commit comments

Comments
 (0)