Configuration des ports du serveur FTP
L’inspecteur binder
configure le serveur FTP. Pour obtenir plus d'informations, reportez-vous à la Présentation de l’inspecteur de binder.
Exemple : [
{
"when": {
"role":"any",
"service":"ftp",
"ports": ""
},
"use": {
"type":"ftp_server"
}
}
]
chk_str_fmt
Spécifie une liste de commandes FTP à vérifier pour prévenir les attaques par format de chaîne. Vous pouvez activer la règle 125:5
pour générer une alerte et, dans le cadre d’un déploiement en ligne, abandonner les paquets incriminés lorsque l’inspecteur
détecte cette condition. Utilisez un espace comme séparateur entre les commandes.
Type : chaîne
Valeurs valides : liste de commandes FTP valides.
Valeur par défaut : aucune
data_chan_cmds
Spécifie une liste de commandes FTP dont la mise en forme doit être vérifiée. Utilisez un espace comme séparateur
entre les commandes.
Type : chaîne
Valeurs valides : liste d’une ou plusieurs des commandes suivantes : PORT PASV LPRT LPSV EPRT EPSV
.
Valeur par défaut : aucune
data_xfer_cmds
Spécifie une liste de commandes de transfert de données. Assurez-vous que la mise en forme des commandes est correcte.
Utilisez un espace comme séparateur entre les commandes.
Type : chaîne
Valeurs valides : liste d’une ou plusieurs des commandes suivantes : RETR STOR STOU APPE LIST NLST
.
Valeur par défaut : aucune
file_put_cmds
Spécifie une liste de commandes PUT
. Assurez-vous que la mise en forme des commandes est correcte. Utilisez un espace comme séparateur entre les commandes.
Type : chaîne
Valeurs valides : liste d’une ou plusieurs des commandes suivantes : STOR STOU APPE
.
Valeur par défaut : aucune

Mise en garde
|
Ne modifiez pas le paramètre file_put_cmds , sauf si le service d’assistance vous le demande.
|
file_get_cmds
Spécifie une liste de commandes GET
. Assurez-vous que la mise en forme des commandes est correcte. Utilisez un espace comme séparateur entre
les commandes.
Type : chaîne
Valeurs valides : liste de commandes GET
, telles que RETR
.
Valeur par défaut : aucune

