Close
Blokovanie medzinárodných spam botnetov
Avatar

Blokovanie medzinárodných spam botnetov

Spoločnosť VNET a.s. popri webhostingu poskytuje svojim používateľom aj virtuálne mailové domény a schránky. Zákazníci sa však často stávajú obeťami hackerov, ktorí sa neoprávnene zmocnia ich prístupových údajov a odosielajú prostredníctvom ich mailových schránok spam.

Tento spam spôsobuje každej spoločnosti, ktorá prevádzkuje mailové služby veľké problémy, pretože sa kvôli tomu môže celá doména dostať na verejné mailingové čierne listiny (Blacklists), kvôli ktorým správy celej spoločnosti môžu byť blokované do veľkej časti Internetu.

Na našich mailových serveroch využívame k boju proti spamu v kombinácii s MTA postfix aj program postfwd. Postfwd je jednoduchá mailová bezpečnostná brána, ktorá umožňuje pridávať pravidlá na blokovanie odosielania správ na základe rôznych údajov z SMTP protokolu, alebo údajov získaných z postfix-u. Je možné tu nadefinovať akcie ako maximálne počty odoslaných správ za čas, kontrolovať odosielateľov, sasl autentifikáciu a mnoho ďalších atribútov.

Odhalenie spamu

Prelomené kontá v našich serveroch sme doteraz odhalili väčšinou podľa množstva odoslaných mailov na používateľa cez monitorovací systém zabbix, alebo podľa zvýšeného vyťaženia serverov. Následne sme v logoch vyhľadávali používateľov, ktorí toto vyťaženie spôsobujú. Takéto riešenie bolo neefektívne a museli sme rýchlo pristúpiť k sofistikovanému riešeniu.

Rozhodli sme sa analyzovať spôsob akým hackeri rozosielajú spam. Analýzu previedol môj kolega Peter Vilhan, ktorý odhalil tieto poznatky:

  1. Spam sa šíril cez botnet, čo sme detegovali z veľkého počtu rôznych klientských IP adries.
  2. Spam bol šírený s nízkou kadenciou správ pre jednotlivé IP adresy, aby sa konto vyhlo limitom počtu správ za časové obdobie.
  3. IP adresy použité na prihlasovanie sa do prelomeného konta po analýze cez geografické databázy IP adries ukázali, že počet unikátnych krajín, z ktorých sa prihlasoval hacker, je už po minúte odosielania spamu viac ako 30.

Na prvotnú analýzu dát bol použitý jednoduchý Linuxový one-liner, ktorý bol ešte presmerovaný do geoip pluginu a zobrazil nám počty pripojení používateľov pre jednotlivé IP adresy a kód štátu pre IP adresu:

[code language=“bash“]
grep ‚rule=<RULE_NUMBER>.*queue=‘ /var/log/mail.log.1 | grep ‚user=<USER>‘ | awk -F, ‚{print $4" "$5" "$6" "$8}‘ | sort | uniq -c | sort -n
[/code]

Potvrdili sme, že hackeri využívajú nadnárodný botnet na prihlasovanie sa do mailových účtov.

Po istom čase sme si opäť všimli vysoké vyťaženie serverov a vtedy sme už po použití nami navrhnutého a implementovaného riešenia získali nasledujúce dáta, ktoré patria jednému prelomenému účtu zákazníka. V tabuľke sú zobrazené IP adresy, kódy krajín a počet prihlásení hackera na prelomené konto, ktoré zodpovedá aj počtu odoslaných mailov. Táto tabuľka bola zhotovená po 90 minútach od prelomenia účtu zákazníka.

Ako sa správa botnet

Štatistiky:

  1. Celkový počet prihlásení 7531.
  2. Počet použitých IP adries 342.
  3. Počet rôznych štátov, odkiaľ sa hacker prihlásil 41.

