Konfiguracja IPTABLES - kilka po

Konfiguracja serwerów, usług, itp.
domell98
Posty: 11
Rejestracja: 15 marca 2014, 13:30

Konfiguracja IPTABLES - kilka połączeń z jednym portem

Post autor: domell98 »

Witam,
zabezpieczam swoją maszynę według tego LINK i mam mały problem. Problem polega na tym, że na maszynie stoi serwer teamspeak, dodałem reguły dla teamspeaka i działa łączenie z teamspeak tylko że można się połączyć raz z jednego ip. Wiecie może jaką regułe muszę dodać aby można się było łączyć z tym portem np. 3 razy albo bez ograniczeń z jednego ip?
Awatar użytkownika
dedito
Moderator
Posty: 3588
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Post autor: dedito »

1. Wklej tu swojego firewalla bo ciężko coś bez tego zdiagnozować. Wynik polecenia:

Kod: Zaznacz cały

iptables -nvL
2. Sprawdź w konfiguracji teamspeak czy tam nie limitujesz ilości połączeń.
domell98
Posty: 11
Rejestracja: 15 marca 2014, 13:30

Post autor: domell98 »

Znaczy się gdy wyłącze firewall ten skrypt to wszystko jest ok, można się łączyć do woli. W tej chwili mam wyłączony bo ludzie nie mogą niektórzy wbić i nie można botów muzycznych na ts-a podłączać
A to skrypt którego używam:
#!/bin/sh

# Start firewall'a:
firewall_start() {
echo "Starting firewall"
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -F
iptables -F -t nat
iptables -A INPUT -i lo -j ACCEPT
# iptables -A FORWARD -i eth1 -o eth0 -s 10.0.0.0/24 -d 0/0 -j ACCEPT
# iptables -A FORWARD -i eth0 -o eth1 -s 0/0 -d 10.0.0.0/24 -j ACCEPT
# iptables -A POSTROUTING -t nat -s 10.0.0.0/24 -d 0/0 -j MASQUERADE
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22
-j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

#dhcp
iptables -A INPUT -p udp --dport 67 -j ACCEPT

#ftp
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p udp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 65500:65535 -j ACCEPT
iptables -A INPUT -p udp --dport 65500:65535 -j ACCEPT

#www
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

#torrent
# iptables -A INPUT -p tcp --dport 6881:6883 -j ACCEPT
# iptables -A INPUT -p udp --dport 6881:6883 -j ACCEPT

#teamspeak
# iptables -A INPUT -p tcp --dport 9987 -j ACCEPT
# iptables -A INPUT -p udp --dport 9987 -j ACCEPT

#teamspeak telnet
# iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
# iptables -A INPUT -p udp --dport 10000 -j ACCEPT

# OpenTTDX
# iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 3979 -j DNAT --to-destination 10.0.0.3:3979
# iptables -t nat -A PREROUTING -p udp -i eth0 --dport 3979 -j DNAT --to-destination 10.0.0.3:3979

# SSH Forward
# iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 777 -j DNAT --to-destination 10.0.0.3:22

# WWW Forward
# iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 10.0.0.3:80

# Torrent
# iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 800 -j DNAT --to-destination 10.0.0.3:800
# iptables -t nat -A PREROUTING -p udp -i eth0 --dport 800 -j DNAT --to-destination 10.0.0.3:800
# iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 801 -j DNAT --to-destination 10.0.0.3:801
# iptables -t nat -A PREROUTING -p udp -i eth0 --dport 801 -j DNAT --to-destination 10.0.0.3:801

ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT DROP
ip6tables -F
}

# Stop firewall'a:
firewall_stop() {
echo "Stopping firewall"
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -F
iptables -F -t nat
ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT DROP
ip6tables -F
}

# Otwarcie firewall'a:
firewall_open() {
echo "Opening firewall"
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -F
iptables -F -t nat
ip6tables -P INPUT ACCEPT
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT ACCEPT
ip6tables -F
}

# Restart firewall'a:
firewall_restart() {
firewall_stop
sleep 1
firewall_start
}

case "$1" in
'start')
firewall_start
;;
'stop')
firewall_stop
;;
'open')
firewall_open
;;
'restart')
firewall_restart
;;
*)
echo "usage rc.firewall: start|stop|open|restart"
esac
Awatar użytkownika
dedito
Moderator
Posty: 3588
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Post autor: dedito »

Ok skrypt też coś daje ale wynik polecenia podanego w poprzednim poście też potrzebuję.
W tym skrypcie nie masz odchaszowanych regułek teamspeaka.
Na jakim porcie działa ten teamspeak?
domell98
Posty: 11
Rejestracja: 15 marca 2014, 13:30

Post autor: domell98 »

Ts działa na porcie 9987
Bez włączonego firewalla wygląda to tak:
Chain INPUT (policy ACCEPT 8209K packets, 995M bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 32M packets, 3816M bytes)
pkts bytes target prot opt in out source destination

Z włączonym tak:
Chain INPUT (policy DROP 22 packets, 1068 bytes)
pkts bytes target prot opt in out source destination
20 71770 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
4898 500K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
1 84 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:21
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:65500:65535
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:65500:65535
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 14501 packets, 1658K bytes)
pkts bytes target prot opt in out source destination
1 84 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
Awatar użytkownika
dedito
Moderator
Posty: 3588
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Post autor: dedito »

Odchaszuj te regułki teamspeak i zrestartuj skrypt "./rc.firewall restart"
Ty masz:

Kod: Zaznacz cały

[/I][/color][color=#333333][I]#teamspeak[/I][/color]
[color=#333333][I]# iptables -A INPUT -p tcp --dport 9987 -j ACCEPT[/I][/color]
[color=#333333][I]# iptables -A INPUT -p udp --dport 9987 -j ACCEPT[/I][/color][color=#333333][I]
A powinno być:

Kod: Zaznacz cały

[/I][/color][color=#333333][I]#teamspeak[/I][/color]
[color=#333333][I]iptables -A INPUT -p tcp --dport 9987 -j ACCEPT[/I][/color]
[color=#333333][I]iptables -A INPUT -p udp --dport 9987 -j ACCEPT[/I][/color][color=#333333][I]
Już tak na marginesie jak nie masz serwera www, ftp, dhcp, ssh, nie chcesz aby serwer odpowiadał na pingi to zachaszuj odpowiednie regułki w tym skrypcie.

[/i][/color]
domell98
Posty: 11
Rejestracja: 15 marca 2014, 13:30

Post autor: domell98 »

No to jak mam zrobić żeby wpuszczało na ten port kilka razy z jednego ip?
domell98
Posty: 11
Rejestracja: 15 marca 2014, 13:30

Post autor: domell98 »

Ok, już tak zrobiłem i działa.
Chain INPUT (policy DROP 433 packets, 21203 bytes)
pkts bytes target prot opt in out source destination
426 1582K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
81723 8306K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
1 52 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
8 696 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:21
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:65500:65535
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:65500:65535
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9987
14 1459 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:9987
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:10000
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:10000

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 251K packets, 31M bytes)
pkts bytes target prot opt in out source destination
13 1116 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
A wiesz jaką komendą sprawdzić jakie porty są otwarte, aby się upewnić czy działa firewall. Jak myślisz da coś taka ochronka przed DDOS-mi
Awatar użytkownika
dedito
Moderator
Posty: 3588
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Post autor: dedito »

Na ddos to ten firewall wogóle nie jest przygotowany.
Co chcesz chronić przed ddos ?
domell98
Posty: 11
Rejestracja: 15 marca 2014, 13:30

Post autor: domell98 »

No teamspeak, maszyne bo gdy idzie ddos to packet lost rosną i się rozmawiać nie da. Serwer mam w OVH ale ich anty DDOS blokuje dopiero po 5-10 minutach i chciałem na maszynie zrobić anty DDOS bo czytałem że się da.
ODPOWIEDZ