# Installazione e configurazione

### Prerequisiti

Per integrare correttamente utilizzando Netacea, assicurati di disporre di:

1. Accesso alle chiavi API pertinenti e agli endpoint di log shipping forniti da Netacea.

### Passaggi di implementazione

1. Nella console F5, accedi alla voce di menu System > Resource Provisioning.

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-06deb308c7ac0eba400921762d1f4446f4535d2a%2Fimage%20(5)%20(1)%20(2).png?alt=media" alt=""><figcaption></figcaption></figure>

2\. Assicurati che 'iRules Language Extensions (iRulesLX)' sia selezionato e abbia un provisioning adeguato assegnato - dovrebbe essere scelto 'Nominal'.

3\. In 'Local Traffic > iRules' dovrebbero essere presenti le voci di menu specifiche per LX.

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-2672ec88a92c8426284ff955a9a200b89e324188%2Fimage%20(2)%20(2)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

#### Caricamento del workspace <a href="#upload-workspace" id="upload-workspace"></a>

1. Vai a iRules > LX Workspaces
2. Clicca sul pulsante 'Import'.

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-69b7b636dd8901c14bc4a78ea8bf6b279f9407b1%2Fimage%20(6)%20(3)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

3\. Indirizza l'importazione verso il workspace fornito da Netacea e assegna al workspace il nome 'Netacea'.

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-ae450c1c1ba21954f30298dea26315199226b643%2Fimage%20(25)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

#### Installazione del modulo f5-nodejs <a href="#installing-f5-nodejs-module" id="installing-f5-nodejs-module"></a>

{% hint style="info" %}
**Nota:** Quando ci si connette tramite SSH potresti trovarti in `tmos` anziché in bash. Puoi verificarlo dalla riga di comando se contiene la parola `tmos` ad es.

`username@(ip-172-31-10-207)(cfg-sync Standalone)(Active)(/Common)(tmos)#`

Per accedere alla posizione del file indicata di seguito dovrai passare a bash utilizzando il seguente comando:

`run /util bash`
{% endhint %}