[code language=“sql“]
+—————–+————+————-+
| ip_address      | state_code | login_count |
+—————–+————+————-+
| 41.63.176.___   | AO         |           8 |
| 200.80.227.___  | AR         |          41 |
| 120.146.134.___ | AU         |          18 |
| 79.132.239.___  | BE         |          15 |
| 184.149.27.___  | CA         |           1 |
| 24.37.20.___    | CA         |          13 |
| 70.28.77.___    | CA         |          21 |
| 70.25.65.___    | CA         |          23 |
| 72.38.177.___   | CA         |          24 |
| 174.114.121.___ | CA         |          27 |
| 206.248.139.___ | CA         |           4 |
| 64.179.221.___  | CA         |           4 |
| 184.151.178.___ | CA         |          40 |
| 24.37.22.___    | CA         |          51 |
| 209.250.146.___ | CA         |          66 |
| 209.197.185.___ | CA         |           8 |
| 47.48.223.___   | CA         |           8 |
| 70.25.41.___    | CA         |          81 |
| 184.71.9.___    | CA         |          92 |
| 84.226.27.___   | CH         |           5 |
| 59.37.9.___     | CN         |           6 |
| 181.143.131.___ | CO         |          24 |
| 186.64.177.___  | CR         |           6 |
| 77.104.244.___  | CZ         |           1 |
| 78.108.109.___  | CZ         |          18 |
| 185.19.1.___    | CZ         |          58 |
| 95.208.250.___  | DE         |           1 |
| 79.215.89.___   | DE         |          15 |
| 47.71.223.___   | DE         |          23 |
| 31.18.251.___   | DE         |          27 |
| 2.164.183.___   | DE         |          32 |
| 79.239.97.___   | DE         |          32 |
| 80.187.103.___  | DE         |          54 |
| 109.84.1.___    | DE         |           6 |
| 212.97.234.___  | DK         |          49 |
| 190.131.134.___ | EC         |          42 |
| 84.77.172.___   | ES         |           1 |
| 91.117.105.___  | ES         |          10 |
| 185.87.99.___   | ES         |          14 |
| 95.16.51.___    | ES         |          15 |
| 95.127.182.___  | ES         |          16 |
| 195.77.90.___   | ES         |          19 |
| 188.86.18.___   | ES         |           2 |
| 212.145.210.___ | ES         |          38 |
| 148.3.169.___   | ES         |          39 |
| 95.16.35.___    | ES         |           4 |
| 81.202.61.___   | ES         |          45 |
| 88.7.246.___    | ES         |           7 |
| 81.36.5.___     | ES         |           8 |
| 88.14.192.___   | ES         |           8 |
| 212.97.161.___  | ES         |           9 |
| 193.248.156.___ | FR         |           5 |
| 82.34.32.___    | GB         |           1 |
| 86.180.214.___  | GB         |          11 |
| 81.108.174.___  | GB         |          12 |
| 86.11.209.___   | GB         |          13 |
| 86.150.224.___  | GB         |          15 |
| 2.102.31.___    | GB         |          17 |
| 93.152.88.___   | GB         |          18 |
| 86.178.68.___   | GB         |          19 |
| 176.248.121.___ | GB         |           2 |
| 2.97.227.___    | GB         |           2 |
| 62.49.34.___    | GB         |           2 |
| 79.64.78.___    | GB         |          20 |
| 2.126.140.___   | GB         |          22 |
| 87.114.222.___  | GB         |          23 |
| 188.29.164.___  | GB         |          24 |
| 82.11.14.___    | GB         |          26 |
| 81.168.46.___   | GB         |          29 |
| 86.136.125.___  | GB         |           3 |
| 90.199.85.___   | GB         |           3 |
| 86.177.93.___   | GB         |          31 |
| 82.32.186.___   | GB         |           4 |
| 79.68.153.___   | GB         |          46 |
| 151.226.42.___  | GB         |           6 |
| 2.123.234.___   | GB         |           6 |
| 90.217.211.___  | GB         |           6 |
| 212.159.148.___ | GB         |          68 |
| 88.111.94.___   | GB         |           7 |
| 77.98.186.___   | GB         |           9 |
| 41.222.232.___  | GH         |           4 |
| 176.63.29.___   | HU         |          30 |
| 86.47.237.___   | IE         |          10 |
| 37.46.22.___    | IE         |           4 |
| 95.83.249.___   | IE         |           4 |
| 109.79.69.___   | IE         |           6 |
| 79.176.100.___  | IL         |          13 |
| 122.175.34.___  | IN         |          19 |
| 114.143.5.___   | IN         |          26 |
| 115.112.159.___ | IN         |           4 |
| 79.62.179.___   | IT         |          11 |
| 79.53.217.___   | IT         |          19 |
| 188.216.54.___  | IT         |           2 |
| 46.44.203.___   | IT         |           2 |
| 80.86.57.___    | IT         |           2 |
| 5.170.192.___   | IT         |          27 |
| 80.23.42.___    | IT         |           3 |
| 89.249.177.___  | IT         |           3 |
| 93.39.141.___   | IT         |          31 |
| 80.183.6.___    | IT         |          34 |
| 79.25.107.___   | IT         |          35 |
| 81.208.25.___   | IT         |          39 |
| 151.57.154.___  | IT         |           4 |
| 79.60.239.___   | IT         |          42 |
| 79.47.25.___    | IT         |           5 |
| 188.216.114.___ | IT         |           7 |
| 151.31.139.___  | IT         |           8 |
| 46.185.139.___  | JO         |           9 |
| 211.180.177.___ | KR         |          22 |
| 31.214.125.___  | KW         |           2 |
| 89.203.17.___   | KW         |           3 |
| 94.187.138.___  | KW         |           4 |
| 209.59.110.___  | LC         |          18 |
| 41.137.40.___   | MA         |          12 |
| 189.211.204.___ | MX         |           5 |
| 89.98.64.___    | NL         |           6 |
| 195.241.8.___   | NL         |           9 |
| 195.1.82.___    | NO         |          70 |
| 200.46.9.___    | PA         |          30 |
| 111.125.66.___  | PH         |           1 |
| 89.174.81.___   | PL         |           7 |
| 64.89.12.___    | PR         |          24 |
| 82.154.194.___  | PT         |          12 |
| 188.48.145.___  | SA         |           8 |
| 42.61.41.___    | SG         |          25 |
| 87.197.112.___  | SK         |           3 |
| 116.58.231.___  | TH         |           4 |
| 195.162.90.___  | UA         |           5 |
| 108.185.167.___ | US         |           1 |
| 108.241.56.___  | US         |           1 |
| 198.24.64.___   | US         |           1 |
| 199.249.233.___ | US         |           1 |
| 204.8.13.___    | US         |           1 |
| 206.81.195.___  | US         |           1 |
| 208.75.20.___   | US         |           1 |
| 24.149.8.___    | US         |           1 |
| 24.178.7.___    | US         |           1 |
| 38.132.41.___   | US         |           1 |
| 63.233.138.___  | US         |           1 |
| 68.15.198.___   | US         |           1 |
| 72.26.57.___    | US         |           1 |
| 72.43.167.___   | US         |           1 |
| 74.65.154.___   | US         |           1 |
| 74.94.193.___   | US         |           1 |
| 75.150.97.___   | US         |           1 |
| 96.84.51.___    | US         |           1 |
| 96.90.244.___   | US         |           1 |
| 98.190.153.___  | US         |           1 |
| 12.23.72.___    | US         |          10 |
| 50.225.58.___   | US         |          10 |
| 64.140.101.___  | US         |          10 |
| 66.185.229.___  | US         |          10 |
| 70.63.88.___    | US         |          10 |
| 96.84.148.___   | US         |          10 |
| 107.178.12.___  | US         |          11 |
| 170.253.182.___ | US         |          11 |
| 206.127.77.___  | US         |          11 |
| 216.27.83.___   | US         |          11 |
| 72.196.170.___  | US         |          11 |
| 74.93.168.___   | US         |          11 |
| 108.60.97.___   | US         |          12 |
| 205.196.77.___  | US         |          12 |
| 63.159.160.___  | US         |          12 |
| 204.93.122.___  | US         |          13 |
| 206.169.117.___ | US         |          13 |
| 208.104.106.___ | US         |          13 |
| 65.28.31.___    | US         |          13 |
| 66.119.110.___  | US         |          13 |
| 67.84.164.___   | US         |          13 |
| 69.178.166.___  | US         |          13 |
| 71.232.229.___  | US         |          13 |
| 96.3.6.___      | US         |          13 |
| 205.214.233.___ | US         |          14 |
| 38.96.46.___    | US         |          14 |
| 67.61.214.___   | US         |          14 |
| 173.233.58.___  | US         |         141 |
| 64.251.53.___   | US         |          15 |
| 73.163.215.___  | US         |          15 |
| 24.61.176.___   | US         |          16 |
| 67.10.184.___   | US         |          16 |
| 173.14.42.___   | US         |          17 |
| 173.163.34.___  | US         |          17 |
| 104.138.114.___ | US         |          18 |
| 23.24.168.___   | US         |          18 |
| 50.202.9.___    | US         |          19 |
| 96.248.123.___  | US         |          19 |
| 98.191.183.___  | US         |          19 |
| 108.215.204.___ | US         |           2 |
| 50.198.37.___   | US         |           2 |
| 69.178.183.___  | US         |           2 |
| 74.190.39.___   | US         |           2 |
| 76.90.131.___   | US         |           2 |
| 96.38.10.___    | US         |           2 |
| 96.60.117.___   | US         |           2 |
| 96.93.6.___     | US         |           2 |
| 74.69.197.___   | US         |          21 |
| 98.140.180.___  | US         |          21 |
| 50.252.0.___    | US         |          22 |
| 69.71.200.___   | US         |          22 |
| 71.46.59.___    | US         |          22 |
| 74.7.35.___     | US         |          22 |
| 12.191.73.___   | US         |          23 |
| 208.123.156.___ | US         |          23 |
| 65.190.29.___   | US         |          23 |
| 67.136.192.___  | US         |          23 |
| 70.63.216.___   | US         |          23 |
| 96.66.144.___   | US         |          23 |
| 173.167.128.___ | US         |          24 |
| 64.183.78.___   | US         |          24 |
| 68.44.33.___    | US         |          24 |
| 23.25.9.___     | US         |          25 |
| 24.100.92.___   | US         |          25 |
| 107.185.110.___ | US         |          26 |
| 208.118.179.___ | US         |          26 |
| 216.133.120.___ | US         |          26 |
| 75.182.97.___   | US         |          26 |
| 107.167.202.___ | US         |          27 |
| 66.85.239.___   | US         |          27 |
| 71.122.125.___  | US         |          28 |
| 74.218.169.___  | US         |          28 |
| 76.177.204.___  | US         |          28 |
| 216.165.241.___ | US         |          29 |
| 24.178.50.___   | US         |          29 |
| 63.149.147.___  | US         |          29 |
| 174.66.84.___   | US         |           3 |
| 184.183.156.___ | US         |           3 |
| 50.233.39.___   | US         |           3 |
| 70.183.165.___  | US         |           3 |
| 71.178.212.___  | US         |           3 |
| 72.175.83.___   | US         |           3 |
| 74.142.22.___   | US         |           3 |
| 98.174.50.___   | US         |           3 |
| 98.251.168.___  | US         |           3 |
| 206.74.148.___  | US         |          30 |
| 24.131.201.___  | US         |          30 |
| 50.80.199.___   | US         |          30 |
| 69.251.49.___   | US         |          30 |
| 108.6.53.___    | US         |          31 |
| 74.84.229.___   | US         |          31 |
| 172.250.78.___  | US         |          32 |
| 173.14.75.___   | US         |          32 |
| 216.201.55.___  | US         |          33 |
| 40.130.243.___  | US         |          33 |
| 164.58.163.___  | US         |          34 |
| 70.182.187.___  | US         |          35 |
| 184.170.168.___ | US         |          37 |
| 198.46.110.___  | US         |          37 |
| 24.166.234.___  | US         |          37 |
| 65.34.19.___    | US         |          37 |
| 75.146.12.___   | US         |          37 |
| 107.199.135.___ | US         |          38 |
| 206.193.215.___ | US         |          38 |
| 50.254.150.___  | US         |          38 |
| 69.54.48.___    | US         |          38 |
| 172.8.30.___    | US         |           4 |
| 24.106.124.___  | US         |           4 |
| 65.127.169.___  | US         |           4 |
| 71.227.65.___   | US         |           4 |
| 71.58.72.___    | US         |           4 |
| 74.9.236.___    | US         |           4 |
| 12.166.108.___  | US         |          40 |
| 174.47.56.___   | US         |          40 |
| 66.76.176.___   | US         |          40 |
| 76.111.90.___   | US         |          41 |
| 96.10.70.___    | US         |          41 |
| 97.79.226.___   | US         |          41 |
| 174.79.117.___  | US         |          42 |
| 70.138.178.___  | US         |          42 |
| 64.233.225.___  | US         |          43 |
| 97.89.203.___   | US         |          43 |
| 12.28.231.___   | US         |          44 |
| 64.235.157.___  | US         |          45 |
| 76.110.237.___  | US         |          45 |
| 71.196.10.___   | US         |          46 |
| 173.167.177.___ | US         |          49 |
| 24.7.92.___     | US         |          49 |
| 68.187.225.___  | US         |          49 |
| 184.75.77.___   | US         |           5 |
| 208.91.186.___  | US         |           5 |
| 71.11.113.___   | US         |           5 |
| 75.151.112.___  | US         |           5 |
| 98.189.112.___  | US         |           5 |
| 69.170.187.___  | US         |          51 |
| 97.64.182.___   | US         |          51 |
| 24.239.92.___   | US         |          52 |
| 72.211.28.___   | US         |          53 |
| 66.179.44.___   | US         |          54 |
| 66.188.47.___   | US         |          55 |
| 64.60.22.___    | US         |          56 |
| 73.1.95.___     | US         |          56 |
| 75.140.143.___  | US         |          58 |
| 24.199.140.___  | US         |          59 |
| 216.240.53.___  | US         |           6 |
| 216.26.16.___   | US         |           6 |
| 50.242.1.___    | US         |           6 |
| 65.83.137.___   | US         |           6 |
| 68.119.102.___  | US         |           6 |
| 68.170.224.___  | US         |           6 |
| 74.94.231.___   | US         |           6 |
| 96.64.21.___    | US         |           6 |
| 71.187.41.___   | US         |          60 |
| 184.177.173.___ | US         |          61 |
| 75.71.114.___   | US         |          61 |
| 75.82.232.___   | US         |          61 |
| 97.77.161.___   | US         |          63 |
| 50.154.213.___  | US         |          65 |
| 96.85.169.___   | US         |          67 |
| 100.33.70.___   | US         |          68 |
| 98.100.71.___   | US         |          68 |
| 24.176.214.___  | US         |          69 |
| 74.113.89.___   | US         |          69 |
| 204.116.101.___ | US         |           7 |
| 216.216.68.___  | US         |           7 |
| 65.188.191.___  | US         |           7 |
| 69.15.165.___   | US         |           7 |
| 74.219.118.___  | US         |           7 |
| 173.10.219.___  | US         |          71 |
| 97.77.209.___   | US         |          72 |
| 173.163.236.___ | US         |          73 |
| 162.210.13.___  | US         |          79 |
| 12.236.19.___   | US         |           8 |
| 208.180.242.___ | US         |           8 |
| 24.221.97.___   | US         |           8 |
| 40.132.97.___   | US         |           8 |
| 50.79.227.___   | US         |           8 |
| 64.130.109.___  | US         |           8 |
| 66.80.57.___    | US         |           8 |
| 74.68.130.___   | US         |           8 |
| 74.70.242.___   | US         |           8 |
| 96.80.61.___    | US         |          81 |
| 74.43.153.___   | US         |          83 |
| 208.123.153.___ | US         |          85 |
| 75.149.238.___  | US         |          87 |
| 96.85.138.___   | US         |          89 |
| 208.117.200.___ | US         |           9 |
| 208.68.71.___   | US         |           9 |
| 50.253.180.___  | US         |           9 |
| 50.84.132.___   | US         |           9 |
| 63.139.29.___   | US         |           9 |
| 70.43.78.___    | US         |           9 |
| 74.94.154.___   | US         |           9 |
| 50.76.82.___    | US         |          94 |
+—————–+————+————-+
[/code]

