Witam. Mam parę problemów z moim VPS a że nie jestem alfa i omegą postanowiłem się Was poradzić. Pierwszym podstawowym problemem jest to że po restarcie VPS moje Iptables jest puste i mam wszystkie porty otwarte. Wczoraj miałem 20% packet loos na całym Ts3 [DDOS]. Normalnie w konsole wklejam cały skrypt:
#!/bin/bash
# czyścimy wszystko
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter
if [ \"$1\" = \"stop\" ]
then
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
exit
fi
# ustalamy domyślną politykę dla filtrów
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# pełny ruch na interfejsie lo (potrzebne do działania wielu lokalnych usług)
iptables -A INPUT -i lo -j ACCEPT
# odrzucamy ident
iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable
# ochrona przed atakami
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j LOG --log-prefix \"Ping: \"
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT # Ping of death
# iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT --reject-with icmp-host-unreachable
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j LOG --log-prefix \"ACK scan: \"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP # Metoda ACK (nmap -sA)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j LOG --log-prefix \"FIN scan: \"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP # Skanowanie FIN (nmap -sF)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH PSH -j LOG --log-prefix \"Xmas scan: \"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP # Metoda Xmas Tree (nmap -sX)
iptables -A INPUT -m conntrack --ctstate INVALID -p tcp ! --tcp-flags SYN,RST,ACK,FIN,PSH,URG SYN,RST,ACK,FIN,PSH,URG -j LOG --log-prefix \"Null scan: \"
iptables -A INPUT -m conntrack --ctstate INVALID -p tcp ! --tcp-flags SYN,RST,ACK,FIN,PSH,URG SYN,RST,ACK,FIN,PSH,URG -j DROP # Skanowanie Null (nmap -sN)
# Łańcuch syn-flood (obrona przed DoS)
iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j LOG --log-prefix \"SYN-flood: \"
iptables -A syn-flood -j DROP
# pozwalamy na wszystkie istniejące już połączenia oraz połączenia które są powiązane z >istniejącymi już połączeniami
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Teamspeak 3
iptables -A INPUT -m state --state NEW -p udp --dport 9987 -j ACCEPT
# Server Query
iptables -A INPUT -m state --state NEW -p tcp --dport 10011 -j ACCEPT
# FTP
iptables -A INPUT -m state --state NEW -p tcp --dport 30033 -j ACCEPT
# TSDNS
iptables -A INPUT -m state --state NEW -p tcp --dport 41144 -j ACCEPT
# Teamspeak 3 Licencja
iptables -A INPUT -m state --state NEW -p tcp --dport 2008 -j ACCEPT
# PORTY PONIŻEJ 1024: ssh, http, https
iptables -A INPUT -m state --state NEW -m multiport -p tcp --dports 22 -j ACCEPT
Jak zrobić aby ten skrypt uruchamiał się ze startem systemu? Lub aby te reguły się nie usuwały. Drugą sprawą jest TS3AudioBot. Normalnie muszę uruchomić screen i "mono TS3 AudioBot.exe". Czy jest możliwość zrobienia autostartu do tego bota? No i ABot. ABot startuje normalnie z root ./run start . Jest to sporym utrudnieniem dla mnie bo dostęp do maszyny mam tylko ja, jak wywali serwer lub zrobię restart to muszę boty włączać ręcznie. Dużym ułatwieniem było by zautomatyzowanie tego procesu.