Mise en garde
|
Ne modifiez pas le paramètre file_get_cmds , sauf si le service d’assistance vous le demande.
|
encr_cmds
Spécifie une liste de commandes relatives aux connexions sécurisées. Assurez-vous que la mise en forme des commandes est correcte.
Utilisez un espace comme séparateur entre les commandes.
Type : chaîne
Valeurs valides : liste de commandes relatives aux connexions sécurisées, par exemple : AUTH
.
Valeur par défaut : aucune
login_cmds
Spécifie une liste de commandes relatives au processus de connexion. Assurez-vous que la mise en forme des commandes est correcte.
Utilisez un espace comme séparateur entre les commandes.
Type : chaîne
Valeurs valides : spécifiez une liste d’une ou plusieurs commandes : USER
, PASS
.
Valeur par défaut : aucune
check_encrypted
Indique si une session chiffrée doit être vérifiée pour détecter une commande visant à désactiver le chiffrement. À utiliser
avec le paramètre encrypted_traffic
.
En ce qui concerne ce paramètre, vous pouvez activer la règle 125:7 pour générer des événements et, dans un déploiement en ligne, supprimer les paquets incriminés.
Type : booléen
Valeurs valides : true
, false
Valeur par défaut : false
cmd_validity[]
Tableau de commandes FTP et critères utilisés par l’inspecteur pour les valider. Ces contrôles de validité
remplacent les contrôles par défaut effectués par l’inspecteur ftp_server
(RFC 959).
En ce qui concerne ce paramètre, vous pouvez activer les règles 125:2 et 125:4 pour générer des événements et, dans le cadre
d’un déploiement de ligne, abandonner les paquets incriminés.
Type : tableau (objet)
Exemple : {
"cmd_validity": [
{
"command": "CWD",
"format": "abc",
"length": 250
}
]
}
cmd_validity[].command
Spécifie le nom d’une commande FTP à valider.
Type : chaîne
Valeurs valides : une commande FTP valide entre guillemets doubles.
Valeur par défaut : aucune
cmd_validity[].format
Décrit le format valide pour cmd_validity[].command
Type : chaîne
Valeurs valides : l’un des formats suivants :
-
int
: le paramètre doit être un entier.
-
number
: le paramètre doit être un entier compris entre 1 et 255.
-
char chars
: le paramètre doit être un caractère unique provenant de chars
ou une liste d’un ou plusieurs caractères sans séparateurs.
-
date datefmt
: le paramètre suit le format spécifié, où datefmt
est composé des éléments suivants :
-
#
= Nombre
-
C
= Caractère
-
[]
= Format facultatif entre crochets
-
|
= OU
-
{}
= Choix de formats entre accolades
-
.+-
= Caractères littéraux
-
string
: le paramètre est une chaîne illimitée.
-
host_port
: le paramètre doit être un spécificateur de port d’hôte, conformément à la RFC 959.
-
long_host_port
: le paramètre doit être un spécificateur de port d’hôte long, conformément à la RFC 1639.
-
extended_host_port
: le paramètre doit être un spécificateur de port d’hôte étendu, conformément à la RFC 2428.
-
{}
,|
: le paramètre doit être l’une des options entre accolades, séparées par |.
-
{}
, []
: le paramètre doit être l’une des options entre accolades. Les valeurs facultatives sont placées entre crochets.
Valeur par défaut : aucune
cmd_validity[].length
Spécifie la longueur maximale en octets du paramètre cmd_validity[].command
, en remplaçant la valeur par défaut définie dans def_max_param_len
. Si le paramètre de la commande FTP dépasse la valeur de cmd_validity[].length
et que la règle 125:3 est activée, Snort génère une alerte. Utilisez cmd_validity[].length
pour imposer des restrictions sur la taille des valeurs de paramètres de commandes spécifiques.
Spécifiez 0
pour une longueur illimitée.
Type : entier
Plage valide : de 0
à 4 294 967 295 (max32)
Valeur par défaut : 0
def_max_param_len
Spécifie la longueur maximale par défaut, en octets, que l’inspecteur autorise pour toutes les commandes FTP gérées par le
serveur. Utilisez def_max_param_len
pour une détection basique de dépassement de tampon. (Cette valeur peut être redéfinie pour des commandes individuelles à
l’aide de cmd_validity[].length
.) En ce qui concerne ce paramètre, vous pouvez activer la règle 125:3 pour générer des événements et, dans un déploiement en ligne, supprimer les paquets incriminés.
Spécifiez 0
pour une longueur illimitée.
Type : entier
Plage valide : de 0
à 4 294 967 295 (max32)
Valeur par défaut : 100
encrypted_traffic
Indique si le trafic FTP chiffré doit être vérifié. À utiliser avec le paramètre check_encrypted
. En ce qui concerne ce paramètre, vous pouvez activer la règle 125:7 pour générer des événements et, dans un déploiement en ligne, supprimer les paquets incriminés.
Type : booléen
Valeurs valides : true
, false
Valeur par défaut : false
ftp_cmds
Liste des commandes FTP prises en charge par le serveur en plus de celles décrites dans la RFC 959. (Si votre installation
utilise les commandes « X » spécifiées dans la RFC 775, par exemple, vous pouvez les ajouter à l’inspecteur à l’aide de ce
paramètre).
Type : chaîne
Valeurs valides : liste de commandes FTP valides, séparées par des espaces et entre guillemets doubles.
Valeur par défaut : aucune
ignore_data_chan
Indique si les canaux de données FTP doivent être ignorés.
Type : booléen
Valeurs valides : true
, false
Valeur par défaut : false
ignore_telnet_erase_cmds
Indique si les séquences d’échappement Telnet relatives aux caractères d’effacement (TNC EAC) et au caractère d’effacement
de ligne (TNC EAL) doivent être ignorées lors de la normalisation du canal de commande FTP. Définissez ignore_telnet_erase_cmds
en tenant compte de la manière dont votre serveur FTP gère les commandes d’effacement Telnet. Généralement, les nouveaux
clients FTP ignorent ces séquences d’échappement Telnet, tandis que les anciens clients les traitent.
Si les commandes d’effacement Telnet ne sont pas ignorées et que la règle 125:1 est activée, Snort génère un événement et,
dans le cadre d’un déploiement en ligne, abandonne les paquets incriminés.
Type : booléen
Valeurs valides : true
, false
Valeur par défaut : false
print_cmds
Indique si la configuration de chaque commande FTP relative à ce serveur doit être imprimée lors de l’initialisation.
Type : booléen
Valeurs valides : true
, false
Valeur par défaut : false
telnet_cmds
Indique si la présence d’éventuelles commandes Telnet doit être recherchée sur le canal de commande FTP. Une telle présence
peut révéler une tentative d’évasion sur ce canal.
Type : booléen
Valeurs valides : true
, false
Valeur par défaut : false