Tabuľka s počtom unikátnych IP adries použitých na prihlásenie pre jednotlivé štáty:

[code language=“sql“]
+——–+
| 214 US |
| 28 GB  |
| 17 IT  |
| 15 ES  |
| 15 CA  |
|  8 DE  |
|  4 IE  |
|  3 KW  |
|  3 IN  |
|  3 CZ  |
|  2 NL  |
|  1 UA  |
|  1 TH  |
|  1 SK  |
|  1 SG  |
|  1 SA  |
|  1 PT  |
|  1 PR  |
|  1 PL  |
|  1 PH  |
|  1 PA  |
|  1 NO  |
|  1 MX  |
|  1 MA  |
|  1 LC  |
|  1 KR  |
|  1 JO  |
|  1 IL  |
|  1 HU  |
|  1 GH  |
|  1 FR  |
|  1 EC  |
|  1 DK  |
|  1 CR  |
|  1 CO  |
|  1 CN  |
|  1 CH  |
|  1 BE  |
|  1 AU  |
|  1 AR  |
|  1 AO  |
+——–+
[/code]

Z tejto analýzy sa nám ponúka viacero možností ako zakročiť voči spamerom:

  1. Obmedziť počet unikátnych IP adries, z ktorých sa používateľ prihlasuje na svoj účet.
  2. Obmedziť počet unikátnych krajín (zistených cez geolokáciu IP adresy), z ktorých sa pripája používateľ.

