[SECURITY] FreeBSD DDoS Firewall

Ghiduri şi tutoriale despre cum să vă îmbunătăţiţi serverul/clientul dv. de metin2.
Deconectat
Avatar utilizator
T.Radu
Nou Venit
Nou Venit
Mesaje: 40
Membru din: 14 Noi 2015
Localitate: Bucuresti
Status: Security Analyser
Regat: Jinno
Mulțumiri acordate: 1
Mulțumiri primite: 0
Contact:

[SECURITY] FreeBSD DDoS Firewall

Mesajde T.Radu » 28 Aug 2016, 02:47

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!

Ascunde conținutul
Trebuie să fii înregistrat sau logat pentru a vedea acest conținut.


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.

Deconectat
Avatar utilizator
hamasoul
Mister Just4Metin
Mister Just4Metin
Mesaje: 720
Membru din: 03 Iun 2015
Status: Sunt bine mersi ^.^
Server Metin2: N-am
Regat: Chunjo
Mulțumiri acordate: 27
Mulțumiri primite: 37

Re: Blocare atacuri de tip DDOS (FreeBSD)

Mesajde hamasoul » 28 Aug 2016, 12:51

E bună protecția, o recomand cu căldură.

Deconectat
Avatar utilizator
[r00t1ng]
r00t1ng
r00t1ng
Mesaje: 237
Membru din: 09 Aug 2013
Localitate: /usr/r00t
Status: Originaliatea in persoană !
Server Metin2: Smecherie 2017
Regat: Jinno
Mulțumiri acordate: 12
Mulțumiri primite: 13
Contact:

Re: [SECURITY] FreeBSD DDoS Firewall

Mesajde [r00t1ng] » 29 Aug 2016, 06:13

SĂ ZICEM CĂ ESTE BUNA, LA ATACURILE FOARTE SLABE .
DAR 99 % ŢINE DE FIRMA DE HOSTING :) .

Deconectat
Avatar utilizator
T.Radu
Nou Venit
Nou Venit
Mesaje: 40
Membru din: 14 Noi 2015
Localitate: Bucuresti
Status: Security Analyser
Regat: Jinno
Mulțumiri acordate: 1
Mulțumiri primite: 0
Contact:

Re: [SECURITY] FreeBSD DDoS Firewall

Mesajde T.Radu » 29 Aug 2016, 23:06

[#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

Deconectat
Avatar utilizator
hamasoul
Mister Just4Metin
Mister Just4Metin
Mesaje: 720
Membru din: 03 Iun 2015
Status: Sunt bine mersi ^.^
Server Metin2: N-am
Regat: Chunjo
Mulțumiri acordate: 27
Mulțumiri primite: 37

Re: [SECURITY] FreeBSD DDoS Firewall

Mesajde hamasoul » 08 Sep 2016, 22:36

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 ?

Deconectat
Avatar utilizator
Luca Dr3Ame3r Cristian
Utilizator interzis !
Utilizator interzis !
Mesaje: 288
Membru din: 09 Noi 2015
Localitate: Bucureşti
Reputație: Just Chillin'
---------------------------------------
► Support Tehnic
► Proiectarea, instalarea şi administrarea infrastructurii de reţea
► Asigurarea funcţionalităţii reţelei de calculatoare şi a echipamentelor de conectare şi de comunicaţii
► Interconectarea reţelelor şi accesul la reţeaua globală Internet
► Proiectarea şi aplicarea strategiei de securitate a reţelei
► Instruirea şi asistarea clientilor nostrii
► BTS Telecom
► Configurări sisteme Operare
► Administrator Servere
► Management Securitate
► Certified System Administrator
► Deţinător certificate CCNA,1,2,3,4& CCNA Sec
► Deţinător Certificat CompTIA+
► Deţinător Certificat ORACLE
---------------------------------------
Topic: arhiva-pub/games-security-t34107.html
Playlist: https://www.youtube.com/playlist?list=P ... Pn0dsXtsMg
Status: /var/tmp
Server Metin2: /dev/pf
Regat: Jinno
Mulțumiri acordate: 3
Mulțumiri primite: 15

Re: [SECURITY] FreeBSD DDoS Firewall

Mesajde Luca Dr3Ame3r Cristian » 09 Sep 2016, 09:37

[#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
.
ImagineImagine
ImagineImagine
ImagineImagine


Înapoi la “Ghiduri şi Tutoriale”

Cine este conectat

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