Hozzászólások
nna megvan. harom dolog volt ami miatt sokat szenvedtem:
1. a kernelbol hianyoztak a state szurohoz szukseges modulok
2. az ESTABLISHED,RELATED sorba NEM kell megadni a -p tcp-t, kulonben nem megy
3. a /etc/rc.ssh minden bootkor lefutott, nem ertettem miert marad nyitva az ssh port az egesz vilagnak :)
de most mar ez a resze megvan, es - hala nektek - sokat tanultam a halozatokrol, bar meg boven van mit!
- A hozzászóláshoz be kell jelentkezni
[code:1:02f16892c6]#!/bin/sh
#
# copyright (c) the KMyFirewall developers 2002
# mail to: Christian Hubinger <e9806056@student.tuwien.ac.at>
#
# KMyFirewall v0.9.6.2
# This is an automatic generated file DO NOT EDIT
#
IPT="/sbin/iptables"
MOD="/sbin/modprobe"
status="0"
startFirewall() {
echo
echo "Starting firewall..."
#echo -n "Loading needed modules... "
#$MOD ip_tables
#$MOD ip_conntrack
#$MOD ipt_LOG
#$MOD ipt_limit
#$MOD ipt_state
#$MOD ip_conntrack_ftp
#$MOD ip_conntrack_irc
#$MOD iptable_filter
#$MOD iptable_nat
#$MOD iptable_mangle
#echo "Done."
# Define all custom chains
echo -n "Create custom chains... "
echo "Done."
# Rules:
echo "Settup Rules in Table FILTER:
"
# Define Rules for Chain: INPUT
echo -n "Create Rules for Chain: INPUT "
$IPT -t filter -A INPUT --source 192.168.1.2 --in-interface eth0 --protocol tcp --destination-port 22 -j ACCEPT || { status="1"; echo "Setting up Rule: ssh FAILED !!!"; exit 1; }
#$IPT -t filter -A INPUT --protocol tcp -dport 80 -j ACCEPT
$IPT -t filter -A INPUT --protocol icmp
#$IPT -t filter -A INPUT --source 192.168.1.2 --in-interface eth0 --protocol icmp -j ACCEPT || { status="1"; echo "Setting up Rule: icmp Failed !!!"; exit 1; }
$IPT -t filter -A INPUT --destination 127.0.0.1 --in-interface lo -j ACCEPT || { status="1"; echo "Setting up Rule: LOOPBACK FAILED !!!"; exit 1; }
$IPT -t filter -A INPUT --match state --state RELATED,ESTABLISHED -j ACCEPT || { status="1"; echo "Setting up Rule: CONNTRACK_INPUT FAILED !!!"; exit 1; }
$IPT -t filter -A INPUT -m limit --limit 1/second --limit-burst 5 -j LOG --log-prefix "KMF:" || { status="1"; echo "Setting up Rule: Chain: INPUT Drop Logging FAILED !!!"; exit 1; }
$IPT -t filter -P INPUT DROP || { status="1"; echo "Setting up Rule: Chain: INPUT Default Target FAILED !!!"; exit 1; } ###
echo "Done."
# Define Rules for Chain: OUTPUT
echo -n "Create Rules for Chain: OUTPUT "
$IPT -t filter -A OUTPUT --protocol icmp -j ACCEPT || { status="1"; echo "Setting up Rule: ICMP FAILED !!!"; exit 1; }
$IPT -t filter -A OUTPUT --source 127.0.0.1 --out-interface lo -j ACCEPT || { status="1"; echo "Setting up Rule: LOOPBACK FAILED !!!"; exit 1; }
$IPT -t filter -A OUTPUT --destination 192.168.1.1 --protocol tcp --destination-port 22 -j ACCEPT || { status="1"; echo "Setting up Rule: SSH_in FAILED !!!"; exit 1; }
$IPT -t filter -A OUTPUT --source 192.168.1.1 --protocol tcp --destination-port 22 -j ACCEPT || { status="1"; echo "Setting up Rule: SSH_out FAILED !!!"; exit 1; }
$IPT -t filter -A OUTPUT --source 192.168.1.1 --protocol tcp --match multiport --destination-port 443,80,8080 -j ACCEPT || { status="1"; echo "Setting up Rule: HTTP_out FAILED !!!"; exit 1; }
$IPT -t filter -A OUTPUT --source 192.168.1.1 --protocol tcp --destination-port 20:21 -j ACCEPT || { status="1"; echo "Setting up Rule: FTP_out FAILED !!!"; exit 1; }
$IPT -t filter -A OUTPUT --protocol udp --destination-port 53 -j ACCEPT || { status="1"; echo "Setting up Rule: DNS FAILED !!!"; exit 1; }
$IPT -t filter -A OUTPUT --protocol tcp --destination-port 53 -j ACCEPT || { status="1"; echo "Setting up Rule: DNS_tcp FAILED !!!"; exit 1; }
$IPT -t filter -A OUTPUT --protocol tcp --destination-port 8245 -j ACCEPT || { status="1"; echo "Setting up Rule: NO-IP FAILED !!!"; exit 1; }
$IPT -t filter -A OUTPUT --match state --state RELATED,ESTABLISHED -j ACCEPT || { status="1"; echo "Setting up Rule: CONNTRACK_out FAILED !!!"; exit 1; }
$IPT -t filter -A OUTPUT -m limit --limit 1/second --limit-burst 5 -j LOG --log-prefix "KMF:" || { status="1"; echo "Setting up Rule: Chain: OUTPUT Drop Logging FAILED !!!"; exit 1; }
$IPT -t filter -P OUTPUT DROP || { status="1"; echo "Setting up Rule: Chain: OUTPUT Default Target FAILED !!!"; exit 1; }
echo "Done."
# Define Rules for Chain: FORWARD
echo -n "Create Rules for Chain: FORWARD "
#$IPT -t filter -A FORWARD -i ppp0 -o eth1 --protocol tcp --match multiport --destination-port 80,8080,443 -j ACCEPT || { status="1"; echo "Setting up Rule: HTTP_in FAILED !!!"; exit 1; }
$IPT -t filter -A FORWARD -i ppp0 -o eth1 --protocol tcp --destination-port 22 -j ACCEPT
$IPT -t filter -A FORWARD -i eth0 -o ppp0 --protocol tcp --match multiport --destination-port 80,8080,443 -j ACCEPT || { status="1"; echo "Setting up Rule: HTTP_out FAILED !!!"; exit 1; }
$IPT -t filter -A FORWARD -i eth0 -o ppp0 --protocol tcp --destination-port 20:21 -j ACCEPT || { status="1"; echo "Setting up Rule: FTP_out FAILED !!!"; exit 1; }
$IPT -t filter -A FORWARD -i eth0 -o ppp0 --protocol tcp --destination-port 5190 -j ACCEPT || { status="1"; echo "Setting up Rule: ICQ_out FAILED !!!"; exit 1; }
$IPT -t filter -A FORWARD -i eth0 -o ppp0 --protocol tcp --destination-port 22 -j ACCEPT || { status="1"; echo "Setting up Rule: SSH_out FAILED !!!"; exit 1; }
$IPT -t filter -A FORWARD -i eth0 -o ppp0 --protocol tcp --destination-port 1494 -j ACCEPT || { status="1"; echo "Setting up Rule: NEPTUN_out FAILED !!!"; exit 1; }
$IPT -t filter -A FORWARD -i eth0 -o ppp0 --protocol icmp -j ACCEPT || { status="1"; echo "Setting up Rule: ICMP FAILED !!!"; exit 1; }
$IPT -t filter -A FORWARD -i eth0 -o ppp0 --protocol udp --destination-port 53 -j ACCEPT || { status="1"; echo "Setting up Rule: DNS FAILED !!!"; exit 1; }
$IPT -t filter -A FORWARD --match state --state RELATED,ESTABLISHED -j ACCEPT || { status="1"; echo "Setting up Rule: CONNTRACK_forw FAILED !!!"; exit 1; }
$IPT -t filter -A FORWARD -m limit --limit 1/second --limit-burst 5 -j LOG --log-prefix "KMF:" || { status="1"; echo "Setting up Rule: Chain: FORWARD Drop Logging FAILED !!!"; exit 1; }
$IPT -t filter -P FORWARD DROP || { status="1"; echo "Setting up Rule: Chain: FORWARD Default Target FAILED !!!"; exit 1; }
echo "Done."
echo "Settup Rules in Table NAT:
"
# Define Rules for Chain: OUTPUT
echo -n "Create Rules for Chain: OUTPUT "
#$IPT -t nat -A OUTPUT -i ppp0 -p tcp -dport 22 -j DNAT --to-destination 192.168.1.2
#$IPT -t nat -P OUTPUT DROP || { status="1"; echo "Setting up Rule: Chain: OUTPUT Default Target FAILED !!!"; exit 1; }
echo "Done."
# Define Rules for Chain: PREROUTING
echo -n "Create Rules for Chain: PREROUTING "
#$IPT -t nat -A PREROUTING -i ppp0 -p tcp -dport 22 -j DNAT --to-destination 192.168.1.2
#$IPT -t nat -P PREROUTING DROP || { status="1"; echo "Setting up Rule: Chain: PREROUTING Default Target FAILED !!!"; exit 1; }
echo "Done."
# Define Rules for Chain: POSTROUTING
echo -n "Create Rules for Chain: POSTROUTING "
#$IPT -t nat -A POSTROUTING -i ppp0 -j MASQUERADE --to
$IPT -t nat -A POSTROUTING -o ppp0 -j MASQUERADE || { status="1"; echo "Setting up Rule: eth0 FAILED !!!"; exit 1; }
#$IPT -t nat -P POSTROUTING DROP || { status="1"; echo "Setting up Rule: Chain: POSTROUTING Default Target FAILED !!!"; exit 1; }
echo "Done."
echo "Settup Rules in Table MANGLE:
"
# Define Rules for Chain: INPUT
echo -n "Create Rules for Chain: INPUT "
#$IPT -t mangle -P INPUT DROP || ( status="1" && echo "Setting up Rule: Chain: INPUT Default Target FAILED !!!" && exit 1 )
echo "Done."
# Define Rules for Chain: OUTPUT
echo -n "Create Rules for Chain: OUTPUT "
#$IPT -t mangle -P OUTPUT DROP || ( status="1" && echo "Setting up Rule: Chain: OUTPUT Default Target FAILED !!!" && exit 1 )
echo "Done."
# Define Rules for Chain: FORWARD
echo -n "Create Rules for Chain: FORWARD "
#$IPT -t mangle -P FORWARD DROP || ( status="1" && echo "Setting up Rule: Chain: FORWARD Default Target FAILED !!!" && exit 1 )
echo "Done."
# Define Rules for Chain: PREROUTING
echo -n "Create Rules for Chain: PREROUTING "
#$IPT -t mangle -P PREROUTING DROP || ( status="1" && echo "Setting up Rule: Chain: PREROUTING Default Target FAILED !!!" && exit 1 )
echo "Done."
# Define Rules for Chain: POSTROUTING
echo -n "Create Rules for Chain: POSTROUTING "
#$IPT -t mangle -P POSTROUTING DROP || ( status="1" && echo "Setting up Rule: Chain: POSTROUTING Default Target FAILED !!!" && exit 1 )
echo "Done."
echo -n "Enable IP Forwarding. "
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Done."
echo -n "Enable Reverse Path Filtering "
for i in /proc/sys/net/ipv4/conf/*/rp_filter ; do
echo 2 > $i
done
echo "Done."
echo -n "Enable log_martians (logging). "
for i in /proc/sys/net/ipv4/conf/*/log_martians ; do
echo 1 > $i
done
echo "Done."
echo -n "Enable Syn Cookies. "
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo "Done."
}
stopFirewall() {
echo -n "Shutdown KMyFirewall... "
$IPT -t filter -F || status="1"
$IPT -t filter -X || status="1"
$IPT -t filter -P INPUT ACCEPT || status="1"
$IPT -t filter -P OUTPUT ACCEPT || status="1"
$IPT -t filter -P FORWARD ACCEPT || status="1"
$IPT -t nat -F || status="1"
$IPT -t nat -X || status="1"
$IPT -t nat -P OUTPUT ACCEPT || status="1"
$IPT -t nat -P PREROUTING ACCEPT || status="1"
$IPT -t nat -P POSTROUTING ACCEPT || status="1"
$IPT -t mangle -F || status="1"
$IPT -t mangle -X || status="1"
$IPT -t mangle -P INPUT ACCEPT || status="1"
$IPT -t mangle -P OUTPUT ACCEPT || status="1"
$IPT -t mangle -P OUTPUT ACCEPT || status="1"
$IPT -t mangle -P PREROUTING ACCEPT || status="1"
$IPT -t mangle -P POSTROUTING ACCEPT || status="1"
echo "Done."
}
case $1 in
start)
stopFirewall
startFirewall
;;
stop)
stopFirewall
;;
restart)
stopFirewall
startFirewall
;;
*)
echo "Usage: sh kmyfirewall.sh { start | stop | restart } "
;;
esac
if [ "$status" = "1" ]; then
exit 1
else
exit 0
fi
[/code:1:02f16892c6]
Erre rá tudnátok nézni, hogy nagyon gáz-e?
Illetve még van 1 problémám, hogy a tűzfal mögött lenne 1 ssh server amit el kéne érmi kívülről is, de azt valahogy nem sikerült:)
A szkript alapjai a kmyfirewall-al készültek, de erőst belenyúlkáltam:)
Előre is thx!
(Ha nem világos, akkor majd leírom, hogy hogyan is néz ki a hálózat, és még annyit, hogy az eth0 néz befelé, eth1 meg kifelé, adsl kapcsolattal)
- A hozzászóláshoz be kell jelentkezni
Sziasztok.
Csak a véleményetek érdekelne a következő tűzfal konfigról.
Szerintetek mennyire secure, és hol lehetne még jobban
növelni a biztonságot? Mert biztosan lehet.
Amit tudni kell az egészhez:
eth0 <- Internettel (ADSL) kapcsolatba levő interface (172.18.1.0/255.255.255.0)
eth1 <- 1. alhálozat (172.18.2.0/255.255.255.0)
eth2 <- 2. alhálozat (172.18.3.0/255.255.255.0)
Az internetet az 1-es és a 2-es alhálózatra kelett leosztani
úgy, hogy a főnök se csapja le a fejem mert nem megy az MSN
meg hasonló szutykok.
A gépen Debian szalad, abból is a stable verzió.
Jah mégvalami, biztosan mondani fogjatok páran, hogy
egy-két sort lehet eccerűbben is megoldani. De nem véletlenűl lett
úgy írva. Ugyanis Cacti nevezetű programmal monitorozva van a
hálózati forgalom.
[code:1:eb8aa92f87]
#!/bin/bash
iptables --flush
iptables -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -N POSTROUTING
# Trusted hosts
iptables -A INPUT -s 65.112.243.131 -j ACCEPT # MSN
iptables -A OUTPUT -d 65.112.243.131 -j ACCEPT
#ideiglenesen maradt bent mert nemtudtam
#beállítani a Messengert rendesen
# DNS csomagok engedelyezese 145.236.227.108, 145.236.88.66
iptables -A INPUT -i ppp0 -p udp -s 145.236.227.108 --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -p udp -s 145.236.88.66 --sport 53 -m state --state ESTABLISHED -j ACCEPT
# UDP csomagok engedelyezese a kliensektol a nameszerverek fele
iptables -A OUTPUT -o ppp0 -p udp -d 145.236.227.108 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp -d 145.236.88.66 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
# Local interface engedelyezese
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT
# eth0 interface engedelyezese
iptables -A INPUT -s 172.18.1.0/255.255.255.0 -j ACCEPT
iptables -A OUTPUT -d 172.18.1.0/255.255.255.0 -j ACCEPT
# eth1 interface engedelyezese
iptables -A INPUT -s 172.18.2.0/255.255.255.0 -j ACCEPT
iptables -A OUTPUT -d 172.18.2.0/255.255.255.0 -j ACCEPT
# eth2 interface engedelyezese
iptables -A INPUT -s 172.18.3.0/255.255.255.0 -j ACCEPT
iptables -A OUTPUT -d 172.18.3.0/255.255.255.0 -j ACCEPT
# Kiengedunk minden csomagot, ami ki akar menni
iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT
iptables -A FORWARD -i eth2 -o ppp0 -j ACCEPT
# Csak olyan kapcsolat johet a net felol, amit mi kezdemenyeztunk
iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Beengedunk minden csomagot a belso halora, amit bentrol kertek
iptables -A FORWARD -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Net Share
iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE
iptables -A POSTROUTING -t nat -o eth2 -j MASQUERADE
# Kivulrol ne tudjanak a gephez kapcsolodni
iptables -t mangle -A FORWARD -i ppp0 -d 172.18.1.0/255.255.255.0 -p tcp --syn -j DROP
iptables -t mangle -A FORWARD -i ppp0 -d 172.18.2.0/255.255.255.0 -p tcp --syn -j DROP
iptables -t mangle -A FORWARD -i ppp0 -d 172.18.3.0/255.255.255.0 -p tcp --syn -j DROP
# FRAGMENTS
# a fragmented packetokban nem bizunk
# loggoljuk a fragmenteket es aztan dobjuk is el oket
iptables -A INPUT -i ppp0 -f -j LOG --log-prefix "IPTABLES FRAGMENTS: "
iptables -A INPUT -i ppp0 -f -j DROP
# NMAP FIN/URG/PSH Scan detektalas
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 5/minute -j LOG --log-level notice --log-prefix "NMAP-XM"
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
# SYN-FLOODING PROTECTION
# 4 kapcsolatkeres masodpercenkent
iptables -N syn-flood
iptables -A INPUT -i ppp0 -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP
[/code:1:eb8aa92f87]
- A hozzászóláshoz be kell jelentkezni
iptables -t mangle -A FORWARD -i ppp0 -d 172.18.1.0/255.255.255.0 -p tcp --syn -j DROP
iptables -t mangle -A FORWARD -i ppp0 -d 172.18.2.0/255.255.255.0 -p tcp --syn -j DROP
iptables -t mangle -A FORWARD -i ppp0 -d 172.18.3.0/255.255.255.0 -p tcp --syn -j DROP
A filter tabla valo csomagok szuresere... A mangle es a nat tabla specialis helyzetu, ott csak az elso csomagok matchelnek.
En a helyedben kicsit maskepp kezdenek hozza. Csinalnek egy 3x3-mas matrixot, amibe szepen felvennem, melyik helyrol melyik helyre utazhat forgalom, es utana:
iptables -N inet-elsohalo
iptables -N inet-masodikhalo
iptables -A FORWARD -i eth0 -o eth1 -j inet-elsohalo
iptables -A FORWARD -i eth0 -o eth2 -j inet-masodikhalo
es igy tovabb, valamint:
iptables -N INinter
iptables -N INelsohalo
iptables -N INmasodikhalo
iptables -A INPUT -i eth0 -j inINTER
iptables -A INPUT -i eth1 -j inelsohalo
iptables -A INPUT -i eth1 -j inmasodikhalo
Es utana mar csak a megfelelo szabalyokat kell beillesztened, es fel ev mulva is 1 perc alatt megerted, mit hol kell keresni.
Meg egy: megbaratkoznek azzal a fajta kimenettel amit az iptables-save csinal, mert egy iptables-restore nagysagrendekkel hamarabb betolti a konfigod, mintha kulon-kulon inditgatnad az iptablest.
asd
- A hozzászóláshoz be kell jelentkezni
Értem mit mondasz.
Ezt kb 30 perc alatt dobtam össze mert sietnem kelett.
De nekem is hasonló volt az elképzelésem a kövi verziónál.
Csak az időhiány ugye->silány munkát szül. :D
thx
- A hozzászóláshoz be kell jelentkezni
Két apró megjegyzés igy hirtelen:
A script végén lévő drop-os részt az elejére tenném, mert minek fusson végig a scripten, ha utána úgyis eldobod. Persze azért csak akkor jó így, ha egyéb accepteket nem befolyásol, pl. a 4 kapcsolódás per sec, stb...
A másik, hogy a DNS alapvetően UDP alapú, de bizonyos nagyobb csomagokat ha jól tudom (igaz csak ritkán) TCP vel kommunkál le. Szóval ha esetleg erre a hibára utaló DNS felöldási hibák jelentkeznének, betenném a TCP-s DNS kezelést/engedélyezést is.
D.
- A hozzászóláshoz be kell jelentkezni
sziasztok!
szeretnem ha egy adott portra erkezo kerest eldobna az iptables. a kovetkezo paranccsal probalkoztam, de nem teCCik neki...
[code:1:3ba0698418]iptables -A INPUT -i ppp0 -s 0/0 --dport 139 -j DROP[/code:1:3ba0698418]
ezt kapom valaszul:
[code:1:3ba0698418]iptables v1.2.10: Unknown arg `--dport'[/code:1:3ba0698418]
mi nem jo?
- A hozzászóláshoz be kell jelentkezni
[quote:01b20fe6a5="doc"]sziasztok!
szeretnem ha egy adott portra erkezo kerest eldobna az iptables. a kovetkezo paranccsal probalkoztam, de nem teCCik neki...
[code:1:01b20fe6a5]iptables -A INPUT -i ppp0 -s 0/0 --dport 139 -j DROP[/code:1:01b20fe6a5]
ezt kapom valaszul:
[code:1:01b20fe6a5]iptables v1.2.10: Unknown arg `--dport'[/code:1:01b20fe6a5]
mi nem jo?
A --dport elott nem lenne hulyeseg protokolt megadni, mivel a port, mint olyan, az nem layer 3as dolog.
- A hozzászóláshoz be kell jelentkezni
[quote:8ac2cb540f="petya"]A --dport elott nem lenne hulyeseg protokolt megadni, mivel a port, mint olyan, az nem layer 3as dolog.
kiraly vagy :)
koszi
- A hozzászóláshoz be kell jelentkezni
Én csak annyit tennék hozzá, hogy a
[code:1:76ec298f62]echo 1 > /proc/sys/net/ipv4/ip_forward [/code:1:76ec298f62]
sort a végére tenném, hogy amíg a beállítások "lefutnak", addig se férhessen senki semmihez. De ha tutin csinálom akkor az első sorokban le is tiltom.
[code:1:76ec298f62]echo 0 > /proc/sys/net/ipv4/ip_forward [/code:1:76ec298f62]
- A hozzászóláshoz be kell jelentkezni
"kpl55" írta:
A script végén lévő drop-os részt az elejére tenném, mert minek fusson végig a scripten, ha utána úgyis eldobod.
Szabadjon halkan megjegyeznem hogy ez a script "nem fut le" mármint ha egyszer lefuttatod a benne lévő szabályok bekerülnek az "ip-táblába" és minden a helyére kerül. Majd a kernel tudja a többit prerouting előre, stb. Legalábbis én így tudom. Ha nem így van, bocsika
- A hozzászóláshoz be kell jelentkezni
[quote:194c14c180="szgabor"]
Szabadjon halkan megjegyeznem hogy ez a script "nem fut le" mármint ha egyszer lefuttatod a benne lévő szabályok bekerülnek az "ip-táblába" és minden a helyére kerül. Majd a kernel tudja a többit prerouting előre, stb. Legalábbis én így tudom. Ha nem így van, bocsika
Mint mindig, az igazság az arany középút :lol: , legalább is szerintem 8)
Mert a script ilyen értelemben tényleg nem fut le, viszont amikor lefut akkor az egyes tablákban a futtatási sorrendben kerülnek be a szabályok. Így igaz lesz az általánosságban, hogy pl. egy input sorba tett szabály az output sor szabályai után írva is hamarabb kerül majd feldolgozásra. Viszont pl. a konkrét scriptben a syn flood elleni védekezés célját szolgáló szabály az input szabályok utolsó részében "kerül feldolgozásra", és én az ilyen jellegű dolgokra utaltam. (Arról nem is beszélva, hogy lehet, hogy szándékkal került ide, mert így az engedélyezett csomagok nem fogyasztanak "erőforrást" a limit-ből. Igaz, ez esetben ide már csak nem engedélyezett csomag érkezhet, de akkor nem látom értelmét a limit engedékenységének :wink:
D.
- A hozzászóláshoz be kell jelentkezni
mar megy szepen, most szeretnek kicsit lepni a hasznalhatosag fele, es a masik oldalrol nekiallni: mindent tiltani, kiveve ami kell, de nem megy...
ebben vajon mi a rossz? (persze, tudom, az OUTPUT es FORWARD is legyen DROP policys, de egyelore mukodjon igy :) )
(az ESTABLISHED,RELATED-es sorra pl. hibat dob)
[code:1:39d19f57a5]
#$IPT -P INPUT DROP
#$IPT -P OUTPUT ACCEPT
#$IPT -P FORWARD ACCEPT
#$IPT -F
#
#$IPT -A INPUT -i lo -j ACCEPT
#$IPT -A OUTPUT -o lo -j ACCEPT
#$IPT -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
#$IPT -A INPUT -i ppp0 -s 192.168.0.0/16 -j DROP
#$IPT -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
##$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --dport 9176 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --dport 9176 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --dport 21 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --dport 21 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --dport 20 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --dport 20 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --dport 80 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --sport 80 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --sport 80 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --dport 110 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --dport 110 -j ACCEPT[/code:1:39d19f57a5]
- A hozzászóláshoz be kell jelentkezni
Na most már értelek:)
- A hozzászóláshoz be kell jelentkezni
[quote:8653314980="doc"]mar megy szepen, most szeretnek kicsit lepni a hasznalhatosag fele, es a masik oldalrol nekiallni: mindent tiltani, kiveve ami kell, de nem megy...
ebben vajon mi a rossz? (persze, tudom, az OUTPUT es FORWARD is legyen DROP policys, de egyelore mukodjon igy :) )
(az ESTABLISHED,RELATED-es sorra pl. hibat dob)
[code:1:8653314980]
#$IPT -P INPUT DROP
#$IPT -P OUTPUT ACCEPT
#$IPT -P FORWARD ACCEPT
#$IPT -F
#
#$IPT -A INPUT -i lo -j ACCEPT
#$IPT -A OUTPUT -o lo -j ACCEPT
#$IPT -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
#$IPT -A INPUT -i ppp0 -s 192.168.0.0/16 -j DROP
#$IPT -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
##$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --dport 9176 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --dport 9176 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --dport 21 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --dport 21 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --dport 20 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --dport 20 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --dport 80 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --sport 80 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --sport 80 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p tcp --dport 110 -j ACCEPT
#$IPT -A INPUT -i ppp0 -p udp --dport 110 -j ACCEPT[/code:1:8653314980]
Ismet kalandozzunk el a protokolok vilagaban:). Pl UDPre szerintem ertelmes, hogy ESTABLISHED? meg hasonlok? Hasonlo az eset az elozohoz. Ilyenkor gyorsan kepzeld magad ele az ISO/OSI (elejen en is azt gondoltam, hogy hulyeseg ezt megtanulni) modellt, kepzeld el azt, hogy melyik layerben akarsz valamit csinalni, es gyorsan tedd ala a tobbit is, ami kell hozza:).
Szoval megint belefutottal, immar masodjara.
- A hozzászóláshoz be kell jelentkezni
Sziasztok,
Jo ez a topic cim, tetszik. ;)
Kicsit dobjuk fel par agyament megoldassal. Esetleg trukkok, stb.
Elso korben megkerdeznem a Tisztelt nagyerdemut, hogy mit gondol
a netfilter fele TARPIT modulrol (powered by patch o matic)?
Erdemes -e hasznalni illetve hogyan? Itt ket dologra gondolok:
1) A TARPIT -ot csak par windows-szeru portra felhuzni vagy esetleg a szabaly vegen DROP elott alkalmazni?
2) Eroforras. Azt hiszem a TARPIT modul egyik lenyege, hogy mikozben tarja a kapcsolatot azon a porton amire be van allitva es nem engedi el, nem eszi meg annyira a gepet.
Tapasztalat?
Es akkor egy kis TARPIT manual, deta modra, aztan majd kijavitanak az okosabbak:
A TARPIT kb egy olyan modul, mely a bejovo TCP kapcsolatokra figyel es azt nem engedi disconnectalni. Maga a folyamat: bejon a kapcsolat, fogadja azt, majd az ablak meretet 0ra allitja, igy semmilyen adat nem fog atferni, viszont nem engedi ezt a kapcsolatot lezarni a leirasok szerint 12-24 percig.
Szemely szerint en ugy gondolom, hogy ez eszi az esetleges tamado(k) gepet, igy egy ido utan esetleg elfelejtenek probalkozni... Persze a botoknak ezt nehez megmagyarazni, de ez is tobb mint a semmi.
Erdemes / Felesleges ?
deta
- A hozzászóláshoz be kell jelentkezni
Valamelyik múltkori linuxvilágban volt szó pl. a TARPIT-ról is. Érdekesen hangzik, de sajnos nem volt még időm utánajárni. És etikailag is átgondolandó, persze ez nem szakmai kérdés...
- A hozzászóláshoz be kell jelentkezni
[quote:8b2a90ba63="benyovszky"]
Erre rá tudnátok nézni, hogy nagyon gáz-e?
Amennyire néztem (na nem soronként) működik és nincs semmi baja, mindössze azért ilyen "hosszú", mert ha nem fut le egy sor, szövegel egy sornyit.
Ezzel nekem két furcsa gondolatom van (mindkettő totál magánvélemény):
- ha ez egy szerver, nem biztos, hogy gyakran fogod kikapcsolni, ha kikapcsolod, nem biztos, hogy ott fogsz állni előtte, amíg újraindul (pl. távolról kernelt frissítesz);
- amint elkészült egy olyan script, amely lefut normálisan hiba nélkül, nekem új, miszerint később nem futhat le pl. az SSH-szerver vagy FTP-szerver beállítása.
[quote:8b2a90ba63="benyovszky"]
Illetve még van 1 problémám, hogy a tűzfal mögött lenne 1 ssh server amit el kéne érmi kívülről is, de azt valahogy nem sikerült:)
A szkript alapjai a kmyfirewall-al készültek, de erőst belenyúlkáltam:)
A $kulsoip-re a 2222-es porton érkező TCP-t és UDP-t továbbküldi a $belsosshszerver 22-es portjára.
[code:1:8b2a90ba63]$IPT -t nat -A PREROUTING -s ! $belsohalotartomany --sport 22 -i $kulsoeth -d $kulsoip --protocol tcp --dport 2222 -o $belsoeth -j DNAT --to-destination $belsosshszerver:22
$IPT -t nat -A PREROUTING -s ! $belsohalotartomany --sport 22 -i $kulsoeth -d $kulsoip --protocol udp --dport 2222 -j DNAT --to-destination $belsosshszerver:22[/code:1:8b2a90ba63]
- A hozzászóláshoz be kell jelentkezni
Amondo vagyok, hogy az en rendszerem legyen vedve... a tobbi masodlagos.
deta
- A hozzászóláshoz be kell jelentkezni
kerhetem a kozonseg segitseget? :oops:
az ominozus sor (ESTABLISHED...) nelkul nem tudok a tuzfalkont mukodo netmegoszto gepen netezni, viszont a rakotott gepeken megy a net, a wigwam teszten latszik is hogy a portjaim lathatatlanok
probalkoztam a -p kapcsoloval buveszkedni, de sikertelenul
- A hozzászóláshoz be kell jelentkezni
[quote:0af9bf93ad="doc"]kerhetem a kozonseg segitseget? :oops:
az ominozus sor (ESTABLISHED...) nelkul nem tudok a tuzfalkont mukodo netmegoszto gepen netezni, viszont a rakotott gepeken megy a net, a wigwam teszten latszik is hogy a portjaim lathatatlanok
probalkoztam a -p kapcsoloval buveszkedni, de sikertelenul
Gondolom az input chainen drop poliszi van, viszont a nat a forward chainen megy, ahol a poliszi accept. Ahol a poliszi akszept, oda pedig nem kell established,related sor.
Az udp portokat folosleges kinyitni, mivel az adott service-ek TCP-n figyelnek es erdemes egy -m state --state NEW -t odatenni, hogy csak ilyen tudjon kapcsolodni, mert a tobbit az established, related viszi.
Javasolt link: http://iptables-tutorial.frozentux.net/iptables-tutorial.html
- A hozzászóláshoz be kell jelentkezni