Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
28 mai 2017

htmlpdflatexmanmd




AIDE

AIDE

Advanced Intrusion Detection Environment

   AIDE est un vérificateur d'intégrité de fichier.

Commandes

--check, -C Vérifie les inconsistances de la base de donnée.
--init, -i Initialise la base de données
--update, -u Vérifie la base de données, et met à jours la base non-interactivement.
--compare, -E Compare 2 bases. Elles doivent être définis dans un fichier de configuration avec database=[url] et database_new=[url]
--config-check, -D Vérifie la configuration est s'arrête

Paramètres

-c, --config= Fichier de configuration. Défaut: ./aide.conf.
-l, --limit=REGEX Limite la commande aux entrées correspondant à l'expression.
-B, --before="configparameters" paramètre gérés avant de lire le fichier de configuration
-A, --after="configparameters" Paramètres gérés après avoir lu le fichier de configuration
-V, --verbose=verbosity_level Verbosite de aide (0-255) Défaut: 5
-r, --report=reporter Url où envoyer la sortie.

Diagnostique

   Normalement, le code de sortie est 0 si aucune erreur n'est survenue. Excepté pour --check, --compare, et --update, les codes de sortie sont:

1 Nouveaux fichiers detecté
2 fichiers supprimés
4 Fichiers modifiés
14 Erreur d'ecriture
15 argument invalide
16 Fonction non-implémentée
17 erreur de coniguration
18 Erreur d'E/S
19 Erreur de version
^
28 mai 2017

htmlpdflatexmanmd




aide-attributes

aide-attributes

Décoder et comparer des numéro d'attributs encodés en hexa

   aide-attributes décode les numéro d'attribut en noms d'attributs ou affiche les différences entre 2 numéro d'attribut. Ce script est utile pour décoder les numéros d'attributs affichés dans la base.

Exemples

Décoder le numéro c3d:
› aide-attributes c3d
filename
perm
uid
gid
size
bount
lnkcount

Afficher les différences entre 2 numéros d'attribut
aide-attributes c3d fbd
+ctime
+mtime
+inode
^
28 mai 2017

htmlpdflatexmanmd




aide.conf

aide.conf

Fichier de configuration aide

Configuration

database url depuis laquelle la base est lue.
database_out url où écrire la nouvelle base
database_new url où trouver d'autres base pour --compare
database_attrs Attributs des fichiers de base qui sont ajouté au rapport final en mode verbeux l2+.
database_add_metadata (bool) Ajoute la version AIDE et la date de la génération de la base en commentaire du fichier de base.
verbose Verbosité des messages (0-255)
report_url url où écrire la sortie. Peut être spécifié plusieurs fois
report_base16 (bool) encode en base16 les checksum dans les rapport au lieu de base64
report_detailed_init (bool) Ajoute les fichiers (verbole ›=2) et leurs détails (verbose ›=7) dans le mode initialisation.
report_quiet (bool) supprime la sortie de rapport si aucune différence dans la base n'a été trouvée
gzip_dbout (boo) compresse la sortie de la base.
root_prefix Préfixe en enlever de chaque nom de fichier dans le système de fichier avant d'appliquer les règles et l'écriture en base.
acl_no_symlink_follow (boo) suit les liens symboliques
warn_dead_symlinks (bool) Alerte sur les liens morts
grouped (bool) groupe les fichiers dans le rapport par fichiers ajoutés, supprimés ou changés
summarize_changes (bool) créé un sommaire dans les sections des fichiers ajoutés, supprimés, ou changés.

           Le format général est YlZbpugamcinCAXSE:

                Y Type de fichier (f,d,l,c,b,p ou s, ! si le type a changé, et ? sinon)
                Z = indique que la taille a changé, ‹ reporte une taille réduite, et › une taille augmentée
                Les autres lettres sont affichées si l'attribut associé a été changé, ou un '.' pour aucun changement, '+' si l'attribut a été ajouté, '-' s'il a été supprimé, ':' s'il est ignoré ou ' ' si l'attribut n'a pas été vérifié. Exception: (1) un fichier nouvellement créé remplace chaque lettre avec '+', (2) un fichier supprimé remplace chaque lettre avec '-'. L'attribut associé avec chaque lettre:

                        l le nom du lien a changé
                        b Le compteur de block a changé
                        p Les permissions ont changé
                        u l'uid a changé
                        g le gid a changé
                        a La date d'accès a changé
                        m La date de modification a changé
                        c La date de changement a changé
                        i L'inode a changé
                        C Un ou plusieurs checksum a changé
                        A L'acl a changé
                        X les attributs étendus ont changés
                        S Les attributs SELinux ont changé
                        E Les attributs de fichier dans le fs ext2 ont changé

report_ignore_added_attrs Liste d'attributs dont l'ajout est ignoré du rapport final
report_ignore_removed_attrs Liste d'attributs dont la suppression est ignoré du rapport final
report_ignore_e2fsattrs Liste sans délimiteur d'attributs de fichier ext2 qui sont ignorés dans le rapport final. voir chattr. 0 = ignore tous les attributs.
config_version Valeur affichée dans le rapport et dans la base.
Group definitions Si le paramètre n'est pas un des précédents paramètres, il est considéré comme une définition de groupe. La valeur est considérée comme une expression.

Sélections

   AIDE supporte 3 type de lignes de sélection:

        Expression régulière ‹regex› ‹group›
        Sélection négative !‹regex›
        Sélection d'égalité =‹regex› ‹group›

           Chaque expression régulière doit commencer par '/'. Un '^' implicite est ajouté à chaque expression.

