Linuxiarze.pl Forum

Oprogramowanie => Bezpieczeństwo => Wątek zaczęty przez: armen10 w Czerwiec 22, 2020, 02:49:10 PM

Tytuł: Skrypt do ochrony przed atakiem | SASL LOGIN authentication failed
Wiadomość wysłana przez: armen10 w Czerwiec 22, 2020, 02:49:10 PM
Witam,
mam proźbę o pomoc.

Mianowicie chciałbym wyciągnąć z logów adresy ip, te które się chcą włamać. Do tej pory mam taką wizję, że chciałbym wyciągnąć IP, sprawdzić czy istanieje w pliku z adresami, jak nie to dopisać, a jak istnieje, to dać tylko komunikat, ze już istnieje. Coś tam napisałem, ale pewnie jest źle, bo nie ma sprawdzenia, czy już adres istnieje, czy mógłby mi ktoś pomóc ?

Z góry dziękuję


#!/bin/bash
for ip in $( grep "SASL LOGIN authentication failed" /var/log/mail.log | awk -F"from" {'print | sort -u | grep -oE '[0-9]{1,}.[0-9]{1,}.[0-9]{1,}.[0-9]{1,}' | grep -v "0.0.0.0" | sort -n )
do
   while read -r ipaddress;
        do
          if [ $ip != "$1"];
           then
                echo $ipaddress >> ip.txt
                echo "Dodano nowy adres IP:" $ipaddress;
           else
                echo $ipaddress "już istnieje";
          fi
        done < ip.txt
done
Tytuł: Odp: Skrypt do ochrony przed atakiem | SASL LOGIN authentication failed
Wiadomość wysłana przez: Sajmon w Wrzesień 20, 2020, 09:19:59 AM
to nie będzie działać, masz błąd w konstrukcji awk.

77: Line 2: File end reached when searching for "'".
77: Line 15: Syntax error: Unexpected file end.

awk -F"from"  - brak odstępu po -F
{'print | sort - print tu brak  $2 lub $3 lub $coś}'