Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Aby dodać porty w iptables to muszę użyć tych poleceń w konsoli??
iptables -A INPUT -p tcp –dport XXX -m state –state NEW -j ACCEPT
iptables -A INPUT -p udp –dport XXX -m state –state NEW -j ACCEPT
XXX-numer portu
Aby je zablokować to muszę zmienić INPUT na OUTPUT??
Jak można sprawdzić czy porty są otwarte??
Offline
Aby zablokować zmieniasz ACCEPT na DROP. Sprawdzić otwarte porty możesz nmapem. Radze cokolwiek poczytać na temat iptables. Jaka przyjemność robić coś po omacku.
Offline
Właśnie znalazłem te dwa polecenia i chciałem się upewnić. Iptables nie należy do łatwych w konfiguracji. Raczej też iptables nie mogę się pozbyć chociaż jestem za ruterem. Czy jak użyje nakładki Firestarter to w niej udostępnie porty dla Azureusa i aMule?
Offline
Właśnie znalazłem te dwa polecenia i chciałem się upewnić. Iptables nie należy do łatwych w konfiguracji. Raczej też iptables nie mogę się pozbyć chociaż jestem za ruterem. Czy jak użyje nakładki Firestarter to w niej udostępnie porty dla Azureusa i aMule?
to polecam takie rozwiazanie i jest ono łatwe , lżejsze i nie wymaga nakładki typu firesarter
wiec mam takie plik w /etc/ipwall.conf ipwall.conf
skopiuj ten tekst i wklej go w nowy utworzony plik tex'owy i nazwij go ipwall (bez znaczników i typów txt i etc ) umiescisz go w /etc/
iface="eth0"= zależy jaki masz interfaces internetu eth1 i inne zamien na własciwy , i dodaj własciwy adres ip w "0.0.0.0"
## Użycie iptables lub ip6tables
app="/sbin/iptables"
## Interfejs
iface="eth0"
## Moje IP
my_IP="0.0.0.0"
## Dostęp do SSH:
## Port
ssh="22"
## i dopuszczone adresy IP (oddzielone spacją)
ssh_allow=""
## Otwarte porty TCP dla serwerów (oddzielone spacją)
serv_tcp=" 4661 4662 6881 "
## Otwarte porty UDP dla serwerów (oddzielone spacją)
serv_udp=" 4665 4672 6882 "
## Otwarte porty dla dodatkowych usług (oddzielone spacją)
services=""
## Zabezpieczenie czasowe - porty :
lock_this=""
## Blokada zapytań broadcast dla innych IP niż moje
## (true: blokuje - false:zezwala)
only_me="true
oraz cudo które spisuje sie całkiem nie zle
tyle ze wykonujemy te same czynnosci co do ipwall ( tworzymy nowy plik txt i dajemy mu nazwe iptables i umiec skrypt iptables w /etc/init.d/
#!/bin/bash
ipwall_conf="/etc/ipwall.conf"
if [ -e ${ipwall_conf} ]; then
. ${ipwall_conf}
else
echo "Brak pliku konfiguracyjnego."
exit 1
fi
if [ -e /proc/sys/net/ipv4/tcp_ecn ]; then
echo "0" > /proc/sys/net/ipv4/tcp_ecn
fi
echo "0" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
echo "0" > /proc/sys/net/ipv4/conf/all/secure_redirects
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
${app} -P INPUT ACCEPT
${app} -P FORWARD ACCEPT
${app} -P OUTPUT ACCEPT
${app} -F
${app} -X
${app} -P INPUT DROP
${app} -P OUTPUT DROP
${app} -P FORWARD DROP
${app} -N bad_packets
${app} -N bad_tcp
${app} -N icmp_packets
${app} -N syn-flood
${app} -N udp_in
${app} -N udp_out
${app} -N tcp_in
${app} -N tcp_out
### - syn-flood chain - ###
${app} -A syn-flood -j DROP
${app} -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
### - bad_packets chain - ###
${app} -A bad_packets -p all -m state --state INVALID -j DROP
${app} -A bad_packets -p tcp -j bad_tcp
${app} -A bad_packets -p all -j RETURN
### - bad_tcp chain - ###
${app} -A bad_tcp -p tcp ! --syn -m state --state NEW -j DROP
${app} -A bad_tcp -p tcp --tcp-flags ALL NONE -j DROP
${app} -A bad_tcp -p tcp --tcp-flags ALL ALL -j DROP
${app} -A bad_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
${app} -A bad_tcp -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
${app} -A bad_tcp -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
${app} -A bad_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
${app} -A bad_tcp -p tcp -j RETURN
### - icmp_packets chain - ###
${app} -A icmp_packets --fragment -p icmp -j DROP
${app} -A icmp_packets -p icmp --icmp-type 8 -j DROP
${app} -A icmp_packets -p icmp --icmp-type 11 -m state --state ESTABLISHED -j ACCEPT
${app} -A icmp_packets -p icmp -j RETURN
### - udp_in chain - ###
${app} -A udp_in -p udp --destination-port 137 -j DROP
${app} -A udp_in -p udp --destination-port 138 -j DROP
for x in ${serv_udp}; do
${app} -A udp_in -p udp --destination-port ${x} -j ACCEPT
done
${app} -A udp_in -p udp -m state --state ESTABLISHED -j ACCEPT
${app} -A udp_in -p udp -i ${iface} -j REJECT --reject-with icmp-host-unreachable
${app} -A udp_in -p udp -j RETURN
### - udp_out chain - ###
${app} -A udp_out -p udp -j ACCEPT
### - tcp_in chain - ###
for x in ${serv_tcp}; do
${app} -A tcp_in -p tcp --destination-port ${x} -j ACCEPT
done
for x in ${ssh_allow}; do
${app} -A tcp_in -p tcp -s ${x} --destination-port ${ssh} -j ACCEPT
done
for x in ${services}; do
${app} -A tcp_in -p tcp --destination-port ${x} -j ACCEPT
done
${app} -A tcp_in -p tcp -j RETURN
### - tcp_out chain - ###
${app} -A tcp_out -p tcp -j ACCEPT
### - INPUT Chain - ###
${app} -A INPUT -p all -i lo -j ACCEPT
${app} -A INPUT -p all -j bad_packets
${app} -A INPUT -p all -d 224.0.0.1 -j DROP
${app} -A INPUT -p all -s 224.0.0.1 -j DROP
if "${only_me}"; then
${app} -A INPUT -p all -i ${iface} -d ! ${my_IP} -j DROP
fi
${app} -A INPUT -p all -i ${iface} -m state --state ESTABLISHED,RELATED -j ACCEPT
${app} -A INPUT -p tcp -i ${iface} -j tcp_in
${app} -A INPUT -p udp -i ${iface} -j udp_in
${app} -A INPUT -p icmp -i ${iface} -j icmp_packets
${app} -A INPUT -m pkttype --pkt-type broadcast -j DROP
${app} -A INPUT -p all -j syn-flood
for x in ${lock_this}; do
${app} -I INPUT -p tcp --dport ${x} -i ${iface} -m state --state NEW -m recent --set
${app} -I INPUT -p tcp --dport ${x} -i ${iface} -m state --state NEW -m recent
--update --seconds 300 --hitcount 3 -j DROP
done
### - FORWARD Chain - ###
### - OUTPUT Chain - ###
${app} -A OUTPUT -m state -p icmp --state INVALID -j DROP
${app} -A OUTPUT -p all -s 127.0.0.1 -j ACCEPT
${app} -A OUTPUT -p all -o lo -j ACCEPT
${app} -A OUTPUT -p all -o ${iface} -j ACCEPT
nadaj tym plikom osobno prawa na iptables i ipwall
# chmod 700 ipwall.conf
# chmod 700 iptables
oraz jako root do skryptu iptables w /etc/init.d/ dajesz takie polecenie
# /etc/init.d/iptables save active
[zapisuje skrypt iptables]
[Teraz masz zapisane ustawienie dla iptables. Trzeba tylko
zrobic linki w skryptach startowych.]
oto kolejne polecenie :
# update-rc.d iptables defaults
polecenie ma na celu uruchomienie po każdym starcie sytemu bez wpisywania w konsoli komend
te skrypty działają i sa w 100% efektywne , można edytować i dodawać dodatkowe porty w ipwall
mnie udało sie a tu wynik portów http://img398.imageshack.us/my.php?image=testiptablesportsdq7.jpg
efekt tych skryptów można sprawdzić tu https://www.grc.com/x/ne.dll?bh0bkyd2
pozdrawiam
Offline
W niedlugim czasie przetestuje ten skrypt i podziele sie opinia.
Mam pytanie, jad dopisac do tego skryptu inne funkcje np. przekierowanie portow, ilosc nawiazywanych polaczen dlaposzczegolnych uzytkownikow itd.
jesli skrypt sprawdzi sie warto rozbudowac go o nowe rozwiazania to ulatwi administrowanie w trybie tekstowym np. na serwerach na ktorych nie instaluje sie grafiki.
Offline
tak to już bywa jaki się używa, gotowca, proponuje powrót do rady kolegi kamikaze
Offline