Sélection restreinte

   Ces lignes sont des lignes de sélection mais peuvent être restreint à des types de fichier. Les types suivants sont supportés:

        f fichier régulier
        d répertoire
        l lien symbolique
        c fichier caractère
        b Fichier block
        p FIFO
        s Socket UNIX

           Les types sont séparés par un ','. La syntaxe est la suivante:

        sélection restreinte normale
        ‹regex› ‹file types› ‹group›
        Selection inversée
        !‹regex› ‹file types›
        Sélection égale
        =‹regex› ‹file types› ‹group›

Exemples

N'ajoute que les répertoire et fichier dans la base:
/ d,f R
Ajouter tout sauf les répertoires
^/run d
/run R
Utiliser une règle spécifique pour les répertoires
/run d R-m-c-i
/run R

Macro

@@define VAR val Définis une variable
@@undef VAR supprime une variable
@@ifdef VAR, @@ifndef VAR Déclaration conditionnelle
@@ifhost hostname, @@ifnhost hostname Déclaration conditionnelle
@@{VAR} Substitution de variable
@@else Définis une partie else d'une déclaration if
@@endif Termine une déclaration if
@@include VAR Inclus de fichier dans la configuration

URL

   Les url peuvent être:

stdout
stderr
stdin
file://filename
fd:number

Groupe par défaut

p permissions
ftype type de fichier
i inode
l nom du lien
u utilisateur
g groupe
s taille
b compteur de block
m mtime
a atime
c ctime
S vérifier si la taille grandis
I ignore le noms de fichier changés
ANF autorise de nouveaux fichiers
ARF autorise les fichiers supprimés
md5
sha1
sha256
sha512
rmd160
tiger
haval
crc32
gost
whirlpool checksums
acl liste de contrôle d'accès
selinux Attributs SELinux
xattrs Attributs étendus
e2fsattrs attributs de fichier dans un fs ext2
R p+ftype+i+l+n+u+g+s+m+c+md5+X
L p+ftype+i+l+n+u+g+X
E groupe vide
X acl+selinux+xattrs+e2fsattrs
p+ftype+l+u+g+i+n+S+X
^
28 mai 2017

htmlpdflatexmanmd




aideinit

aideinit

Créer une nouvelle base AIDE

   aideinit initialise une base AIDE à l'emplacement database_out.

OPTIONS

-y, --yes écrase le fichier database_out
-f, --force Force l'écrasement de la base avec une nouvelle
-c, --config Fichier de configuration alternatif
-o, --output Fichier de sortie alternatif
-d, --database Fichier de base alternatif
-b, --background Lance en tâche de fond.
^
23 mai 2017

htmlpdflatexmanmd




cronrc

cronrc

Fichier de configuration pour tigercron

Liste des champs

1. Liste d'heures
2. Liste de jours du mois
3. Liste de joures de la semaine
autres scripts à exécuter

Exemples

Vérifier les signes d'intrusion connues toutes les 8 heures:
0,8,16 * * check_known check_rootkit check_logfiles check_runprocs check_rootdir check_root
check_finddeleted est très verbeux, donc on le lance moins souvent:
1 * * check_finddeleted
Vérification système tous les jours à 1heure
1 * * check_system
Obtenir une liste de processus en écoute chaque jours à différentes heures
0,4,6,10,14,18,20 * * check_listeningprocs
Vérifier les informations utiles de comptes
2 * * check_accounts check_rhosts check_netrc check_group check_passwd check_passwdformat
Vérifie les permissions de fichiers et les mots de passe:
5 * * check_perms
Vérifie la configuration réseaux tous les lundi
3 * Mon check_inetd check_exports check_aliases check_path check_crontabs check_anonftp check_printcap check_tcpd
Vérifie les fichiers une fois par mois
2 1 *  find_files
2 3 *  check_devices
Vérifier la configuration système une fois par mois
1 2 *  check_services check_umask check_ftpusers check_embedded check_exrc
Vérifier la force des mots de passe
2 2 *  crack_run
Lancer une vérification d'intégrité chaque semaine
5 * Mon tripwire_run
5 * Mon aide_run
5 * Mon integrit_run
Pour les vérification de signature il est préférable de le lancer manuellement une fois /usr/lib/tiger/systems/$OS/$VERSION/signatures téléchargé:
5 * Mon check_signatures
^
25 mai 2017

htmlpdflatexmanmd




fail2ban-client

fail2ban-client

Configure et contrôle le service fail2ban

OPTIONS

-c ‹DIR› répertoire de configuration
-s ‹FILE› Chemin du socket
-p ‹FILE› Chemin du fichier pid
-d Dump la configuration
-i Mode interactif
-v mode verbeux
-q mode silencieux
-b Lance le serveur en tâche de fond
-f Ne lance pas le serveur en tâche de fond

Commandes

start Démarre le serveur et les jails
reload Recharge la configuration
reload ‹JAIL› Recharge le jail
stop Stoppe tous les jail et termine le serveur
status Affiche le status courant du serveur
ping Test si le serveur est en vie
set loglevel ‹LEVEL› Définis le niveau de log (CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG)
get loglevel Affiche le niveau de log
set logtarget ‹TARGET› Définis la cible des logs (STDOUT, STDERR, SYSLOG ou un fichier)
get logtarget Affiche la cible des logs
set syslogsocket auto|‹SOCKET› Définis le chemin du socket syslog
get syslogsocket Affiche le chemin du socket syslog
flushlogs Vide le logtarget si c'est un fichier et l'ouvre de nouveau. Pour la rotation de log
set dbfile ‹FILE› Définis l'emplacement du datastore persistent. None le désactive
get dbfile Affiche l'emplacement du datastore persistent
get dbpurgeage ‹SECONDS› Défpinis de délai de conservation de l'historique des bans
get dbpurgeage Affiche le délai de conservation de l'historique des bans
add ‹JAIL› ‹BACKEND› Crée le jail en utilisant le backend
start ‹JAIL› Démarre le jail
stop ‹JAIL› Stoppe le jail
status ‹JAIL› [FLAVOR] Affiche le status courant du jail
set ‹JAIL› idle on|off Définis l'état idle du jail
set ‹JAIL› addignoreip ‹IP› Ajoute l'ip à la liste ignore du jail
set ‹JAIL› delignoreip ‹IP› supprime l'ip de la liste ignore du jair
set ‹JAIL› addlogpath ‹FILE› ['tail'] Ajoute le fichier à la liste de supervision du jail, optionnellement démarrant au tail du fichier (défaut: head)
set ‹JAIL› dellogpath ‹FILE› Supprime le fichier de la liste de supervision du jail
set ‹JAIL› logencoding ‹ENCODING› Définis l'encodage des fichiers de log du jail
set ‹JAIL› addjournalmatch ‹MATCH› Ajoute le match au filtre de journal du jail
set ‹JAIL› deljournalmatch ‹MATCH› Supprime le match du fitre de journal du jail
set ‹JAIL› addfailregex ‹REGEX› Ajoute l'expression régulière qui doit matcher les erreurs pour le jail
set ‹JAIL› delfailregex ‹INDEX› Suppmire l'expression régulière du jail
set ‹JAIL› ignorecommand ‹VALUE› Définis le ignorecommande du jail
set ‹JAIL› addignoreregex ‹REGEX› Ajoute l'expression régulière qui doit matcher un motif à exclure pour le jail
set ‹JAIL› delignoreregex ‹INDEX› Supprime l'expression régulière qui doit matcher un motif à exclure du jail
set ‹JAIL› findtime ‹TIME› Définis le nombre de secondes pour lequel le filtre recherche en arrière pour le jail
set ‹JAIL› bantime ‹TIME› Définis le nombre de secondes qu'un hôte est bannis pour le jail
set ‹JAIL› datepattern ‹PATTERN› Définis le motif utilisé pour matcher les dates/heures pour le jail
set ‹JAIL› usedns ‹VALUE› Définis le mode usedns pour le jail
set ‹JAIL› banip ‹IP› Bannis manuellement une IP pour le jail
set ‹JAIL› unbanip ‹IP› Débannis manuellement une IP du jail
set ‹JAIL› maxretry ‹RETRY› Définis le nombre d'erreurs avant de bannir l'hôte pour le jail
set ‹JAIL› maxlines ‹LINES› Définis le nombre de linux à mettre en tampon pour la recherche regex pour le jail
set ‹JAIL› addaction ‹ACT›[ ‹PYTHONFILE› ‹JSONKWARGS›] Ajoute une nouvelle action pour le jail
set ‹JAIL› delaction ‹ACT› Supprime une action pour le jail
set ‹JAIL› action ‹ACT› actionstart ‹CMD› Définis la commande de démarrage de l'action pour le jail
set ‹JAIL› action ‹ACT› actionstop ‹CMD› action pour le jail
set ‹JAIL› action ‹ACT› actioncheck ‹CMD› Définis la commande de vérification de l'action pour le jail
set ‹JAIL› action ‹ACT› actionban ‹CMD› Commande ban
set ‹JAIL› action ‹ACT› actionunban ‹CMD› commande unban
set ‹JAIL› action ‹ACT› timeout ‹TIMEOUT› commande timeout, en secondes
set ‹JAIL› action ‹ACT› ‹PROPERTY› ‹VALUE› Définis une valeur/propriété pour l'action
set ‹JAIL› action ‹ACT› ‹METHOD›[ ‹JSONKWARGS›] Appel la méthode pour l'action
get ‹JAIL› logpath afiche la liste des fichiers supervisés pour le jail
get ‹JAIL› logencoding Affiche l'encodage des fichiers de logs pour le jail
get ‹JAIL› journalmatch Affiche le fitre de match journal
get ‹JAIL› ignoreip Affiche la liste des ip ignorées
get ‹JAIL› ignorecommand Affiche l'ignorecommand du jail
get ‹JAIL› failregex Affiche la liste des expressions régulières qui matche les erreurs
get ‹JAIL› ignoreregex Affiche la liste des expressions régulières d'ignore pour le jail
get ‹JAIL› findtime Affiche le temps pour la recherche en arrière du filtre pour les erreurs
get ‹JAIL› bantime Affiche le temps de bannissement d'un hôte
get ‹JAIL› datepattern Affiche le motif utilisé pour matcher les dates/heures
get ‹JAIL› usedns Affiche le paramètre usedns
get ‹JAIL› maxretry Affiche le nombre d'erreurs permises pour le jail
get ‹JAIL› maxlines Affiche le nombre de ligne en tampon
get ‹JAIL› actions Affiche la liste d'actions
get ‹JAIL› action ‹ACT› actionstart Affiche la commande start pour l'action
get ‹JAIL› action ‹ACT› actionstop affiche la commande stop pour l'action
get ‹JAIL› action ‹ACT› actioncheck Affiche la commande check pour l'action
get ‹JAIL› action ‹ACT› actionban affiche la commande ban pour l'action
get ‹JAIL› action ‹ACT› actionunban affiche la commande unban pour l'action
get ‹JAIL› action ‹ACT› timeout affiche la commande timeout pour l'action
get ‹JAIL› actionproperties ‹ACT› Affiche la liste des propriétés pour l'action
get ‹JAIL› actionmethods ‹ACT› AFfiche la liste des méthodes pour l'action
get ‹JAIL› action ‹ACT› ‹PROPERTY› Affiche la valeur de la propriété pour l'action
^
25 mai 2017

htmlpdflatexmanmd




fail2ban-regex

fail2ban-regex

Tester les options failregex de fail2ban

OPTIONS

la syntaxe est fail2ban-regex

OPTIONS

