Zitat von
Harry
Du kannst Dir den kompletten Regelsatz aus dem ursprünglichen Skript auch mit "firewall status" oder "rcfirewall status" ausgeben lassen - schaut stark nach einem Codeteil aus meinem Generator aus
Harry
Zufälle gibt's, Ja es entspringt aus Deinem IPtables Generator. Erstmal ein Kompliment für dieses 1A Script.
Aber wo ich Dich schon mal 'an der Angel' habe, nutze ich die Gelegenheit auch gleich mal.. Ich habe hier ein Problem mit der Verwendung von RAW Sockets. Das äussert sich z.B. bei einem nmap Scan (als root natürlich).
Und zwar habe ich es inzwischen so weit geschafft, dass ich wenigstens meine eigenen IP Scannen kann ohne einen Fehler zu erhalten. Beim Scannen von Remote Systemen (Auch im LAN) kommt aber sowas:
# nmap -O <remote_system>
Starting nmap 3.50 (
http://www.insecure.org/nmap/ ) at 2004-05-05 04:12 CEST
sendto in send_tcp_raw: sendto(3, packet, 60, 0, 123.123.123.123, 16) => Operatio n not permitted
sendto in send_tcp_raw: sendto(3, packet, 60, 0, 123.123.123.123, 16) => Operatio n not permitted
Interesting ports on ...
Ich habe wie gesagt schon ein paar Änderungen gemacht, hier das aktuelle Script.
Code:
echo "Starte IP-Paketfilter"
modprobe ip_tables >/dev/null 2>&1
modprobe ip_conntrack >/dev/null 2>&1
modprobe ip_conntrack_ftp >/dev/null 2>&1
LAN_IP=$(ifconfig eth1 | head -n 2 | tail -n 1 | cut -d: -f2 | cut -d" " -f 1)
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -N MY_REJECT
iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable
iptables -N MY_DROP
iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "DROP PORTSCAN "
iptables -A MY_DROP -j DROP
iptables -N MY_DROPIT
iptables -A MY_DROPIT -m limit --limit 7200/h -j LOG --log-prefix "DROP CON "
iptables -A MY_DROPIT -j DROP
iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID "
iptables -A FORWARD -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "FORWARD INVALID "
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j MY_DROP
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j MY_DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ! ppp+ -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp+ -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --dport 4660:4700 -j DROP
#mehr Ports ohne Log geblockt und ein paar geöffnet, hier nicht von belang
iptables -A INPUT -j MY_DROPIT
iptables -A OUTPUT -j MY_DROPIT
iptables -A FORWARD -j MY_DROPIT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_source_route 2> /dev/null; done
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_redirects 2> /dev/null; done
for i in /proc/sys/net/ipv4/conf/*; do echo 2 > $i/rp_filter 2> /dev/null; done
for i in /proc/sys/net/ipv4/conf/*; do echo 1 > $i/log_martians 2> /dev/null; done
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/bootp_relay 2> /dev/null; done
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/proxy_arp 2> /dev/null; done
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 2> /dev/null
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
echo 5 > /proc/sys/net/ipv4/icmp_ratelimit
echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
echo 30 > /proc/sys/net/ipv4/ipfrag_time
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 3 > /proc/sys/net/ipv4/tcp_retries1
echo 15 > /proc/sys/net/ipv4/tcp_retries2
Also soweit ich mich erinnere, habe ich
- die loopback-ACCEPT Regel nach oben gestellt
- Pakete mit -state INVALID in der OUTPUT chain erlaubt
- evtl. was an den 'default Regeln' mit -m state --state ESTABLISHED, RELATED, etc. geändert. Kann mich nicht mehr genau erinnern.
Also wie werde ich diese RAW Socket Fehler los? Liegt das an den Stealth-Scan settings?
Werde daraus nicht mehr schlau.
Gruss, und danke für die Mühe :-)
Lesezeichen