# Snort

### Instalando

```bash
apt install snort
```

### Principais Arquivos

| **ARQUIVO**             | **DESCRIÇÃO**           |
| ----------------------- | ----------------------- |
| `/etc/snort/snort.conf` | Arquivo de Configuração |
| `/etc/snort/rules`      | Arquivos de Regras      |
| `/var/log/snort`        | Arquivo de Log          |

### Executando o Snort

```bash
snort -A fast -q -h 192.168.1.0/24 -c /etc/snort/snort.conf
```

Mostra todas as ocorrências em tempo real, assim não precisa ficar executar um `tail -f` no arquivo de log.

```bash
snort -A console -q -h 192.168.1.0/24 -c /etc/snort/snort.conf
```

### Criando regras

Para criar uma regra, siga o padrão abaixo:

```bash
<action> <protocol> <ip_origem> <port_origem> -> (<ip_destino> <port_destino> (msg: "<message>",sid:1000001:rev:001)
```

Exemplo de arquivo de regra. Crie o arquivo `/etc/snort/rules/mysther.rules`.

```bash
alert tcp any any -> 192.168.1.10 any (msg:"Port Scanning";sid:100001;rev;001;)
alert tcp any any -> 192.168.1.10 22 (msg:"SSH Received SYN";flags:S;sid:100002;rev;001;)
alert tcp any any -> 192.168.1.10 80 (msg:"Acesso ao arquivo robots.txt";content:"robots.txt";sid:100003;rev;001;)
alert tcp any any -> 192.168.1.10 80 (msg:"Possível ataque de SQL Injection";content:"%27";sid:100004;rev;001;)
```

Agora abra o arquivo `/etc/snort/snort.conf` e no final dele adicione a linha (junto com os demais "includes"):

```bash
include $RULE_PATH/mysther.rules
```