-d, --datepattern=DATEPATTERN Définis un motif utilisé pour matcher les dates/heures
-e, --encoding=ENCODING Encodage de fichier. Défaut: locale système
-r, --raw pas de résolution DNS
-L, --maxlines=MAXLINES Nombre de ligne max pour les expressions régulières multilignes
-m, --journalmatch=JOURNALMATCH matche style journalctl. "systemd-journal" uniquement
-l, --log-level=LOG-LEVEL Niveau de log pour le logger fail2ban à utiliser
-v, --verbose mode verbeux
-D, --debuggex Produit des urls debuggex.com
--print-no-missed N'affiche pas de ligne manquante
--print-no-ignored N'affiche pas les lignes ignorées
--print-all-matched Affiche toutes les lignes qui matchent
--print-all-missed Affiche toutes les lignes manquantes
--print-all-ignored Affiche toutes les lignes ignorées
-t, --log-traceback Enrichis les messages de logs avec des tracebacks compressés
--full-traceback tracebacks complet, non-compressés
^
25 mai 2017

htmlpdflatexmanmd




fail2ban-server

fail2ban-server

Service fail2ban

   Fail2Ban lit le fichier de log contenant les rapport d'authentification échoués et banni les adresses IP correspondantes en utilisant les règles firewall. fail2ban-server ne doit pas être utilisé directement, et est lancé par fail2ban-client.

OPTIONS

-b Démarre en tâche de fond
-f Ne démarre pas en tâche de fond
-s ‹FILE› Chemin du socket
-p ‹FILE› Chemin du fichier pid
-x Force l'exécution du serveur
^
25 mai 2017

htmlpdflatexmanmd




fail2ban-testcases

fail2ban-testcases

Lance les tests d'unité fail2ban

OPTIONS

-l LOG_LEVEL, --log-level=LOG_LEVEL Niveau de log durant les tests
-n, --no-network Ne lance pas le tests qui nécessitent le réseau
-t, --log-traceback Enrichis les messages de logs avec des tracebacks compressés
--full-traceback tracebacks complet, non-compressés
^
25 mai 2017

htmlpdflatexmanmd




jail.conf

jail.conf, fail2ban.conf

Configuration pour le serveur fail2ban

   fail2ban a 4 types de fichier de configuration:

fail2ban.conf Configuration globale de fail2ban
filter.d/*.conf Filtres spécifiant comment détecter les erreurs d'authentification
action.d/*.conf Actions définissant les commandes pour bannir et débannir les adresses IP
jail.conf Les jails définissent les combinaisons de filtre avec les actions

Format des fichiers de configuration

Les fichiers .conf sont distribués par Fail2Ban. Il est recommandé que ces fichiers restent inchangés pour simplifier les mises à jours. Si nécessaire, les personnalisations devraient être fournies dans des fichiers .local. Par exemple, pour activer le jail [ssh-iptables-ipset] spécifié dans jail.conf, créer un fichier jail.local contenant:
jail.local
    [ssh-iptables-ipset]
    
    enabled = true

tail.d et fail2ban.d En plus des fichier .local, pour jail.conf et fail2ban.conf, il y a un répertoire correspondant contenant des fichier .conf additionnels. L'ordre de configuration des jail est:
[ENDSECTION]
[SECTION] name="-" table="listes" imbrication="1"
jail.conf jaid.d/*.conf
jail.local jail.d/*.local

Les fichiers de configuration ont des sections et des paire nom = valeur. Les fichiers de configuration peuvent inclure d'autres fichiers de configuration, qui sont souvent utilisé dans les filtres et actions, en utilisant les directives before et after. En utilisant les mécanismes d'interpolation de chaîne Python, d'autres définitions sont permise et peuvent ensuite être utilisées dans d'autres définitions sous la forme %(name)s:
baduseragents = IE|wget
failregex = %(known/failregex)s

Additionnellement à l'interpolation $(known/parameter)s, qui ne fonctionne pas pour les paramètres init de filtre et action, un tag d'interpolation ‹known/parameter› peut être utilisé. Cela permet d'étendre un paramètre un filtre ou action directement dans le jail sans créer de filtre séparément.
# filter.d/test.conf:
[Init]
test.method = GET
baduseragents = IE|wget
[Definition]
failregex = ^%(__prefix_line)\s+"‹test.method›"\s+test\s+regexp\s+-\s+useragent=(?:‹baduseragents›)

# jail.local:
[test]
# use filter "test", overwrite method to "POST" and extend known bad agents with "badagent":
filter = test[test.method=POST, baduseragents="badagent|‹known/baduseragents›"]

fail2ban.conf

   Ces fichier ont une section, [Definition]. Les éléments sont:

loglevel Niveau de verbosité des logs de sortie: CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG. Défaut: ERROR
logtarget Cible des logs: filename, SYSLOG, STDERR ou STDOUT. Défaut: STDERR
socket Fichier socket. Défaut: /var/run/fail2ban/fail2ban.sock. utilisé pour la communication avec les serveur fail2ban
pidfile Fichier pid. Défaut: /var/run/fail2ban/fail2ban.pid
dbfile nom de la base de données. Défaut: /var/lib/fail2ban/fail2bn.sqlite3. Contient les données persistante.
dbpurgeage age de purge de la base, en secondes. Défaut: 86400

jail.conf

   Les options suivantes sont applicables dans les jail. Elles apparaissent dans une section spécifiant le nom du jail ou dans la section [DEFAULT]

filter Nom du filtre - nom d'un fichier dans /etc/fail2ban/filter.d/, sans l'extension
logpath Nom des fichiers de log à surveiller, séparés par des newline.
logencoding Encodage des fichiers de logs. Défaut: auto (utilise la locale système)
banaction Action pour le bannissement (défaut: iptables-multiport).
banaction_allports Idem, mais pour certains jails "allports" signifie "pam-generic" ou "recidive". Défaut: iptables-allports
action Actions dans /etc/fail2ban/action.d, sans l'extension
ignoreip Liste des IP à ne pas bannir. Peut inclure un masque cidr
ignorecommand La commande qui est exécutée pour déterminer si l'IP candidate pour le bannissement ne devrait pas être bannie
bantime Durée du ban
findtime Interval de temps, en secondes, avant l'heure courante où les erreurs comptent comme un ban
maxretry Nombre d'erreur qui se produisent dans findtime pour bannir une IP
backend Backend à utiliser pour détecter les changements dans le logpath. Défaut: auto, qui tente, dans l'ordre, pyinotify, gamin, systemd, polling.
usedns Utilise DNS pour résoudre les noms d'hôte qui apparaîssent dans les logs.
failregex Expression régulière Python à ajouter aux failregex du filtre.
ignoreregex expression régulière, si la ligne de log match, à ne pas considérer.

action.d/*.conf

   Les fichiers action spécifie quelles commande sont exécutées pour bannir et débannir une adresse IP. Les fichiers action ont 2 section, Definition et Init. La section Init définis des paramètres qui peuvent être écrasés pour un jail particulier. Les commandes suivantes peuvent être présents dans la section Definition

actionstart Commande à exécuter quand le jail démarre
actionstop Commande à exécuter quand le jail s'arrête
actioncheck Commande à exécuter avant tout autre action
actionban Commande à exécuter pour bannir l'adresse IP
actionunban Commande à exécuter pour débannir l'adresse IP

   La section Init permet de définir des actions spécifiques à l'action. Les éléments spéciaux suivants peuvent être définis dans la section Init:

timeout Délai max en seconde qu'une commande peut mettre à s'exécuter, avant d'être terminée

   Les commandes spécifiées dans la section Definition sont exécutées via un shell système donc les redirections shell et contrôle de process sont autorisés. Les commandes doivent retourner 0, sinon une erreur est loggée. De plus, si actioncheck qui avec un status non-0, il est considéré que le status du firewall a changé et fail2ban doit se réinitialiser. Les tags sont entre ‹›. Tous les éléments de la section Init sont des tags qui sont remplacés dans les commandes action. Plus d'une commande est autorisée. Chaque commande doit être sur une ligne séparée et indenté avec des espaces blanc.

Tags d'action

   Les tags suivants sont substitués dans l'actionban, actionunban, et actioncheck.

ip IPv6 à bannir
failures Nombre de fois que l'erreur se produit dans le fichier de log
ipfailures idem, mais le total de toutes les erreurs pour cette IP dans tous les jails, depuis la base persistante
ipjailfailures idem, mais le total basé sur les erreus de lIP pour le jail courant
time temp (epoch) du ban
matches Chaîne concaténées des lignes du fichier de log des matchs qui génèrent le ban. De nombreux caractères interprétés par le shell sont échappés pour éviter les injection
ipmatches idem, mais inclus toutes les lignes pour l'IP qui sont contenus avec la base persistante
ipjailmatches idem, mais les matches sont limités pour l'ip et pour le jail courant

Fichiers d'action Python

   Les actions basées sur python peuvent également être utilisés, où le nom de fichier doit être [actionname].pv. Le fichier python doit contenir une variable Action, qui pointe vers une classe python. Cette classe doit implémenter une interface minimum tel que décris dans fail2ban.server.action.ActionBase.

filter.d/*.conf

   Ces fichiers sont utilisés pour identifier les tentatives d'authentification échouées dans les fichiers de log et pour extraire l'adresse IP de l'hôte. La principale section est la section Definition. Il y a 2 définitions de filtre définie dans cette section:

failregex Expression régulière pour matcher les tentatives échouées.
ignoreregex Expression régulière pour identifier les entrées de log qui doivent être ignorées.

   Similairement aux actions, les filtres on une section Init qui peut écraser jail.conf/jail.local. Les éléments qui peuvent s'y trouver sont:

maxlines Nombre maximum de lignes à mettre en tampon pour matcher les expressions régulières multilignes
datepattern Spécifie une motif/regex de date personnalisé pour le détecteur de date
journalmatch Spécifie le journal systemd utilisé pour filtrer les entrées du journal.

   Les filtres peuvent également avoire une section INCLUDES, utilisée pour lire d'autres configurations:

before Indique que ce fichier est lu avant la section Definition
after Indisque que ce fichier est lu après la section Definition
^
23 mai 2017

htmlpdflatexmanmd




tiger

tiger

Analyseur de sécurité UNIX

   Tiger est un package consistant de scripts shell, code C, et de fichiers de données utilisées pour vérifier les problèmes de sécurité dans un système UNIX. Il scanne les fichiers de configuration système, les systèmes de fichiers, et les fichiers de configuration utilisateur pour de possible problèmes de sécurité et les affiche.

  tiger peut être configuré en ajustant les variables Tiger_ dans le fichier de configuration tigerrc. Pour chaque module disponible, il y a une variable qui determine si le module est lancé.

OPTIONS

-B tigerdir Spécifie le répertoire où tiger est installé.
-l logdir|@logserver Spécifie le nom du répertoire où tiger écrit le rapport de sécurité, ou le nom d'un serveur de log tiger.
-w workdir Spécifie un répertoire à utiliser pour créer des fichiers scratchs.
-b bindir Spécifie le répertoire qui contient les binaires générés depuis les modules C.
-c tigerrc Spécifie l'emplacement du fichier tigerrc
-e  Insert des explication dans les rapports de sécurité suivant chaque message.
-E  Créé un rapport explicatif séparé
-G Génère les signatures (hashs MD5 et permissions de fichier) pour les fichiers binaires système
-H Formatte le rapport en html
-S Indisque qu'une vérification des fichiers de configuration des clients sans disque servis par cette machine devraient être vérifiés en même temps.
-q Supprime les messages pour être le plus silencieux possible
-A arch Spécifie l'architecture au lieu de laisser tiger l'obtenir
-O os Spécifie l'os au lieu de laisser tiger l'obtenir
-R release Spécifie la version de l'os au lieu de laisser tiger l'obtenir

Modules

   Tiger est composé d'une série de modules. Chacun de ces modules vérifie les problèmes de sécurité liés aux systèmes UNIX. Les modules peuvent être exécutés seul, depuis cron ou via le programme tiger.

check_accounts Vérifie les comptes fournis dans le système, recherche les comptes désactivés avec cron, rhosts, .forward et les shells valides
check_aliases Effectue une vérification pour les alias mail et les configuration non-correct
check_anonftp Vérifie si le service FTP anonyme est configuré correctement
check_cron Valide les entrées cron dans le système
check_embedded Détermine si les chemins embarqués sont configurés correctement
check_exports Analyse les fichiers de configuration des exports NFS
check_group Vérifis les groupes UNIX disponible dans le système
check_inetd Vérifie le fichier de configuration inetd
check_known Recherche les signes d'intrusion connus, incluant les backdoors et les mail spools.
check_netrc Vérifie si le fichiers netrc des utilisateurs sont configurés correctement
check_nisplus Recherche les erreurs de configuration dans les entrées NIS+
check_path Valide les binaires dans le PATH de l'utilisateur, et les définitions PATH utilisés par les scripts pour déterminer les définitions non-sécurisé
check_perms Vérifie les permissions de fichiers et les inconsistances
check_printcap analyses la configuration pour le fichier de contrôle d'imprimante
check_rhosts Vérifie les fichiers rhosts pour vois si la configuration utilisateur laisse le système ouvers à des attaques
check_sendmail Vérifie les fichiers de configuration sendmail
check_signatures Compares les signatures des fichiers binaires avec ceux stockés dans la base locale (fournie avec le programme)
check_system Ce module appelle les modules spécifique de l'os dans /usr/lib/tiger/systems/
check_apache Vérifie la configuration Apache
check_devices Vérifie les permissions des périphérique
check_exrc Analyse les fichiers .exrc qui ne sont pas dans les répertoires home.
check_finddeleted Vérifie si les fichiers supprimés sont utilisé par un processus dans le système
check_ftpusers Analyse /etc/ftpusers et détermine si les admins sont dans ce fichier
check_issue Vérifie /etc/issue et /etc/issue.net pour déterminer s'ils contiennent le contenu approprié
check_logfiles Vérifie l'existence de fichiers de log (wtmp, btmp, lastlog, et utmp). Vérifie le umask
check_lilo Analyse les fichiers de configuration de lilo et grub
check_listeningprocs Vérifie les processus écoutant sur des sockets TCP/IP dans le système et les utilisateurs qui les lances
check_passwdformat Vérifie le format de /etc/passwd pour déterminer les inconsistances indiquant une intrusion ou une mauvaise configuration
check_patches Vérifie si les patchs sont disponibles pour le système. Utilise autorpm ou apt-get.
check_root Vérifie si le login root distant est autorisé
check_rootdir Vérifie les permission de /root
check_rootkit Tente de trouver les systèmes rootkités, en recherchant les commandes ls et find qui sont des trojans. inclus également un wrapper pour chkrootkit
check_single Vérifie si le système est configuré correctement et interdit l'accès single-user.
check_release Analyse la version de l'os et détermine s'il n'est plus à jours.
check_runprocs Vérifie si les processus configurés dans tigerrc sont lancés dans le système.
check_services Vérifie quils services sont configurés dans le système (généralement /etc/services) et ceux qui devraient être configurés
check_tcpd Test l'existance de tcp-wrappers et change la configuration et détermine quels services tournent sous tcp-wrappers
check_umask Vérifie le paramètre umask dans les fichiers de configuration
check_xinetd Vérifie si les services xinetd sont activés ou non
crack_run Lance une installation locale du programme Crack qui peut être utilisé pour déterminer si les mots de passe locaux sont trop simple
tripwire_run
aide_run
Integrit_run Wrappers pour des vérificateurs d'intégrité, ces programmes améliore le support de tiger pour les signatures binaires MD5 et SHA1 et les vérifications de permission de fichier.
deb_checkadvisories Vérifie une liste d'avertissement de sécurité pour voir si le système a des paquets installés dont la version peut être sujet à une vulnérabilité
deb_checkmd5sums Compare les MD5 des fichiers binaires avec ceux fournis après l'installation.
deb_nopackfiles Recherche les fichiers installés dans les répertoires système qui ne sont pas fournis par un package Debian
^
23 mai 2017

htmlpdflatexmanmd




tigercron

tigercron

Utilitaire cron pour tiger

   tigercron est utilisé pour lancer périodiquement les vérifications de tiger. tigercron lit un fichier de contrôle qui est généralement utilisé dans cronrc. -B permet d'indiquer où tiger est installé. tigercon lance les vérifications et compare les rapports avec les précédents. Puis il envoie le résultat par mail définis dans tigerrc.

OPTIONS

   tigercron utilise les même options que tiger.
^
23 mai 2017

htmlpdflatexmanmd




tigerrc

tigerrc

Fichier de configuration pour tiger

   Ce fichier est pré-traité, et ne peut contenir que des assignements de variables et des commentaires

TigerNoBuild=Y Les fichiers C sont corrompus
Tiger_Check_PASSWD=Y Rapide
Tiger_Check_PASSWD_FORMAT=N Non nécessaire dans les systèmes avec pwck
Tiger_Check_PASSWD_SHADOW=Y le temps dépend du nombre d'utilisateurs
Tiger_Check_PASSWD_NIS=N idem
Tiger_Check_GROUP=Y rapide
Tiger_Check_ACCOUNTS=Y le temps dépend du nombre d'utilisateurs
Tiger_Check_RHOSTS=Y idem
Tiger_Check_NETRC=Y idem
Tiger_Check_ALIASES=Y rapide
Tiger_Check_CRON=Y rapide
Tiger_Check_ANONFTP=Y rapide
Tiger_Check_EXPORTS=Y rapide
Tiger_Check_INETD=Y rapide pour inetd, varie pour xinetd
Tiger_Check_SERVICES=Y assez rapide
Tiger_Check_KNOWN=Y rapide
Tiger_Check_PERMS=Y assez rapide
Tiger_Check_SIGNATURES=N plusieurs minutes
Tiger_Check_FILESYSTEM=Y Dépend de la taille du système de fichier. peut prendre des heures
Tiger_Check_ROOTDIR=Y Rapide
Tiger_Check_ROOT_ACCESS=Y Rapide
Tiger_Check_PATH=Y rapide pour root.
Tiger_Check_EMBEDDED=Y Plusieurs minutes
Tiger_Check_BACKUPS=Y Rapide
Tiger_Check_LOGFILES=Y Rapide
Tiger_Check_USERUMASK=Y Rapide
Tiger_Check_ETCISSUE=N Rapide, doit être personnalisé
Tiger_Check_STRICTNW=Y Rapide
Tiger_Check_LISTENING=Y Rapide
Tiger_Check_SYSTEM=Y Dépend des vérification du système
Tiger_Check_RUNPROC=N rapide, doit être personnalisé
Tiger_Check_DELETED=N Dépend du nombre de processus dans le système
Tiger_Check_APACHE=N Rapide
Tiger_Check_SSH=Y Rapide
Tiger_Check_SENDMAIL=N Rapide
Tiger_Check_PRINTCAP=Y Rapide
Tiger_Check_EXRC=N Dépend de la taille du système de fichier
Tiger_Check_ROOTKIT=Y Lent si chkrootkit est disponible
Tiger_Check_FTPUSERS=Y Rapide
Tiger_Check_OMNIBACK=N Rapide
Tiger_Check_NTP=Y Rapide
Tiger_Check_PATCH=N dépend de la connexion réseaux
Tiger_Check_SINGLE=Y Rapide
Tiger_Check_BOOT=Y Rapide
Tiger_Check_INITTAB=Y Rapide
Tiger_Check_RCUMASK=Y Rapide
Tiger_Check_NEVERLOG=Y Rapide
Tiger_Check_OS=Y Rapide
Tiger_Check_NETWORKCONFIG=Y Rapide
Tiger_Cron_SendOKReports=N Indique si les rapports sans informations sont envoyés à cron
TigerCron_Log_Keep_Max=10 Nombre de rapports à conserver pour chaque vérification lancé depuis crontab
Tiger_Cron_Template=N Indique si les rapports sont comparés avec un template, si disponible
Tiger_Cron_CheckPrev=Y Indique si les rapports sont comparés avec un précédent rapport, si disponible
Tiger_Show_INFO_Msgs=N Indique si les massages taggés INFO sont affichés
Tiger_Run_CRACK=N lance Crack
Tiger_CRACK_LOC_OVERRIDE=/mnt/cdrom/crack/Crack Emplacement du binaire Crack
Tiger_CRACKREPORTER_LOC_OVERRIDE=/mnt/cdrom/crack/Reporter
Tiger_CRACKDIR_LOC_OVERRIDE=/usr/local/crack Doit être accessible en écriture
Tiger_Output_FQDN=Y Indique si les fqdn sont utilisés
Tiger_Run_TRIPW=N Lance le vérification d'intégrité Tripwire
Tiger_TRIPW_LOC_OVERRIDE=/mnt/cdrom/tripw/tripwire Emplacement du binaire tripwire
Tiger_Run_AIDE=N Lance le vérification d'intégrité de fichier AIDE
Tiger_Run_AIDE_VERBOSE=1 Rapport verbeux (pas encore implémenté)
Tiger_AIDE_LOC_OVERRIDE=/mnt/cdrom/aide/aide.bin Emplacement du binaire aide
Tiger_AIDE_CFG_OVERRIDE=/mnt/cdrom/aide/aide.conf Emplacement de la configuration de aide
Tiger_AIDE_DB_OVERRIDE=/mnt/cdrom/aide/in.db Emplacement de la base de données de aide
Tiger_Run_INTEGRIT=N Lance le vérificateur d'intégrité de fichier Integrit
Tiger_INTEGRIT_CFG=/etc/integrit/integrit.conf Emplacement de la configuration d'integrit
Tiger_INTEGRIT_LOC_OVERRIDE=/mnt/cdrom/integrit/integrit.bin Emplacement du binaire integrit
Tiger_Output_Width=79 Pour le formattage de la sortie
Tiger_CRON_Output_Width=0 Largeur de la sortie quand utilisé via tigercron
Tiger_Global_PATH="/etc/profile /etc/csh.login" PATH global
Tiger_Passwd_Constraints="PASS_MIN_DAYS PASS_MAX_DAYS PASS_WARN_AGE PASS_MIN_LEN" Vérifications opérées sur les mots de passe
Tiger_Passwd_Hashes='crypt3|md5|sha512' Type de hash de mot de passe acceptés
Tiger_Dormant_Limit=60 Nombre de jours des fichiers non-modifiés dans le répertoire home avant d'être considéré comme dormants
Tiger_Admin_Accounts='adm|bin|daemon|games|lp|mail|news|operator|sync|sys|uucp|man|proxy|majordom|postgres|www-data|operator|irc|gnats Comptes autres que root considérés comme administratifs (non utilisés par des humains, et dont sans mot de passe)
Tiger_Embed_Max_Depth=3 Si un chemin embarqué réfère à un fichier exécutable, il est vérifié. cela continue récursivement jusqu'à ce qu'il n'y ait plus de nouveaux exécutables trouvé, ou une profondeur max atteinte.
Tiger_Embed_Check_Exec_Only=Y Ne recherche que les exécutables dans les chemins embarqués
Tiger_Embed_Check_SUID=Y Vérifie les exécutables setuid trouvés
Tiger_Embed_Report_Exec_Only=Y Ne reporte que les exécutables qui sont en écriture ou non possédés par root
Tiger_Embedded_OK_Owners='root|bin|uucp|sys|daemon' Qui est autorisé à posséder des fichiers système
Tiger_Embedded_OK_Group_Write='root|bin|uucp|sys|daemon' Quels groupes peuvent accéder en écriture aux fichiers systèmes
Tiger_Check_PATHALL=N Spécifie si le PATH de tous les utilisateurs doivent être vérifiés. Peut potentiellement être dangereux
Tiger_ROOT_PATH_OK_Owners='root|uucp|bin|news|sys|daemon|lp' Qui peut posséder les exécutables dans /root?
Tiger_ROOT_PATH_OK_Group_Write='root|uucp|bin|sys|daemon' Quels groupes peuvent accéder en écriture dans /root
Tiger_PATH_OK_Owners=$Tiger_ROOT_PATH_OK_Owners Qui peut posséder quelque chose dans les PATH utilisateurs
eval Tiger_PATH_OK_Group_Write='$Tiger_ROOT_PATH_OK_Group_Write' Quels groupes peuvent avoir un accès en écriture sur les exécutables dans le PATH utilisateur (non-root)
Tiger_Collect_CRACK=Y Indique si tiger doit attendre que Crack se termine.
Tiger_Crack_Local=Y Lance Crack dans les sources de mot de passe locaux uniquement
Tiger_Mail_FROM="root@`uname -n`" Nom de l'émetteur pour l'envoie de la sortie de tigercron
Tiger_Mail_RCPT=root Destinataire de la sortie de tigercron
Tiger_Files_of_Note="..[!.]*/.* */.*   */.[!.]/.log/.FSP*" Liste de globs de nom de fichier à regarder dans le système de fichier
Tiger_FSScan_Setuid=N Vérifie les exécutables setuid
Tiger_FSScan_Setgid=N Vérifie les exécutables setgid
Tiger_FSScan_Devs=Y Vérifie les fichiers de périphérique
Tiger_FSScan_SymLinks=Y Vérifie les liens symboliques étranges
Tiger_FSScan_ofNote=Y Vérifie les noms de fichier étranges
Tiger_FSScan_WDIR=N Vérifie les répertoire accessible en écriture par tout le monde
Tiger_FSScan_Unowned=Y Vérifie les fichiers avec un propriétaire/groupe non-définis
Tiger_FSScan_WarnUnknown=Y Alerte sur les systèmes de fichier inconnus utilisés
Tiger_FSScan_Local='' Système de fichiers considérés comme local dans le système
Tiger_FSScan_NonLocal='' Systèmes de fichiers considérés comme non-local.
Tiger_FSScan_ReadOnly=N Spécifie si les systèmes de fichiers en lecture seul sont scannés
USERDOTFILES=".alias .kshrc .cshrc .profile .login .mailrc .exrc .emacs .forward .tcshrc .zshenv .zshrc .zlogin .zprofile .rcrc .bashrc .bash_profile .inputrc .xinitrc .fvwm2rc .Xsession .Xclients .less" Liste de fichiers cachés communéments trouvés dans les répertoires home qui sont vérifiés par check_accounts
RHOST_SITES='*.tamu.edu|jupiter' Site Rhost qui sont attendus dans .rhosts. Tout ce qui ne matche pas est reportés
Tiger_Accounts_Trust=999 Quels uid ne doivent pas générer d'alerte pour les shells valides
Tiger_SSH_Protocol='1|2' Version de SSH attendue
Tiger_SSH_RhostsAuthentication='no' variable sshd_config attendue
Tiger_SSH_PasswordAuthentication='no' variable sshd_config attendue
Tiger_Listening_Every=Y Indisque si une alerte est données pour les services qui écoutent sur toutes les interfaces
Tiger_Listening_ValidUsers='root' Indique quel utilisateur est autorisé à avoir des processus en écoute pour les connections entrantes
Tiger_Listening_ValidProcs='' Quels processus sont toujours considérés comme valides, sans regarder s'il écoutent les connections entrantes dans le système.
Tiger_Running_Procs='syslogd cron atd klogd' Quels processus doivent être vérifiés par tiger. Les processus de cette liste qui ne sont pas vu dans la table de processus génère un FAIL
Tiger_DPKG_Optimize=Y Indisque si les vérification DPKG sont optimisés
Tiger_CHKROOTKIT_ARGS="-q" Arguments utilisé pour chkrootkit.

^
23 mai 2017

htmlpdflatexmanmd




tigexp

tigexp

Générateur d'explication des vérificateurs

   tigexp est utilisé pour générer des explications sur la sortie du tiger. Dans la première forme, tigexp va générer une explication pour chaque id de message listés. Dans la seconde forme, le rapport est scanné, et les explications sont générées.

OPTIONS

-f Génère une explication pour chaque id de message unique
-F affiche le rapport de sécurité avec les explications insérées après chaque entrée dans le rapport


   Il y a 5 niveaux de message produits par tiger:

ALERT Un message de ce niveau indique que tiger a détecté une possible tentative d'intrusion, ou une mauvaise configuration qui est un problème de sécurité
FAIL Indique une violation de la stratégie de sécurité, ou une possible intrusion.
WARN Indique un problème de sécurité qui devrait être vérifié et peut indiquer une exposition à une vulnérabilité
INFO Message pas nécessairement un problème de sécurité, mais peut être utile pour l'administrateur
ERROR Erreur dans l'exécution de tiger.
CONFIG Ces message informent des étapes dans les processus de configuration de tiger.