dans /etc/logstash/ :

Nous modifions le "filter" pour ajouter :

  if [type] =~ "syslog" {
    grok {
      match => ["message", "Failed password for (invalid user |)%{USERNAME:username} from %{IP:src_ip} port %{BASE10NUM:port} ssh2"]
      add_tag => "ssh_brute_force_attack"
    }
  }

  if [type] =~ "syslog" {
    grok {
      match => ["message", "Accepted password for %{USERNAME:username} from %{IP:src_ip} port %{BASE10NUM:port} ssh2"]
      add_tag => "ssh_sucessful_login"
    }
  } 

  geoip {
    source => "src_ip"
  }

Une fois cela fait, on relance logstash, puis dans kibana, on peut aller dans le plugin "visualise" et créer notre "coordinate map"

Nous selectionnons notre jeux de log logstash dans la liste des indexes, puis ajoutons dans les "metrics" :

> Aggregation : count

> Bucket : GeoCoordinates

> Aggregation : Geohash
> Field : Geoip.location

Pour filter sur le programme, nous pouvons ajouter un filter (ex : programname = sshd).

Et enfin nous sauvegardons le plugin paramétré avec le bouton "save".

Et voici une capture d'ecran des résultats : elk-ssh-breakdown