[SECURITY] FreeBSD DDoS Firewall

Avatar utilizator
T.Radu
Nou Venit

Nou Venit
Mesaje: 47
Membru din: 14 Noi 2015, 03:34
Regat: Jinno
Aprecieri: 55  
Mulţumiri: 134  
 Contact:
Medalii

In primul rand trebuie sa intelegem ce inseamna DDOS, cuvantul "DDoS" sunt defapt initialele de la (A Distributed Denial of Service) mai exact trimiterea unor pachete catre server pana serverul nu mai poate procesa informatiile primite si pica!
Pentru cine nu are perl instalat, este foarte simplu de instalat

Cod: Selectaţi tot

cd /usr/ports/lang/perl5.16 && make install clean
si folositi comanda:

Cod: Selectaţi tot

perl -v 


Primul pas ca sa evitam aceasta situatie este sa activam firewalul din freebsd pentru asta trebuie sa intrati in /etc/rc.conf
si sa adaugati urmatoarele linii

Cod: Selectaţi tot

pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""

Pasul urmator este sa intram in /etc/pf.conf si sa adaugam urmatoarea linie

Cod: Selectaţi tot

block in all
pass in quick on lo0
pass out quick on lo0
table <block> persist file "/var/db/[i]security[/i]"
block quick from <bloqueo>
pass in quick on sis0 proto tcp from any to any port 22 keep state
pass in quick on sis0 proto tcp from any to any port 80 keep state
pass in quick on sis0 proto tcp from any to any port 3690 keep state
pass out all keep state
Numele fisierului se poate schimba dupa preferinta voastra, eu am ales sa pun numele "Security".

Acum trebuie sa creem fisierul "security" si sa setam permisiunile 644, asa ca ne ajutam de urmatoarele comenzi.

Cod: Selectaţi tot

touch /var/db/security
chmod 644 /var/db/security
Mai apoi creem un fisier numit 'security.pl' in '/var/db' in care adaugam urmatoarea linie de cod si il salvam cu permisiunea 751

Cod: Selectaţi tot

#!/usr/bin/perl

use strict;

my @assholes = ();

open (IN, "/var/log/auth.log");
while (<IN>) {
            if ($_ =~ /Invalid user.*from ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/) {
                            push(@assholes, $1);
            }
            if ($_ =~ /Did not receive identification string from ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/) {
                            push(@assholes, $1);
            }
}
close (IN);

@assholes = sort {lc($a) cmp lc($b)} @assholes;

my @allowedIPs = ();
open (IN, "/var/db/allowed-ips");
while (<IN>) {
            if ($_ =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) {
                            push(@allowedIPs, $_);
            }
}
close (IN);

chop(@allowedIPs);

my $tmp = "";
foreach my $asshole (@assholes) {
            if ($asshole eq $tmp) {
                            $asshole = "";
            } else {
                            if ($asshole =~ /127\.0\.0\.1/) {
                                            $asshole = "";
                            }
                            if ($asshole =~ /192\.168\.[0-9]+\.[0-9]+/) {
                                            $asshole = "";
                            }
                            foreach my $allowedIP (@allowedIPs) {
                                            if ($asshole =~ /$allowedIP/) {
                                                            $asshole = "";
                                            }
                            }
                            $tmp = $asshole;
            }
}

@assholes = sort {lc($b) cmp lc($a)} @assholes;

my $popCount = 0;
foreach my $asshole (reverse @assholes) {
            if ($asshole eq "") {
                            $popCount++;
            }
}

for (my $i = 0; $i < $popCount; $i++) {
            pop (@assholes);
}

my $list = "";
foreach my $asshole (@assholes) {
            $list = $list . $asshole . " ";
}

exec "/sbin/pfctl -t bloqueo -T add $list";
pentru setarea permisiunii folositi comanda

Cod: Selectaţi tot

chmod 751 security.pl
Mai apoi intrati in /etc/syslog.conf si inserati urmatoarea linie

Cod: Selectaţi tot

auth.info;authpriv.info 
Dupa toate astea trebuie sa restartati serverul, si totul va fi configurat si gata de utilizare. Protectia aceasta asigura o rezistenta de pana la 50.000 pachete trimise de la 500mb /s in jos ! Success !
Ultima oară modificat 28 Aug 2016, 14:59 de către T.Radu, modificat 1 dată în total.
Avatar utilizator
hamasoul
Nivel 5

Nivel 5
Mesaje: 758
Membru din: 03 Iun 2015, 19:38
Server: N-am
Regat: Chunjo
Aprecieri: 31  
Mulţumiri: 59  
Medalii

