Registe-se no fórum e esteja a par dos tutoriais dos jogos.
Também pode dar ideias de design, entre outros !
Regista-te já e chama amigos !
Últimos assuntos
» HemeraMt2 - Servidor Privado
por Boss Dom Out 05, 2014 12:11 pm

» LusitanosMt2
por Boss Dom Out 05, 2014 12:10 pm

» HeroM2 - Servidor Privado
por Boss Dom Out 05, 2014 12:05 pm

[Tut]Block Ddos Attacks In Freebsd

Ir em baixo

[Tut]Block Ddos Attacks In Freebsd

Mensagem por Boss em Sab Fev 09, 2013 7:35 pm

Hello everybody,
Today i will post one tutorial, how to block ddos attacks in your freebsd.
Do not know if already posted, have not tried, are huge topics, but this works great!
First we turn on the firewall (firewall) and we add the following lines to your rc.conf* which is located in the file

Now let's configure the firewall, so let's /etc/pf.conf and open it with a text editor we use and add the following lines:

block in all
pass in quick on lo0
pass out quick on lo0
table <bloqueo> persist file "/var/db/antiddos(chamamos-lo como quiser eu dei o nome de antiddos.)"
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
Thus, block inputs.

Now let's create "antiddos" (or whatever name you chose) and, therefore, give the following permission:

touch /var/db/antiddos
chmod 644 /var/db/antiddos

Now let's create the script for that call blocking and give you permission to save chmod 751:


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);


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 "") {

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";

Now let /etc/syslog.conf and open it for editing and add the following line:

auth.info;authpriv.info                                          | exec /usr/bin/perl /sbin/bloqueo.pl
thereby running the script to block external ips.

I hope you have learned.*
Work perfectly.

Source: universojuegos, cybergamers
Credit: DjZed, Rancoroso
Translated by Tiago

Mensagens Mensagens : 31
Dinheiro : 7262
Agradecimentos Agradecimentos : 5
Data de inscrição Data de inscrição : 19/04/2012
Idade Idade : 26
Localização Localização : Portugal

Ver perfil do usuário http://mt2tutoriais.criar-forum.com

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum