https://github.com/stamparm/maltrail
Maltrail je zlonamerni sistem za zaznavanje prometa, ki uporablja javno dostopne (črne) sezname, ki vsebujejo zlonamerne in / ali splošno sumljive sledi, skupaj s statičnimi sledmi, sestavljenimi iz različnih poročil AV in uporabniško določenih seznamov, pri čemer je sled lahko karkoli od imena domene (npr. Zvpprsensinaix .com za zlonamerno programsko opremo Banjori), URL (npr. hXXp: //109.162.38.120/harsh02.exe za znano zlonamerno izvedljivo datoteko), naslov IP (npr. 185.130.5.231 za znanega napadalca) ali vrednost glave uporabniškega agenta HTTP (npr. sqlmap za samodejno Orodje za vbrizgavanje SQL in prevzem baze podatkov). Uporablja tudi (neobvezno) napredne hevristične mehanizme, ki lahko pomagajo pri odkrivanju neznanih groženj (npr. Nove zlonamerne programske opreme).
Navodila za namestitev Debian/Ubuntu Linux:
V vašem terminalu izvršite spodnje komande (recimo primer spodaj vaš sudo račun oz. super uporabnik je admin):
sudo apt update && sudo apt update
sudo apt-get install schedtool
sudo apt-get install git python-pcapy -y
git clone https://github.com/stamparm/maltrail.git
cd maltrail
sudo python sensor.py &
admin@piramidestudio:~ $ cd maltrail
admin@piramidestudio:~/maltrail $ python server.py &
V vašem brskalniku odprite http://IPServerja:8338
Uporabniško ime za prvo prijavo: admin – Geslo: changeme!
Menjajte geslo ni potrebno, če ne posredujete tega na splet. Drugače pa za spremeniti geslo v terminalu uporabnite spodnjo komando:
echo -n 'MojeNovoGeslo1234' | sha256sum | cut -d " " -f 1
Izpiše se vam ena številka jo kopirate v nastavitve v sekciji:
#User entries (username:sha256(password):UID:filter_netmask(s))
#Note(s): sha256(password) can be generated on Linux with: echo -n 'password' | sha256sum | cut -d " " -f 1
#UID >= 1000 have only rights to display results (Note: this moment only functionality implemented at the client side)
#filter_netmask(s) is/are used to filter results
USERS
admin:9ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:0: # changeme!
#local:9ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:1000:192.168.0.0/16 # changeme!
administrator:1ab3cd9d67bf49d01f6a2e33d0bd9bc804ddbe6ce1ff5d219c42624851db5dbc:0:
sudo nano /home/admin/maltrail/maltrail.conf
Zakomentirajte pod USERS originalni pristop in npr. kopirajte spovaj z presledkom spredaj prvo po želji uporabniško ime npr. “administrator” in pol tisto geslo, ki se vam je izpisalo na koncu vaše kode obvezno :0:
Testirajte iz terminala če vse pravilno deluje:
ping -c 1 136.161.101.53
cat /var/log/maltrail/$(date +"%Y-%m-%d").log
nslookup morphed.ru
cat /var/log/maltrail/$(date +"%Y-%m-%d").log
ali boljše je npr. odprete vaš command prompt od windowsa in zaženite spodnjo kodo
in vpišete vaš ip strežnika:
C:\WINDOWS\system32> curl -A "Masscan" 192.168.1.85
C:\WINDOWS\system32> curl -I "Masscan" 192.168.1.85
C:\WINDOWS\system32> curl -I -A "Masscan" 192.168.1.85
Avtomatični zagon maltrail programa ob vsakem ponovnem zagonu vašega sistema oz. strežnika:
Zdaj ko smo si namestili program ga je potrebno dati v avtomatični zagon ob vsakem ponovnem zagonu stržnika tako, da v terminalu zažgite spodnje komande, POZOR, vi menjate samo vašo pot oz. uporabnika kamor ste namestili programsko opremo, v tem primeru na račun ADMIN in mapa /HOME/ADMIN/MALTRAIL/
PYTHON2 AUTOSTART:
echo "Setting up the AntiMalware SERVER Service"
echo "[Unit]" >> /etc/systemd/system/maltrail_server.service
echo "Description=AntiMalware server service" >> /etc/systemd/system/maltrail_server.service
echo "After=network.target elasticsearch.service kibana.service" >> /etc/systemd/system/maltrail_server.service
echo "[Service]" >> /etc/systemd/system/maltrail_server.service
echo "Type=simple" >> /etc/systemd/system/maltrail_server.service
echo "ExecStart=/usr/bin/python /home/admin/maltrail/server.py" >> /etc/systemd/system/maltrail_server.service
echo "Restart=on-failure" >> /etc/systemd/system/maltrail_server.service
echo "RestartSec=30" >> /etc/systemd/system/maltrail_server.service
echo "StandardOutput=journal" >> /etc/systemd/system/maltrail_server.service
echo "[Install]" >> /etc/systemd/system/maltrail_server.service
echo "WantedBy=multi-user.target" >> /etc/systemd/system/maltrail_server.service
Zgoraj za vaš MalTrail Server in še za Senzor MalTrail server:
echo "Setting up the AntiMalware SENSOR Service"
echo "[Unit]" >> /etc/systemd/system/maltrail_sensor.service
echo "Description=Maltrail sensor service" >> /etc/systemd/system/maltrail_sensor.service
echo "After=network.target elasticsearch.service kibana.service" >> /etc/systemd/system/maltrail_sensor.service
echo "[Service]" >> /etc/systemd/system/maltrail_sensor.service
echo "Type=simple" >> /etc/systemd/system/maltrail_sensor.service
echo "ExecStart=/usr/bin/python /home/admin/maltrail/sensor.py" >> /etc/systemd/system/maltrail_sensor.service
echo "Restart=on-failure" >> /etc/systemd/system/maltrail_sensor.service
echo "RestartSec=30" >> /etc/systemd/system/maltrail_sensor.service
echo "StandardOutput=journal" >> /etc/systemd/system/maltrail_sensor.service
echo "[Install]" >> /etc/systemd/system/maltrail_sensor.service
echo "WantedBy=multi-user.target" >> /etc/systemd/system/maltrail_sensor.service
Zdaj še aktivirajte avtomatični zagon tako:
sudo systemctl enable maltrail_sensor.service
sudo systemctl enable maltrail_server.service
Lahko preverite z ponovnim zagonom sistema in s spodnjimi komandami “Status serverja”
sudo systemctl start maltrail_server.service
sudo systemctl status maltrail_server.service
sudo systemctl start maltrail_sensor.service
sudo systemctl status maltrail_sensor.service
Ustvarite si Cron Jobs oz. kronološka opravila za ta program tako, da v terminalu prvo kot uporabnik se pravi admin in drugič kot root tako:
admin@piramidestudio:~ $ crontab -e
Kopirajte spodnjo komando čisto na koncu datoteke, zamenjajte vašo pot, kjer je aplikacija nameščena!!!
*/5 * * * * /usr/bin/pgrep -f server.py || /usr/bin/python /home/admin/maltrail/server.py -c /home/admin/maltrail/maltrail.conf
admin@piramidestudio:~ $ sudo crontab -e
Kopirajte spodnjo komando čisto na koncu datoteke, zamenjajte vašo pot, kjer je aplikacija nameščena!!!
*/1 * * * * /usr/bin/pgrep -f sensor.py || /usr/bin/python /home/admin/maltrail/sensor.py -c /home/admin/maltrail/maltrail.conf
Zdaj si še vaš požarni zid Fail2Ban povežite z maltrail in boste takoj blokirali vse znane napadalce na spletu.
sudo nano /etc/fail2ban/filter.d/maltrail.conf
[Definition]
failregex = ^.*mojhost\.si <HOST> \d+ x\.x\.x\.x .*(attacker|scanner|reputation).*
ignoreregex =
## Shrani zgornje direktive in aktiviraj še ta filter v fail2ban jail.conf
Se pravi zamenjate kjer je mojhsot vpišete vašo domeno FQDN ali vaš HostName serverja in tam kjer je x\.x\.x\.x
tukaj vpišite vaš ip serverja se pravi npr. 192\.168\.1\.85
sudo nano /etc/fail2ban/jail.local
[maltrail]
enabled = true
filter = maltrail
logpath = /var/log/maltrail/*-*-*.log
port = all
banaction= iptables-allports
maxretry = 1
bantime = 864000
Shrani in ponovno zaženi fail2ban:
sudo service fail2ban restart
sudo service fail2ban status
PS to gor je moj način namestitve maltrail kot ste vidli v mapo /home/admin/maltrail/, lahko program namestite v katerokoli mapo samo ne pozabit, za aktivirat maltrail avtomatični zagor, npr. če namestite program kot priporočajo razvijalci tega programa se pravi v /opt/maltrail/ pol popravite obvezno za avtomatični zagon skript tako – v terminalu zaženite spodnje komande /če ste namestili maltrail v mapo /opt/maltrail/, kakor so navodila na GitHub https://github.com/stamparm/maltrail:
Seveda ste pol izvedli namestitev tako se pravi kot root, cd /opt/ in ste izvedli isto operacijo za namesitev program se pravi to:
cd /opt/
git clone https://github.com/stamparm/maltrail.git
cd maltrail
sudo python sensor.py &
Zdaj pa zaženi v terminalu kot root spodnje komande za namestit avtomatično zagon program MALTRAIL, ko boste ponovno zagnali vaš strežnik, da je vse vklopljeno!!!:
PYTHON3
echo "Setting up the AntiMalware SERVER Service"
echo "[Unit]" >> /etc/systemd/system/maltrail_server.service
echo "Description=AntiMalware server service" >> /etc/systemd/system/maltrail_server.service
echo "After=network.target elasticsearch.service kibana.service" >> /etc/systemd/system/maltrail_server.service
echo "[Service]" >> /etc/systemd/system/maltrail_server.service
echo "Type=simple" >> /etc/systemd/system/maltrail_server.service
echo "ExecStart=/usr/bin/python3 /opt/maltrail/server.py" >> /etc/systemd/system/maltrail_server.service
echo "Restart=on-failure" >> /etc/systemd/system/maltrail_server.service
echo "RestartSec=30" >> /etc/systemd/system/maltrail_server.service
echo "StandardOutput=journal" >> /etc/systemd/system/maltrail_server.service
echo "[Install]" >> /etc/systemd/system/maltrail_server.service
echo "WantedBy=multi-user.target" >> /etc/systemd/system/maltrail_server.service
#####Zgoraj terminal kot root izvršeno za vaš MalTrail Server in še za Senzor MalTrail server spodaj Python3:
echo "Setting up the AntiMalware SENSOR Service"
echo "[Unit]" >> /etc/systemd/system/maltrail_sensor.service
echo "Description=Maltrail sensor service" >> /etc/systemd/system/maltrail_sensor.service
echo "After=network.target elasticsearch.service kibana.service" >> /etc/systemd/system/maltrail_sensor.service
echo "[Service]" >> /etc/systemd/system/maltrail_sensor.service
echo "Type=simple" >> /etc/systemd/system/maltrail_sensor.service
echo "ExecStart=/usr/bin/python3 /opt/maltrail/sensor.py" >> /etc/systemd/system/maltrail_sensor.service
echo "Restart=on-failure" >> /etc/systemd/system/maltrail_sensor.service
echo "RestartSec=30" >> /etc/systemd/system/maltrail_sensor.service
echo "StandardOutput=journal" >> /etc/systemd/system/maltrail_sensor.service
echo "[Install]" >> /etc/systemd/system/maltrail_sensor.service
echo "WantedBy=multi-user.target" >> /etc/systemd/system/maltrail_sensor.service
V kolikor uporabljate MalTrail oz. Malicious Trafic Detection programsko opremo za vaš strežnik to je moj način kako integrirati maltrail z fail2ban požarnim zidom, vendar za to isto dejanje imate na uradni strani razvijalcev programske opreme drugačen postopek integracije maltral z fail2ban poglejte si URL: https://github.com/stamparm/maltrail njihov postopek ali pa tukaj spodaj moja varianta integracije:
Odprite novo datoteko v vašem fail2ban oz. ustvarite novo datoteko v mapi od fail2ban preko vašega terminala ali pa lažje preko uporabe Webmin:
sudo nano /etc/fail2ban/filter.d/maltrail
Kopirajte spodnje direktive s tem, da zamenjate tam kjer je moja domena se pravi perc.ddns.net z vašo ali dajte vaš hostname se pravi ime strežnika npr. mojadomena.si ali če ste samo dali za hostname npr. mojserver (ponavadi odvisno od vaše postaviteve strežnika bo končna domena za skupno gostovanje na vašem strežniku tako nekako mojserver.mojadomena.si vpišite spodaj in za IP kjer je npr. moj 192.168.1.85 vpišite vaš IP naaslov strežnika – terminal “ifconfig” komanda vam izpiše eth0 ip strežnika, ponavadi tisti ip katerega ste razervirali preko vašega usmerjevalnika oz. routerja!!!
[Definition]
failregex = ^.*perc.ddns.net .* 192.168.1.85 (25|110|53|80|443|143|465|993|995|587|10000|8338).*(known|attacker|mass|scanner|reputation|malware|andromeda|sinkhole|conficker|potential|remote|code|execution|directory|traversal|probe|config|file|access|systembc|xss|injection|non-existent|tor exit node|potential directory traversal|potential php injection|onion).*
ignoreregex =
Zdaj pa še aktivirajte v vaš fail2ban blokade znanih strežnkov kateri napadajo ali skenirajo omrežja tako da kopirate spodnje direktive na koncu vašega fail2ban:
sudo nano /etc/fail2ban/jail.local
[maltrail]
enabled = true
filter = maltrail
logpath = /var/log/maltrail/*-*-*.log
port = all
banaction= %(banaction_allports)s
maxretry = 1
bantime = -1
# action = %(action_mwl)s
To direktivo action %(action_mwl)s
odkomentirate oz. dodate, če želite prejeti na vaš epoštni račun, ki ste določili v alineji med 140 in 149 v nastavitveni datoteki se pravi /etc/fail2ban/jail.local
Priporočam še, da obiščete stran abuseipdb.com in si v action.d mapi fail2ban uštimate še te nastavitve ter aktivirate te funkcionalnosti še v jail.local, = https://www.abuseipdb.com/ zelo priročno in vsekakor pripomorete k večji zaščiti interneta za vse uporabnike, saj boste pošiljali na stran abuseipdb.com tudi vi vse, ki napadajo vašo omrežje oz. vaš strežnik!!!