E bună protecția, o recomand cu căldură.
Avatar utilizator
[r00t1ng]
Dau de pică netu'

Dau de pică netu'
Mesaje: 1005
Membru din: 09 Aug 2013, 21:30
Server: Tenerife2.net
Regat: Jinno
Aprecieri: 366  
Mulţumiri: 173  
 Contact:
Medalii

SĂ ZICEM CĂ ESTE BUNA, LA ATACURILE FOARTE SLABE .
DAR 99 % ŢINE DE FIRMA DE HOSTING :) .
Imagine
Afișează semnătura
Avatar utilizator
T.Radu
Nou Venit

Nou Venit
Mesaje: 47
Membru din: 14 Noi 2015, 03:34
Regat: Jinno
Aprecieri: 55  
Mulţumiri: 134  
 Contact:
Medalii

[#RooT] scrie:SĂ ZICEM CĂ ESTE BUNA, LA ATACURILE FOARTE SLABE .
DAR 99 % ŢINE DE FIRMA DE HOSTING :) .
Depinde foarte mult si de metoda folosita in atack, intr-adevar firma de hosting ofera firewal hardware care face o filtrare mult Mai buna a pachetelor. Dar si firewalurile software isi spun cuvantul. Ideea e ca au alt impact pe masinile virtuale acest firewall. Recomandat este sistem dedicat cu un minim hardware.

[ Postat de pe iPhone ] Imagine
Avatar utilizator
hamasoul
Nivel 5

Nivel 5
Mesaje: 758
Membru din: 03 Iun 2015, 19:38
Server: N-am
Regat: Chunjo
Aprecieri: 31  
Mulţumiri: 59  
Medalii

T.Radu scrie:
[#RooT] scrie:SĂ ZICEM CĂ ESTE BUNA, LA ATACURILE FOARTE SLABE .
DAR 99 % ŢINE DE FIRMA DE HOSTING :) .
Depinde foarte mult si de metoda folosita in atack, intr-adevar firma de hosting ofera firewal hardware care face o filtrare mult Mai buna a pachetelor. Dar si firewalurile software isi spun cuvantul. Ideea e ca au alt impact pe masinile virtuale acest firewall. Recomandat este sistem dedicat cu un minim hardware.

[ Postat de pe iPhone ] Imagine
Ai testat-o ca am aplicat-o pe VPS, acel fisier security normal fara extensie are rolul de inregistra logurile atacurilor,nu ?
Avatar utilizator
Luca Dr3Ame3r Cristian
Membru Club

Membru Club
Mesaje: 333
Membru din: 09 Noi 2015, 03:03
Server: /dev/pf
Regat: Jinno
Aprecieri: 20  
Mulţumiri: 32  
Medalii

[#RooT] scrie:SĂ ZICEM CĂ ESTE BUNA, LA ATACURILE FOARTE SLABE .
DAR 99 % ŢINE DE FIRMA DE HOSTING :) .
PF,IPFW,IPF configurate corespunzător folosindu-te de WebMin pot suporta până la 650kpp/s, ceea ce este ingrozitor de mult.
Dacă ai un XEON cu 8 core şi 16 gb ram, te poţi gândi că se duce într-un milion de pachete pe secundă. Depinde foarte mult de configuraţia hardware si de limitările impuse în firewall.
Spre exemplu dacă ai

Cod: Selectaţi tot

net.inet.ip.fw.dyn_max=65536
, la 65536 reguli instalate anti ddos începe să dea erori si face null0 firewall-ul software.


De atacuri mai poţi scăpa şi cu pf folosindu-te de

Cod: Selectaţi tot

pfctl -t abusive_hosts -T add ip.ip.ip.ip
sau de

Cod: Selectaţi tot

tcpdrop -l -a | grep ip.ip.ip.ip
folosindu-ne de tcpdrop -l să vedem conexiunile în server
sau de

Cod: Selectaţi tot

iftop
plus

Cod: Selectaţi tot

trafshow
.
Imagine
ImagineImagine
Afișează semnătura
Avatar utilizator
legendametin2
Nivel 2

Nivel 2
Mesaje: 159
Membru din: 16 Iul 2014, 18:37
Server: www.metin2legacy.biz
Regat: Jinno
Aprecieri: 0
Mulţumiri: 10  
Discord: https://discord.gg/YRbZ7WXE" id="input807207" style="display:none;">Copiază ID
 Contact:
Medalii

Salut cat imi iei sa mio instalezi si mie trimitemi mesaj la numarul de telefon 0758 151 465 platesc paypal!
Răspunde

Înapoi la “Securitate și protecție hackuri”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori