Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ permalink: /documentation/products/guides/bot-manager-lite/

import LinkButton from 'azion-webkit/linkbutton';

Azion **Bot Manager Lite** is a *serverless* integration available in the Azion **Marketplace**. It was built on top of an **function** on **Firewall**, which analyzes incoming requests and assigns them a score based on a set of rules and behaviors. If the score is equal to or greater than the predetermined threshold, the integration executes the defined action. Otherwise, the request is processed (*allow*, as default action). Available actions for Bot Manager Lite: *allow*, *deny*, *drop*, *redirect*, *custom HTML*, *random delay*, and *hold the connection*.
Azion **Bot Manager Lite** is a *serverless* integration available in the Azion **Marketplace**. It was built on top of a **function** on **Firewall**, which analyzes incoming requests and assigns them a score based on a set of predefined rules. If the score is equal to or greater than the predetermined threshold, the integration executes the defined action. Otherwise, the request is processed (`allow` is the default action). Available actions for Bot Manager Lite: `allow`, `deny`, `drop`, `redirect`, `custom_html`, `random_delay`, and `hold_connection`.

This integration enables the detection of suspicious traffic and bad bots, facilitating the implementation of preventive measures against malicious activities such as credential stuffing, vulnerability scanning, and site scraping. Bot Manager Lite leverages machine learning and *Reputation Intelligence* to analyze the behavior of incoming data.
This integration enables the detection of suspicious traffic and bad bots, facilitating the implementation of preventive measures against malicious activities such as credential stuffing, vulnerability scanning, and site scraping. Bot Manager Lite uses a set of predefined rules and *Reputation Intelligence* to analyze the behavior of incoming data.

:::note
This integration is a lite version of [Azion Bot Manager](https://www.azion.com/en/products/bot-manager/), a comprehensive solution for bot management.
Expand Down Expand Up @@ -46,7 +46,7 @@ You can search for any integration by browsing through the cards, using the filt
2. Click the **+ Firewall** button.
3. Give an easy-to-remember name to your new firewall.
4. Enable the **Functions** switch in the **Modules** section.
5. Optionally, enable the **Debug Rules** switch to log which Rules Engine rules execute for each request. This is useful during tuning. See [Using Debug Rules](#using-debug-rules-to-trace-firewall-rule-execution) for details.
5. (Optional) Enable the **Debug Rules** switch to log which Rules Engine rules execute for each request. This is useful during tuning. See [Using Debug Rules](#using-debug-rules-to-trace-firewall-rule-execution) for details.
6. Click the **Save** button.

Done. Now you've configured your firewall and it has access to Functions.
Expand All @@ -73,17 +73,21 @@ The **Arguments** code box is where you'll pass your variables.
}
```

Even when `threshold` and `action` are mandatory variables to be defined, you can add and define more variables, according to your needs, as shown in the example below:
Even when `threshold` and `action` are mandatory variables to be defined, you can add and define more variables according to your needs, as shown in the example below:

```json
{
"threshold": 10,
"action": "deny",
"disabled_rules": [],
"log_tag": "my_custom_tag"
"log_tag": "my_custom_tag",
"reputation_network_lists": [],
"internal_logs": "0"
}
```

For a complete list of available arguments and their descriptions, see the [Bot Manager Lite reference](/en/documentation/products/secure/firewall/bot-manager-lite/#setting-up-the-function).

5. When you're done, click the **Save** button.

:::tip
Expand All @@ -92,19 +96,19 @@ To learn how to get the logs of Azion **Bot Manager Lite**, go to the [Viewing l

### Setting up the Rules Engine

To finish, you have to set up a **Rules Engine** to configure the *behavior* and the *criteria* to run the integration.
To finish, set up a **Rules Engine** rule to configure the *behavior* and the *criteria* to run the integration.

Still in the **Firewall** page:

1. Select the **Rules Engine** tab.
2. Click the **+ Rules Engine** button.
3. Give an easy-to-remember name to the rule.
- You can add a description, but it's an optional step.
4. Select a *criteria* to run and catch the domains that you want to run the integration on.
4. Select a **criterion** to run and catch the domains that you want to run the integration on.
- Use this rule: `if Request URI does not match "\.(png|jpg|css|js|jpeg|gif|ico|ttf|svg|woff|woff2|ashx|asmx|svc|swf|otf|eot)(\?.*)?$"`
- This rule is strongly recommended to exclude all static data on your application to be processed by the function. You can customize this rule if needed.
5. You have to create additional *criteria* for this integration to work: `if Request URI does not match /.well-know/`
- This rule is highly recommended to create a list of allowed IPs that don't impact automation or scripts to WEB API.
- This rule excludes static assets from being processed by the function. Customize it as needed.
5. Create an additional **criterion**: `if Request URI does not match /.well-known/`
- This rule excludes the `/.well-known/` path, preventing the function from interfering with automation or web API scripts that use this path.
6. Below, select **Run Function** *behavior*.
7. Select the adequate function according to the name you gave it during the instantiation step.
8. Click the **Save** button.
Expand All @@ -120,9 +124,11 @@ Done. You now have your domains protected against bot attacks by using Azion **B

---

**Configuring actions**:
## Configuring actions

Azion Bot Manager Lite can execute 7 different actions whenever the request's score equals or exceeds the defined [threshold](#adjusting-the-threshold): `allow`, `deny`, `drop`, `redirect`, `custom_html`, `random_delay`, and `hold_connection`.

Azion Bot Manager Lite can execute a set of different actions whenever the request's score equals or exceeds the defined [threshold](#adjusting-the-threshold).
<LinkButton link="/en/documentation/products/secure/firewall/bot-manager-lite/#configuring-actions" label="See all configuring actions in the reference" severity="secondary" />

---

Expand Down Expand Up @@ -246,7 +252,7 @@ If specific rule IDs appear consistently in `matched_rules` for legitimate traff
```

:::caution[Warning]
Disabling rules reduces detection coverage. Only disable rules after confirming through log analysis that they consistently match legitimate traffic patterns.
Disabling rules reduces detection coverage. Only disable rules after confirming through log analysis that they consistently match legitimate traffic patterns.
:::

### Tracking multiple instances with log tags
Expand All @@ -270,7 +276,7 @@ Use `internal_logs` to control which requests are logged:
| Value | Behavior |
|---|---|
| `"0"` | Logs requests with a score greater than `0` (default). |
| `"1"` | Logs requests with a score greater than `0`, or classified as Good Bot. |
| `"1"` | Logs requests with a score greater than `0`, or classified as a Good Bot. |
| `"2"` | Logs all requests, regardless of score. Recommended for observation and tuning. |
| `"3"` | Disables logging entirely. |

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@ permalink: /documentation/products/guides/bot-manager-lite-starter-kit/
---

import Tag from 'primevue/tag';
import LinkButton from 'azion-webkit/linkbutton';

<Tag severity="info" client:only="vue">
Preview
</Tag>

The **Bot Manager Lite Starter Kit** template deploys an entirely new edge stack to enable customers to see the Bot Manager Lite in action.
The **Bot Manager Lite Starter Kit** template deploys a complete edge configuration to enable customers to see Bot Manager Lite in action.

The deployment automatically creates an application, an function, an Firewall, and a domain to access and test the features of Bot Manager Lite. This template is ideal to understand how this integration works and how it can help you secure your applications and digital assets.
The deployment automatically creates an application, a function, a Firewall, and a domain to access and test the features of Bot Manager Lite. This template is ideal to understand how this integration works and how it can help you secure your applications and digital assets.

:::note
Bot Manager Lite integration is a [lite version](/en/documentation/products/guides/bot-manager-lite/) available in the Marketplace.
Expand All @@ -38,7 +39,7 @@ Before deploying this template, you must:

## Deploying the template

You can obtain and configure your template through the Azion Console. To easily deploy it at the edge, click the button below.
You can obtain and configure your template through Azion Console. To easily deploy it at the edge, click the button below.

<LinkButton
label="Deploy"
Expand All @@ -51,7 +52,7 @@ You can obtain and configure your template through the Azion Console. To easily

## Setting up the template

In the configuration form, you must provide the information to configure your application. Fill in the presented fields.
In the configuration form, you must provide the information to configure your application. Fill in the presented fields.

Fields identified with an asterisk are mandatory.

Expand All @@ -68,12 +69,12 @@ If you didn't launch the Bot Manager Lite function before deploying this templat
During the deployment, you'll be able to follow the process through a window showing the logs. When it's complete, the page shows information about the application and some options to continue your journey.

:::note
The link to the application allows you to see it on the browser. However, it takes a certain time to propagate and configure the application in Azion's edge locations. It may be necessary to wait a few minutes for the URL to be activated and for the application page to be effectively displayed in the browser.
The link to the application allows you to see it on the browser. However, it takes a certain time to propagate and configure the application in Azion's data centers. It may be necessary to wait a few minutes for the URL to be activated and for the application page to be effectively displayed in the browser.
:::

### Key configurations

This template deploys an entirely new edge configuration including:
This template deploys a complete edge configuration including:

- **A new application**, with the Functions module enabled, to instantiate your newly created function. The application will receive the requests that trigger the function.
- **A new domain**, to access your application and test Bot Manager Lite.
Expand All @@ -88,29 +89,26 @@ After running the template, you can access the Azion Workload domain, with the f

The testing page will render the response to the request:

- When a *good* request is sent, it'll render a success message.
- When a *bad* request is sent, it'll render the default response `HTTP 403 response status code`, because the Bot Manager Lite's action is set to execute the *deny* action.
- You can redirect the *bad* request to a customized domain by modifying the JSON Args for the function.
- When a "good" request is sent, it'll render a success message.
- When a "bad" request is sent, it'll render the default response `HTTP 403 response status code`, because the Bot Manager Lite's action is set to execute the `deny` action.
- You can redirect the "bad" request to a customized domain by modifying the JSON Args for the function.

---

## Viewing logs

The Bot Manager Lite function instance is set to always write logs. This way, whenever you hit any of the "Send Request" buttons, it'll generate logs that can be monitored in [Real-Time Events](/en/documentation/products/guides/secure/manage-bots/#use-real-time-events-to-observe-and-calibrate-rules) and [Data Stream](/en/documentation/products/observe/data-stream/).

<LinkButton link="/en/documentation/products/observe/real-time-events/" label="go to real-time events reference" severity="secondary" />

<LinkButton link="/en/documentation/products/observe/real-time-events/" label="go to Real-Time Events reference" severity="secondary" />

<br />
<LinkButton link="/en/documentation/products/observe/real-time-events/" label="go to Data Stream reference" severity="secondary" />


<LinkButton link="/en/documentation/products/observe/data-stream/" label="go to Data Stream reference" severity="secondary" />

---

## Managing the template

Being a testing template, the initial configuration is mostly demonstrative. However, you can use it as a base for creating an actual functional application. You can [configure a new origin](/en/documentation/products/build/applications/origins/) for the application and use it as *Default Origin*. You can also modify the JSON Args of your **Bot Manager Lite** instance for a more customized configuration.
This template is designed for testing, so the initial configuration is demonstrative. However, you can use it as a base for creating an actual functional application. You can [configure a new origin](/en/documentation/products/build/applications/origins/) for the application and use it as *Default Origin*. You can also modify the JSON Args of your **Bot Manager Lite** instance for a more customized configuration.

To manage and edit your application's settings, proceed as follows:

Expand All @@ -129,10 +127,4 @@ Read the documentation about [managing applications](/en/documentation/products/

The application created during the deployment has an assigned Azion Workload domain to make it accessible through the browser. The domain has the following format: `xxxxxxxxxx.map.azionedge.net/`. However, you can add a custom domain for users to access your application through it.

import LinkButton from 'azion-webkit/linkbutton';

<LinkButton link="/en/documentation/products/guides/configure-a-domain/" label="go to configuring a domain guide" severity="secondary" />




<LinkButton link="/en/documentation/products/guides/configure-a-domain/" label="go to configuring a domain guide" severity="secondary" />
Loading