La libreria nodejs per iRules LX NON è pubblicata su NPM ([https://www.npmjs.com](https://www.npmjs.com/)) e risiede esclusivamente sul sistema F5 BIG-IP. Puoi trovare ulteriori informazioni sul sito web di F5 [qui](https://support.f5.com/csp/article/K16221101), così come su NPM (<https://www.npmjs.com/package/f5-nodejs>).

Per questo motivo, sono necessari alcuni brevi passaggi per garantire che il workspace funzioni come previsto.

* Collegati tramite SSH al tuo nodo F5 via terminale
* Spostati nella directory in cui risiede il tuo workspace. ad es. `/var/ilx/workspaces/Common/your_module_name_here/extensions/netacea`
* Una volta all'interno del modulo Netacea, crea una directory denominata `node_modules` ad es. `mkdir node_modules`
* Spostati nella directory `node_modules` appena creata e decomprimi i file f5-nodejs eseguendo il comando `tar -xvzf /usr/share/packages/nodejs/f5-nodejs-6.tgz`

Questo installerà il modulo f5-nodejs nella cartella `node_module` desiderata e potrà essere visualizzato nella console F5.

#### Aggiunta delle chiavi API <a href="#adding-api-keys" id="adding-api-keys"></a>

1. Dalla vista LX Workspaces - clicca sul workspace denominato. ad es. 'Netacea'
2. Individua il file config.json e inserisci apiKey e secretKey per il workspace, quindi clicca su 'Save File' in basso
3. Clicca sul pulsante 'Reload from Workspace...' che aggiornerà i file all'interno del workspace.

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-300ae1a063ff80bd3bc291f7c7f4962a31296093%2Fimage%20(10)%20(2).png?alt=media" alt=""><figcaption></figcaption></figure>

4\. Assicurati che non ci siano 'workspace files' evidenziati in arancione successivamente. Questo indica che sono stati modificati dall'ultimo ricaricamento del plugin.

Le chiavi API vengono sempre aggiunte e salvate prima di procedere con 'Activate Plugin' - altrimenti l'avvio fallirà.

#### Aggiunta del NetaceaConfig.json <a href="#adding-your-netaceaconfig.json" id="adding-your-netaceaconfig.json"></a>

Ci sono 5 campi che dovrebbero essere presenti nel file NetaceaConfig.json. Di seguito è riportato un esempio:

{% code overflow="wrap" %}

```
{ 
"apiKey": "API_KEY", 
"secretKey": "SECRET_KEY",
"mitigationType": "MITIGATION_TYPE", // Either "INGEST" or "MITIGATE"
"ingestType": "KINESIS",
"mitigationServiceUrl": "MITIGATE SERVICE URL",
  "kinesis": {
  "kinesisStreamName": "KINESIS_STREAM_NAME",
    "kinesisAccessKey": "KINESIS_ACCESS_KEY",
    "kinesisSecretKey": "KINESIS_SECRET_KEY",
    "logBatchSize": 100,
    "maxLogAgeSeconds": 3
  }
}
```

{% endcode %}

#### Attivazione del plugin <a href="#activate-plugin" id="activate-plugin"></a>

1. Dalla vista LX workspaces - clicca sulla scheda 'LX Plugins', quindi sul pulsante 'Create'

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-6913cade341aa5c85a6ac1de7e0cdf6b9142e586%2Fimage%20(7)%20(3).png?alt=media" alt=""><figcaption></figcaption></figure>

2\. Assegna al plugin il nome 'Netacea' e scegli il workspace appena importato.

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-e8a603f6169fb0134da1f916fe02b1bfc8bf19e2%2Fimage%20(1)%20(3)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

#### Abilitazione delle iRules <a href="#enabling-irules" id="enabling-irules"></a>

{% hint style="info" %}
È importante notare che il worker F5 può eseguire 'INGEST' dalla iRule mitigate. Abilitare netacea\_mitigate significa che non è necessario avere netacea\_ingest abilitato, poiché la iRule mitigate gestirà anche Ingest. Ciò significa che un utente deve solo aggiornare il "mitigationType" presente in NetaceaConfig.json per passare da ingest a mitigate senza modificare la iRule stessa.
{% endhint %}

1. Dalla vista del virtual server pertinente, scegli la scheda 'Resources' e quindi 'manage' per l'allocazione delle iRule.

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-67f12693a16d2d8cefb5b0cab8d9bff07c15303a%2Fimage%20(3)%20(1)%20(3).png?alt=media" alt=""><figcaption></figcaption></figure>

2\. Trova le due iRules Netacea nell'elenco 'Available', sposta la iRule pertinente nella casella 'Enabled' e imposta la priorità desiderata. Raccomandiamo la priorità più alta laddove non si verifichino conflitti.

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-cb5406bfe5a78af5d3234854cf118c9a8a84a8f9%2Fimage%20(29).png?alt=media" alt=""><figcaption></figcaption></figure>

**netacea\_ingest** - invierà semplicemente i dati delle richieste a Netacea per l'analisi e non intraprenderà alcuna azione sulle richieste in tempo reale.

**netacea\_mitigate** - invierà i dati delle richieste a Netacea e mitigherà automaticamente le minacce identificate in base alla tua configurazione.

### Link utili <a href="#useful-links" id="useful-links"></a>

F5 Datasheet - <https://www.f5.com/pdf/products/big-ip-local-traffic-manager-ds.pdf>

Panoramica iRules LX - <https://clouddocs.f5.com/api/irules-lx/>

Documentazione API iRules LX - <https://clouddocs.f5.com/api/irules-lx/APIReference.html>

Guida allo streaming iRulesLX qui: <https://readthedocs.org/projects/f5-agility-labs-irules/downloads/pdf/latest/>
