minecrafttr aramıza katil!
batihost minecraft server kirala
Satın Al
MinecraftTR Reklam Alanı
Satın Al
Satın Al
Satın Al

Paylaşım MINECRAFT | Linux sunucular için "FIREWALL"

Yeni bir Steve doğdu!
Katılım
20 Temmuz 2018
Mesajlar
1
Tepki puanı
2
Puanları
0
Discord
Merhaba herkese ilk konumu böyle açmak nasip oldu. Erkan Abi'nin ricası üzerine, işinizi görebilecek bir "FIREWALL"ı sizlerle paylaşıyorum.
Lütfen açıklamaları iyi okuyun. İyi forumlar.




Kod:
# DIKKAT! %100 koruma vaat etmesemde, sunucunuza gelen ufak çaplı saldırıları engelleyeceğini düşünüyorum
# Lütfen benden destek vs. beklemeyin çünkü veremeyecek kadar yoğunum. Kendi başınızın çaresine bakın.
# Sağdan soldan araştıra araştıra, bata çıka, biriktirdiğim tecrübelerle bu firewall'ı oluşturdum.
# Evet bazı yerleri hatta belki çoğu yeri alıntı olabilir. Sonuç olarak iş görüyor.
# Kötü yorumlarınızı kendinize saklayın.
# Sevgiler. <3


ipset=/sbin/ipset
iptables=/sbin/iptables
route=/etc/acl
zone=zones

wgetd="wget -q -c --retry-connrefused -t 0"

if [ ! -d $zone ]; then mkdir -p $zone; fi
        echo "Ülke IP Adresleri indiriliyor."
        $wgetd http://www.ipdeny.com/ipblocks/data/countries/all-zones.tar.gz && tar -C $zone -zxvf all-zones.tar.gz >/dev/null 2>&1 && rm -f all-zones.tar.gz >/dev/null 2>&1


# Lütfen sunucu portunuzu girin.
port=25565


# Linux (SSH) saldırıları engellensin mi? Bir çok saldırıyı engelleyebilir.
block_linux_connections=true

limit_global_connections=true
limit_global_connections_max=300
burstconns=15
timeout=900

# Beyaz listeye alınan ülkeler her zaman bağlanabilecek.
# Beyaz listede olmayanlar ise bazen sorun yaşabilir.
# Yararlı Komutlar:
# sudo ipset flush whitelist
# sudo ipset flush proxies
#
echo "IPSet hazırlanıyor."
$ipset -F
$ipset -N -! proxies hash:net maxelem 150000 timeout $timeout
$ipset -N -! whitelist hash:net maxelem 1000000
# Beyaz listeye alınan ülkeler.
for ip in $(cat $zone/{tr,az,cy,gb}.zone); do
  $ipset -A whitelist $ip
done

# Bot Önlemi İçin Kurallar:

# Tablo Oluşturma:
$iptables -N BotKoruma
$iptables -F BotKoruma

# Maximum Bağlantı Sayısı Kontrol Etme:
$iptables -A BotKoruma -p tcp --dport $port -m set --match-set proxies src -j DROP
$iptables -A BotKoruma -p tcp --dport $port -m set --match-set whitelist src -j ACCEPT
$iptables -A BotKoruma -p tcp --dport $port --syn -m limit --limit $burstconns/s -j ACCEPT
$iptables -A BotKoruma -p tcp --dport $port --syn -j DROP

# Kendi eklediğim ve önemli gördüğüm kurallar.
# Lütfen kendi sunucu IP adresinizide aşşağıya eklemeyi unutmayın.
# $iptables -I OUTPUT -p tcp -d SUNUCUIPADRESI -j ACCEPT
# Toksik olan ülkeler aşşağıda engellenmiştir. Kendinize göre düzenleyebilirsiniz.
$iptables -D INPUT -p tcp -j BotKoruma
$iptables -A INPUT -p tcp -j BotKoruma
$iptables -A INPUT -p tcp -m tcp --syn --tcp-option 8 --dport 25565 -j REJECT
$iptables -I INPUT -p tcp -s 149.202.74.183 -j ACCEPT
$iptables -I OUTPUT -p tcp -d 149.202.74.183 -j ACCEPT
$iptables -I INPUT -p tcp -s 178.32.62.55 -j ACCEPT
$iptables -I OUTPUT -p tcp -d 178.32.62.55 -j ACCEPT
$iptables -I INPUT -p tcp -s 37.187.63.146 -j ACCEPT
$iptables -I OUTPUT -p tcp -d 37.187.63.146 -j ACCEPT
$iptables -I INPUT -p tcp -s 92.222.160.58 -j ACCEPT
$iptables -I INPUT -p tcp -s 5.196.10.200 -j ACCEPT
$iptables -I OUTPUT -p tcp -d 5.196.10.200 -j ACCEPT
$iptables -I OUTPUT -p tcp -d 92.222.160.58 -j ACCEPT
$iptables -A INPUT -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
$iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -j DROP
$iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
$iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
$iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
$iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$iptables -A OUTPUT -p udp -j DROP
$ip6tables -A OUTPUT -p udp -j DROP
$iptables -A INPUT -p tcp --destination-port 8080 -j DROP
$iptables -t mangle -A PREROUTING -p tcp ! --syn -m conntrack --ctstate NEW -j DROP
$iptables -A INPUT -p tcp --tcp-flags SYN,ECN,CWR -j DROP
if $block_linux_connections ; then
    $$iptables -A INPUT -p tcp -m tcp --syn --tcp-option 8 --dport $port -j REJECT
    echo 'Linux bağlantıları engellendi!'
fi

if $limit_global_connections ; then
    $iptables -I INPUT -p tcp --dport $port -m state --state NEW -m limit --limit $limit_global_connections_max/s -j ACCEPT
    echo 'Global bağlantılar limitlendi!'
fi

echo "Firewall kurulumu tammalandı."
 
Who let the dogs out!
Kurumsal Üye
Onaylı Hosting
Katılım
28 Mayıs 2018
Mesajlar
660
En iyi cevaplar
1
Tepki puanı
1,207
Puanları
1,310
Discord
Teşekkürler Yekcan.
 
Seçkin madenci.
Katılım
27 Ekim 2019
Mesajlar
617
Tepki puanı
212
Puanları
1,205
Discord
ChefEternal#1780
Elinize sağlık.
 

Üst