Blokovanie botnetu

Používatelia sú počas dňa mobilní, pripájajú sa na rôzne wifi, pevné, mobilné, VPN pripojenia a potrebujú mať povolený vyšší počet IP adries, aby nebol mylne zablokovaný relevantný používateľ. Čo sa týka druhej možnosti, do nej spadajú používatelia, ktorí používajú VPN pripojenia alebo cestujú, tu ako parameter maximálneho počtu krajín z ktorých sa pripájajú je postačujúce zvoliť menšie číslo ako v prvej možnosti. Prvá možnosť s vhodne nastaveným parametrom počtu unikátnych IP adries na prihlásenie používateľa aj druhá možnosť s vhodne nastaveným parametrom počtu unikátnych krajín z ktorých sa používateľ prihlásil sú vhodné na použitie, poprípade môžu byť skombinované.

Pre náš prístup sme sa rozhodli použiť druhú možnosť, a to zablokovať používateľov ktorí sa cez sasl autentifikáciu prihlasujú z viac ako N štátov podľa geografickej lokácie IP adresy. Táto voľba jasne indikuje, že klientov účet bol kompromitovaný a my môžme správy z tohoto účtu zablokovať a upozorniť klienta, že pre ďalšie používanie je nutné si zmeniť prihlasovacie heslo.

