Kedves Fórumozók!
A segítségeteket szeretném kérni. Adott az itt leírt hálózat.
A 2022-es portot kiforwardoltam a Linksys routeremre, viszont bárhogy próbálom nem sikerül kívülről becsatlakozni 2022-es porton futó openssh kiszolgálóra. A csomagok megjelennek a syslogban, viszont az ssh kliens timeoutol, a GRC ShieldsUP!!-ja meg azt mondja, hogy Stealth a 2022 port az én ip címemen. A haver nmappal megnézte a gépem ezen portját, és "filtered" lett az eredmény. Ezek után eléggé tanácstalan vagyok, mert mind a grc csomagjait, mind a haver csomagjait az elsők között ACCEPT-elem, úgyhogy a leghalványabb fogalmam sincs, hogy miért nem lehet csatlakozni az ssh kiszolgálóhoz.Legyetek szívesek adjatok valami tanácsot, mert már kifogytam az ötletekből. Köszi.
Üdv:
János
Itt az rc.firewall-om tartalma:
#!/bin/bash
IPTABLES=`which iptables`
IP6TABLES=`which ip6tables`
IFCONFIG=`which ifconfig`
GREP=`which grep`
CUT=`which cut`
LO_IF="lo"
MAIN_IF="eth0"
#CURRENT_IP=`$IFCONFIG $MAIN_IF | $GREP "inet addr" | $CUT -c 21-32`
CURRENT_IP="192.168.1.2"
PRI_DNS="192.168.1.1"
LOCALNET="192.168.1.0/24"
HAVER_IP="AAA.BBB.CCC.DDD"
GRC_IP="4.79.142.206"
#koli
DORM_SERVER="EEE.FFF.GGG.HHH"
#proxy
UNIVERSITY_PROXY1=`nslookup UNIPROXY | tail -n 4 | grep "Address: " | cut -c 10-`
UNIVERSITY_PROXY2=`nslookup UNIPROXY2 | tail -n 4 | grep "Address: " | cut -c 10-`
UNIVERSITY_PROXY1_BACKUP="III.JJJ.KKK.LLL"
UNIVERSITY_PROXY2_BACKUP="MMM.NNN.OOO.PPP"
resolve_proxy() {
if [ "$UNIVERSITY_PROXY1" = "" ]; then
UNIVERSITY_PROXY1="$UNIVERSITY_PROXY1_BACKUP"
echo "FW: UNIPROXY is assumed to be: $UNIVERSITY_PROXY1"
else
echo "FW: UNIPROXY is: $UNIVERSITY_PROXY1"
fi
if [ "$UNIVERSITY_PROXY2" = "" ]; then
UNIVERSITY_PROXY2="$UNIVERSITY_PROXY2_BACKUP"
echo "FW: UNIPROXY2 is assumed to be: $UNIVERSITY_PROXY2"
else
echo "FW: UNIPROXY2 is: $UNIVERSITY_PROXY2"
fi
}
firewall_start() {
resolve_proxy
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IP6TABLES -P INPUT DROP
$IP6TABLES -P OUTPUT DROP
$IP6TABLES -P FORWARD DROP
#drop invalid packages
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -N ssh
$IPTABLES -N csillu
$IPTABLES -N icmp_security
$IPTABLES -N tcp_security
#enable logging
#$IPTABLES -A INPUT -j LOG --log-prefix "FW: Incoming packet: "
#ban csillu
$IPTABLES -A csillu -p ICMP --icmp-type echo-reply -j ACCEPT
$IPTABLES -A csillu -p ICMP -j DROP
$IPTABLES -A csillu -p TCP --syn -j DROP
$IPTABLES -A csillu -p UDP -j DROP
#ssh chain
$IPTABLES -A ssh -j LOG --log-prefix "FW: Incoming ssh connection: "
$IPTABLES -A ssh -s $LOCALNET -j ACCEPT
$IPTABLES -A ssh -s $DORM_SERVER -j ACCEPT
$IPTABLES -A ssh -s $UNIVERSITY_PROXY1 -j ACCEPT
$IPTABLES -A ssh -s $UNIVERSITY_PROXY2 -j ACCEPT
$IPTABLES -A ssh -m limit --limit 3/s --limit-burst 10 -j ACCEPT
#$IPTABLES -A ssh -p TCP -j REJECT --reject-with tcp-reset
$IPTABLES -A ssh -p TCP -j DROP
#icmp_security chain
#ping of death
$IPTABLES -A icmp_security -p ICMP --icmp-type echo-request -m limit --limit 3/s --limit-burst 10 -j ACCEPT
$IPTABLES -A icmp_security -p ICMP --icmp-type echo-request -j REJECT
$IPTABLES -A icmp_security -p ICMP --icmp-type timestamp-request -m limit --limit 3/s --limit-burst 10 -j ACCEPT
$IPTABLES -A icmp_security -p ICMP --icmp-type timestamp-request -j REJECT
#tcp_security chain
#tcp portscans
$IPTABLES -A tcp_security -p TCP --tcp-flags ALL NONE -j DROP
$IPTABLES -A tcp_security -p TCP --tcp-flags ALL ALL -j DROP
$IPTABLES -A tcp_security -p TCP --tcp-flags ALL FIN,URG,PSH -j DROP
$IPTABLES -A tcp_security -p TCP --tcp-flags SYN,RST SYN,RST -j DROP
$IPTABLES -A tcp_security -p TCP --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPTABLES -A tcp_security -p TCP --tcp-flags FIN,RST SYN,RST -j DROP
$IPTABLES -A tcp_security -p TCP --tcp-flags ACK,FIN FIN -j DROP
$IPTABLES -A tcp_security -p TCP --tcp-flags ACK,URG URG -j DROP
$IPTABLES -A tcp_security -p TCP --tcp-flags ACK,PSH PSH -j DROP
$IPTABLES -A tcp_security -p TCP --syn -m state --state ! NEW -j DROP
#syn storm
$IPTABLES -A tcp_security -p TCP --syn -m limit --limit 5/s --limit-burst 20 -j RETURN
$IPTABLES -A tcp_security -p TCP --syn -s ! $LOCALNET -j REJECT --reject-with tcp-reset
$IPTABLES -A INPUT -s $HAVER_IP -j LOG --log-prefix "FW: Haver SSH: "
$IPTABLES -A INPUT -s $HAVER_IP -j ACCEPT
$IPTABLES -A INPUT -s $GRC_IP -j LOG --log-prefix "FW: ShieldsUP! SSH: "
$IPTABLES -A INPUT -p TCP -s $GRC_IP -j ACCEPT
$IPTABLES -A INPUT -s 192.168.1.101 -j csillu
#allow established,related with everybody
$IPTABLES -A INPUT -s ! $LOCALNET -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p ICMP -j icmp_security
$IPTABLES -A INPUT -p TCP -j tcp_security
#enable loopback iface
$IPTABLES -A INPUT -i $LO_IF -j ACCEPT
#accept all localnet connections
$IPTABLES -A INPUT -s $LOCALNET -j ACCEPT
#ssh
$IPTABLES -A INPUT -p TCP --dport 2022 -j ssh
$IPTABLES -A INPUT -p UDP --dport ! 2022 -j ACCEPT
}
firewall_stop() {
$IPTABLES -F
$IPTABLES -X
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IP6TABLES -P INPUT ACCEPT
$IP6TABLES -P OUTPUT ACCEPT
$IP6TABLES -P FORWARD ACCEPT
}
firewall_restart() {
$IFCONFIG $MAIN_IF down
firewall_stop
sleep 2
firewall_start
$IFCONFIG $MAIN_IF up
}
if [ "$1" = "restart" ]; then
echo "Restarting firewall... "
firewall_restart
elif [ "$1" = "stop" ]; then
echo -n "Stopping firewall... "
firewall_stop
elif [ "$1" = "start" ]; then
echo "Starting firewall... "
firewall_start
else
echo "Usage: rc.firewall start/stop/restart"
fi
echo "Done."
- 1446 megtekintés
Hozzászólások
Ez a sor hatarozottan bugos, el kene tuntetni a -s ! LOCALNET reszt belole:
"$IPTABLES -A INPUT -s ! $LOCALNET -m state --state ESTABLISHED,RELATED -j ACCEPT"
Az = es == operatorokat is kisse keverted a resolve_proxy fuggvenyben, az IPTABLES=`which iptables` jellegu, valamint az "$IPTABLES -A INPUT -p UDP --dport ! 2022 -j ACCEPT" soroknak sincs sok ertelme... Egy tcpdump kimenet (mind a te gepeden, mind az ssh kliensrol) sokat segitene.
- A hozzászóláshoz be kell jelentkezni
Hmmm.
Az első általad kifogásolt sor alatt kettővel az van, hogy a localnetről mindent engeden, szóval ez elvileg nem bug.
Megnéztem és a test = és ==-re ugyanazt az eredményt adja. Konkrétan mi a gond vele?
Az utolsó sornak így belegondolva tényleg nics sok értelme.
tcpdumpot meg majd nemsoká' nézünk.
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
- A hozzászóláshoz be kell jelentkezni
A fenti javaslataid nem befolyásolták a dolgot, bár igazából nem is gondoltam, hogy befolyásolnák.
Tcpdump kimenetek: enyém (19 KB), a haveré (505 KB) (igen, nagy a forgalma :D).
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
- A hozzászóláshoz be kell jelentkezni
Bocs, hogy segiteni probaltam :) Ez a ket file sajnos nagyjabol semmire sem jo, legalabbis nekem nem tunt fel benne TCP/2022-re iranyulo forgalom. Ha lehetne par szurofeltetelt kerni (foleg a tuloldalon 'host aaa.bbb.ccc.ddd' formajaban). A legjobb 1-1 capture file lenne, de a csomagmeret megemelesevel (pl. '-s 65535').
- A hozzászóláshoz be kell jelentkezni
Miért UDP?
[Szerk: Jól elnéztem a dolgot...szorri.
$IPTABLES -A INPUT -p UDP --dport ! 2022 -j ACCEPT
Bár nem értem a szabályt, hogy mindent beengedsz ami UDP és nem a 2022-es portra megy.
]
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
Az már a legvégén van, addigra már csak a távolról jött csomagok maradnak, és mivel csak a 2022-es port van beengedve, ezért a többi engedhető.
De ez a szabály már ki van hagyva...
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
- A hozzászóláshoz be kell jelentkezni
ÁÁÁÁÁ!
Kezdek kiakadni. Nem tudom miért nem működik. :S:S:S
Bakker, ez az iptables tartalma:
root@server:/home/janos# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT tcp -- shieldsup.grc.com anywhere reject-with tcp-reset
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Ezek után elinditok egy portscant a 2022-re, és ez a tcpdumpot és ez a kimenet:
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:42:03.211826 IP (tos 0x0, ttl 113, id 32768, offset 0, flags [none], proto: TCP (6), length: 40) shieldsup.grc.com.43664 > 192.168.1.2.down: S, cksum 0x2978 (correct), 3679618009:3679618009(0) win 8192
15:42:03.213043 IP (tos 0x0, ttl 64, id 55967, offset 0, flags [DF], proto: UDP (17), length: 70) 192.168.1.2.blackjack > 192.168.1.1.domain: [bad udp cksum de9f!] 51213+ PTR? 2.1.168.192.in-addr.arpa. (42)
15:42:03.232505 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: UDP (17), length: 128) 192.168.1.1.domain > 192.168.1.2.blackjack: 51213 NXDomain* q: PTR? 2.1.168.192.in-addr.arpa. 0/1/0 ns: 168.192.in-addr.arpa. SOA[|domain]
15:42:03.232828 IP (tos 0x0, ttl 64, id 55972, offset 0, flags [DF], proto: UDP (17), length: 71) 192.168.1.2.blackjack > 192.168.1.1.domain: [bad udp cksum b600!] 52375+ PTR? 206.142.79.4.in-addr.arpa. (43)
15:42:03.233600 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: UDP (17), length: 102) 192.168.1.1.domain > 192.168.1.2.blackjack: 52375 q: PTR? 206.142.79.4.in-addr.arpa. 1/0/0 206.142.79.4.in-addr.arpa. (74)
15:42:03.233908 IP (tos 0x0, ttl 64, id 55972, offset 0, flags [DF], proto: UDP (17), length: 70) 192.168.1.2.blackjack > 192.168.1.1.domain: [bad udp cksum 5e5!] 33511+ PTR? 1.1.168.192.in-addr.arpa. (42)
15:42:03.256011 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: UDP (17), length: 128) 192.168.1.1.domain > 192.168.1.2.blackjack: 33511 NXDomain* q: PTR? 1.1.168.192.in-addr.arpa. 0/1/0 ns: 168.192.in-addr.arpa. SOA[|domain]
15:42:03.702853 IP (tos 0x0, ttl 113, id 32768, offset 0, flags [none], proto: TCP (6), length: 40) shieldsup.grc.com.43664 > 192.168.1.2.down: S, cksum 0x83b3 (correct), 1119011390:1119011390(0) win 8192
15:42:04.218280 IP (tos 0x0, ttl 113, id 32768, offset 0, flags [none], proto: TCP (6), length: 40) shieldsup.grc.com.43664 > 192.168.1.2.down: S, cksum 0x2978 (correct), 3679618009:3679618009(0) win 8192
15:42:04.734191 IP (tos 0x0, ttl 113, id 32768, offset 0, flags [none], proto: TCP (6), length: 40) shieldsup.grc.com.43664 > 192.168.1.2.down: S, cksum 0x2978 (correct), 3679618009:3679618009(0) win 8192
15:42:05.234629 IP (tos 0x0, ttl 113, id 32768, offset 0, flags [none], proto: TCP (6), length: 40) shieldsup.grc.com.43664 > 192.168.1.2.down: S, cksum 0x2978 (correct), 3679618009:3679618009(0) win 8192
15:42:05.734768 IP (tos 0x0, ttl 113, id 32768, offset 0, flags [none], proto: TCP (6), length: 40) shieldsup.grc.com.43664 > 192.168.1.2.down: S, cksum 0x27ad (correct), 3558706393:3558706393(0) win 8192
15:42:06.234295 IP (tos 0x0, ttl 113, id 32768, offset 0, flags [none], proto: TCP (6), length: 40) shieldsup.grc.com.43664 > 192.168.1.2.down: S, cksum 0x2978 (correct), 3679618009:3679618009(0) win 8192
15:42:06.734060 IP (tos 0x0, ttl 113, id 32768, offset 0, flags [none], proto: TCP (6), length: 40) shieldsup.grc.com.43664 > 192.168.1.2.down: S, cksum 0x65e9 (correct), 3015929591:3015929591(0) win 8192
15:42:07.234468 IP (tos 0x0, ttl 113, id 32768, offset 0, flags [none], proto: TCP (6), length: 40) shieldsup.grc.com.43664 > 192.168.1.2.down: S, cksum 0x2978 (correct), 3679618009:3679618009(0) win 8192
15:42:07.734132 IP (tos 0x0, ttl 113, id 32768, offset 0, flags [none], proto: TCP (6), length: 40) shieldsup.grc.com.43664 > 192.168.1.2.down: S, cksum 0xe19f (correct), 2036346276:2036346276(0) win 8192
15:42:08.210886 arp who-has 192.168.1.1 tell 192.168.1.2
15:42:08.211142 arp reply 192.168.1.1 is-at 00:18:39:c5:d9:bf (oui Unknown)
15:42:10.898840 IP (tos 0x0, ttl 128, id 27111, offset 0, flags [DF], proto: TCP (6), length: 92) 192.168.1.52.3997 > 192.168.1.2.down: P 252374658:252374710(52) ack 600062553 win 64859
19 packets captured
40 packets received by filter
0 packets dropped by kernel
Kapcsiból küldenie kellene a rejecteket, viszont semmit nem küld ki!!!
Kezdek anyázós állapotba kerülni... Pffff.
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
- A hozzászóláshoz be kell jelentkezni
Legalabb egy nyamvadt -n kapcsolod adnal az iptables-nek meg a tcpdump-nak, anelkul semmit sem ernek a postjaid.
- A hozzászóláshoz be kell jelentkezni
másik talán ekkora b**ott nagy postot nem kellen eide berakni (Előnézet), mert egy monitorfal kell, hogy teljesen látható legyen a topic. Töltsd fel vhova inkább.
- A hozzászóláshoz be kell jelentkezni
Na remek!
Most elvileg megy.
De elég gáz. Az az ábra, hogy
rc.firewall restart
után a már nem válaszol semmire! Első inditáskor viszont még szépen nyitva van a port. Azt nem értem, hogy restartnál mi ronthatja el... Pfff. :(
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
- A hozzászóláshoz be kell jelentkezni
mondjuk beirhatnad mi volt a baj, mert engem erdekelne (ha mar atnyalaztam a 50 sornyi szabalyt).
- Use the Source Luke ! -
- A hozzászóláshoz be kell jelentkezni
Szerintem "mindossze" kivegzi a routing tablajat az iface lekonfiguralasa...
- A hozzászóláshoz be kell jelentkezni
Úgy tűnik, hogy igazad van. Kikommenteztem, és most megy restart után is. Hmmm. Elgondolkodtató.
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
- A hozzászóláshoz be kell jelentkezni
Hát ez az! Nem változtattam semmit a scripten!
Éppenhogy csak a fix ip címes ACCEPTeket szedtem ki.
A lényeg az, hogy firewall restart után már nem válaszol a port, és nem tudom, hogy ez miért van... :( (A csomagok megérkeznek, mert megjelennek a syslogban.)
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.
- A hozzászóláshoz be kell jelentkezni