Ako parameter počtu unikátnych štátov, z ktorých sa používateľ prihlasuje sme v produkcii zvolili hodnotu 5 (teda používateľ po prihlásení zo 6 a viac štátov bude blokovaný) a zabezpečili sme, aby sa záznamy staršie ako 1 deň premazávali. Počas testovania sme spozorovali, že žiadny používateľ nepoužil na prihlasovanie IP adresy z viac ako 2 rôznych štátov. Ak by sa vyskytol používateľ, ktorý napríklad cestuje a počas dňa sa mu menia IP adresy pre mobilné pripojenie, jeho prípad ošetrí premazávanie databázy, takže ak nevystrieda za deň IP adresy zo 6 a viac rôznych štátov, nebude blokovaný.

Na finálne zlikvidovanie spamera je ale potrebné zmeniť používateľovi heslo. Po identifikácii kompromitovaného účtu sa používateľ stále môže prihlásiť do schránky, avšak nemôže odosielať správy. Na jeho schránku je automaticky cez postfwd odoslaný mail, že jeho účet je kompromitovaný a má si zmeniť heslo, čo môže vo VNETe cez webmaily Squirrel a Roundcube. Po zmene hesla sa údaje o blokovaní pre jeho mailovú adresu z databázy automaticky odstránia a používateľ môže opäť odosielať správy.

Technickú realizáciu sme vykonali cez program postfwd, kde sme implementovali vlastný plugin. Program postfwd je napísaný v jazyku Perl a dovoľuje pridávať rôzne filtre a akcie prostredníctvom pluginov, ktoré sa potom môžu aktivovať v konfiguračnom súbore. Plugin sme zverejnili na našom verejnom firemnom repozitári na serveri github – postfwd-anti-spam-plugin, odkiaľ je možné si ho prevziať a použiť. Návod na inštaláciu a použitie sa nachádza priamo v repozitári.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Close