Sziasztok!
Szeretném a segítségeteket kérni, mert az iptables script futtatása után a webszervert nem lehet elérni a netről. Mivel még eléggé kezdő vagyok, így sajnos nem tudok rájönni, hogy miért történik ez. Ha fut a lenti részletet tartalmazó script, akkor van net a belső hálózat gépein is, de nem jó a webszerver... A szerveren squid proxy is fut, szóval a 80-as portot a 8080-ra kellene irányítani, elvielg erre szolgál a lenti részlet utolsó 2 sora...
Az iptables scriptben csak a következő sorok vannak (illetve lennének) hatással a 80-as portra:
echo " Web Server"
echo " HTTP"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 80 -j ACCEPT
echo " HTTPS"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 443 -j ACCEPT
#echo " PREROUTING lánc beállítása..."
# $IPTABLES -t nat -A PREROUTING -p tcp -s $INET_ADDRESS --destination-port 80 -j RETURN
# $IPTABLES -t nat -A PREROUTING -p tcp -s $INET_ADDRESS --destination-port 443 -j RETURN
echo " Átlátszó proxy beállítása..."
# $IPTABLES -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 8080
# $IPTABLES -t nat -A PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-ports 8080
$IPTABLES -A PREROUTING -p tcp -m tcp -i $LOCAL_IFACE --dport 80 -j REDIRECT --to-ports 8080
$IPTABLES -A PREROUTING -p tcp -m tcp -i $LOCAL_IFACE --dport 443 -j REDIRECT --to-ports 8080
Melyik parancs hatására válik láthatatlanná az apache? Esetleg valamelyik szabály ellentétes vagy összeakad a másikkal?
Lécci segítsetek, mert kezdek begolyózni...
Bazsi
Nem tudom, hogy kell-e, de azért bemásolom ide a teljes scriptet, hátha máshol van a hiba...
#!/bin/sh
#
#=====================================================================
#=====Tűzfal indítása
#=====================================================================
#
FWVER=1.3.6
echo "================================================================"
echo "================= Tűzfal (v. $FWVER) indítása... ================="
echo "================================================================"
IPTABLES=/sbin/iptables
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobe
#
#=====================================================================
#=====Eszközök beállítása
#=====================================================================
#
# ADSL-es internet kapcsolat esetén a külső eszközt valószínűleg
# ppp0-nak kell beállítani. A pontos beállításokhoz használd az
# "ifconfig" parancsot.
#
# Internet interface adatai
INET_IFACE="ppp0"
INET_ADDRESS="saját.fix.ip.cimem"
# Intranet interface adatai
LOCAL_IFACE="eth1"
LOCAL_IP="192.168.15.1"
LOCAL_NET="192.168.15.0/24"
LOCAL_BCAST="192.168.15.255"
# Localhost interface adatai
LO_IFACE="lo"
LO_IP="127.0.0.1"
echo "Hálózati eszközök beállítása:"
echo "================================================================"
echo ""
echo "Internet interface adatai:"
echo "----------------------------------------------------------------"
echo " Internet kapcsolat azonosítója: $INET_IFACE"
echo " Internet kapcsolat IP címe: $INET_ADDRESS"
echo ""
echo "Intranet interface adatai:"
echo "----------------------------------------------------------------"
echo " Intranet kapcsolat azonosítója: $LOCAL_IFACE"
echo " Intranet kapcsolat IP címe: $LOCAL_IP"
echo " Intranet hálózat: $LOCAL_NET"
echo " Intranet hálózat broadcast címe: $LOCAL_BCAST"
echo ""
echo "Localhost interface adatai:"
echo "----------------------------------------------------------------"
echo " Localhost kapcsolat azonosítója: $LO_IFACE"
echo " Localhost kapcsolat IP címe: $LO_IP"
#
#=====================================================================
#=====Modulok betöltése
#=====================================================================
#
echo ""
echo "Kernel modulok betöltése:"
echo "================================================================"
echo ""
echo " Kernel modulok vizsgálata:"
$DEPMOD -a
echo "----------------------------------------------------------------"
echo " ip_tables"
$MODPROBE ip_tables
echo " ip_conntrack"
$MODPROBE ip_conntrack
echo " ip_conntrack_ftp"
$MODPROBE ip_conntrack_ftp
echo " ip_conntrack_irc"
$MODPROBE ip_conntrack_irc
echo " iptable_nat"
$MODPROBE iptable_nat
echo " ip_nat_ftp"
$MODPROBE ip_nat_ftp
echo " ip_nat_irc"
$MODPROBE ip_nat_irc
#echo " ipt_unclean"
# $MODPROBE ipt_unclean
echo " ipt_MASQUERADE"
$MODPROBE ipt_MASQUERADE
echo " iptable_mangle"
$MODPROBE iptable_mangle
echo " ipt_state"
$MODPROBE ipt_state
echo " ipt_limit"
$MODPROBE ipt_limit
echo " iptable_mangle"
$MODPROBE iptable_mangle
echo "----------------------------------------------------------------"
echo "Modulok betöltése kész!"
#
#=====================================================================
#=====Kernel paraméterek beállítása
#=====================================================================
#
echo ""
echo "Kernel paraméterek beállítása:"
echo "================================================================"
echo ""
echo " IP továbbítás engedélyezése..."
echo "1" > /proc/sys/net/ipv4/ip_forward
echo " DynamicAddr engedélyezése..."
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo " SYN Flood védelem aktiválása..."
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo " ICMP csomagok elfogadása..."
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo " Secure_redirect kérések elfogadása csak az alapértelmezett gateway-től..."
echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects
echo " Valótlan címekről érkező csomagok naplózása..."
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
#
#=====================================================================
#=====Irányelvek beállítása
#=====================================================================
#
echo ""
echo "Irányelvek beállítása:"
echo "================================================================"
echo ""
echo " Alapértelmezett szabályok irányelveinek átállítása..."
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
echo " Láncok szabályainak törlése..."
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
echo " Üres láncok törlése..."
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X
echo " Irányelvek beállítása..."
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#
#=====================================================================
#=====Saját láncok és szabályok létrehozása, beállítása
#=====================================================================
#
echo ""
echo "Saját láncok és szabályok létrehozása, beállítása:"
echo "================================================================"
echo " Saját láncok létrehozása..."
$IPTABLES -N bad_packets
$IPTABLES -N bad_tcp_packets
$IPTABLES -N icmp_packets
$IPTABLES -N udp_inbound
$IPTABLES -N udp_outbound
$IPTABLES -N tcp_inbound
$IPTABLES -N tcp_outbound
#echo " Saját láncok és szabályok beállítása..."
$IPTABLES -A bad_packets -p ALL -i $INET_IFACE -s $LOCAL_NET -j LOG --log-prefix "Illegal source: "
$IPTABLES -A bad_packets -p ALL -i $INET_IFACE -s $LOCAL_NET -j DROP
$IPTABLES -A bad_packets -p ALL -m state --state INVALID -j LOG --log-prefix "Invalid packet: "
$IPTABLES -A bad_packets -p ALL -m state --state INVALID -j DROP
$IPTABLES -A bad_packets -p tcp -j bad_tcp_packets
$IPTABLES -A bad_packets -p ALL -j RETURN
$IPTABLES -A bad_tcp_packets -p tcp -i $LOCAL_IFACE -j RETURN
$IPTABLES -A bad_tcp_packets -p tcp -i $LOCAL_IFACE ! --syn -m state --state NEW -j DROP
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn: "
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "Stealth scan: "
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j DROP
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "Stealth scan: "
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "Stealth scan: "
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG --log-prefix "Stealth scan: "
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "Stealth scan: "
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "Stealth scan: "
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPTABLES -A bad_tcp_packets -p tcp -j RETURN
$IPTABLES -A icmp_packets --fragment -p ICMP -j LOG --log-prefix "ICMP Fragment: "
$IPTABLES -A icmp_packets --fragment -p ICMP -j DROP
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j LOG --log-prefix "Ping detected: "
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
# $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j DROP
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -j RETURN
#
#=====================================================================
#=====Szerver szolgáltatások engedélyezése
#=====================================================================
#
echo ""
echo "Szerver szolgáltatások engedélyezése:"
echo "================================================================"
echo " NetBIOS Server"
$IPTABLES -A udp_inbound -p UDP -s 0/0 --destination-port 137 -j DROP
$IPTABLES -A udp_inbound -p UDP -s 0/0 --destination-port 138 -j DROP
echo " Network Time Protocol (NTP) Server"
$IPTABLES -A udp_inbound -p UDP -s 0/0 --destination-port 123 -j ACCEPT
echo " DNS Server"
$IPTABLES -A udp_inbound -p UDP -s 0/0 --destination-port 53 -j ACCEPT
$IPTABLES -A udp_inbound -p UDP -s 0/0 --source-port 53 -j ACCEPT
echo " External DHCP Server"
$IPTABLES -A udp_inbound -p UDP -s 0/0 --source-port 68 --destination-port 67 -j ACCEPT
# No match
$IPTABLES -A udp_inbound -p UDP -j RETURN
$IPTABLES -A udp_outbound -p UDP -s 0/0 -j ACCEPT
echo "DNS Server - zone transfers and large requests"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 53 -j ACCEPT
echo " Web Server"
echo " HTTP"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 80 -j ACCEPT
echo " HTTPS"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 443 -j ACCEPT
echo " FTP Server (Control)"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 21 -j ACCEPT
echo " FTP Client (Data Port for non-PASV transfers)"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --source-port 20 -j ACCEPT
echo " Passive FTP"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 62000:64000 -j ACCEPT
echo " Email Server"
echo " SMTP"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 25 -j ACCEPT
#echo " POP3"
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 110 -j ACCEPT
#echo " S-POP3"
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 995 -j ACCEPT
echo " IMAP4"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 143 -j ACCEPT
echo " S-IMAP4"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 993 -j ACCEPT
echo " sshd"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 22 -j ACCEPT
echo " MSN Messenger File Transfers"
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 6891:6900 -j ACCEPT
# No match
$IPTABLES -A tcp_inbound -p TCP -j RETURN
#
#=====================================================================
#=====Letiltott szolgáltatások
#=====================================================================
#
echo ""
echo "Szolgáltatások letiltása:"
echo "================================================================"
echo " IRC"
$IPTABLES -A tcp_outbound -p TCP -s 0/0 --destination-port 194 -j REJECT
echo " Usenet Access"
$IPTABLES -A tcp_outbound -p TCP -s 0/0 --destination-port 119 -j REJECT
# No match
$IPTABLES -A tcp_outbound -p TCP -s 0/0 -j ACCEPT
#
#=====================================================================
#=====INPUT lánc beállítása
#=====================================================================
#
echo ""
echo "INPUT lánc beállítása:"
echo "================================================================"
echo " Minden forgalom engedélyezése a $LO_IFACE -on..."
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
echo " Rossz csomagok eldobása..."
$IPTABLES -A INPUT -p ALL -j bad_packets
#echo " DOCSIS kompatibilis kábelmodem beállítása..."
# $IPTABLES -A INPUT -p ALL -d 224.0.0.1 -j DROP
# $IPTABLES -A INPUT -p ALL -d 224.0.0.1 -j ACCEPT
echo " Saját hálózatra vonatkozó szabályok (accessing gateway system itself)"
$IPTABLES -A INPUT -p ALL -i $LOCAL_IFACE -s $LOCAL_NET -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LOCAL_IFACE -d $LOCAL_BCAST -j ACCEPT
echo " DHCP kliens kérelmek engedélyezése $LOCAL_IFACE-en..."
$IPTABLES -A INPUT -p UDP -i $LOCAL_IFACE --source-port 68 --destination-port 67 -j ACCEPT
echo " Létező kapcsolatok elfogadása"
$IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
echo " További csomagok átirányítása a megfelelő felhasználói láncra..."
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_inbound
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_inbound
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
# Drop without logging broadcasts that get this far. Cuts down on log clutter.
# Comment this line if testing new rules that impact broadcast protocols.
$IPTABLES -A INPUT -m pkttype --pkt-type broadcast -j DROP
echo " Nem illeszkedő csomagok naplózása...”
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-prefix "INPUT packet died: "
#
#=====================================================================
#=====FORWARD lánc beállítása
#=====================================================================
#
echo ""
echo "FORWARD lánc beállítása:"
echo "================================================================"
echo " Rossz csomagok eldobása..."
$IPTABLES -A FORWARD -p ALL -j bad_packets
echo " TCP csomagok elfogadása, amiket továbbítani akarunk belső címekről"
$IPTABLES -A FORWARD -p tcp -i $LOCAL_IFACE -j tcp_outbound
echo " UDP csomagok elfogadása, amiket továbbítani akarunk belső címekről"
$IPTABLES -A FORWARD -p udp -i $LOCAL_IFACE -j udp_outbound
echo " Azon további csomagok elfogadása, amiket nincsenek tiltva a belső címekről"
$IPTABLES -A FORWARD -p ALL -i $LOCAL_IFACE -j ACCEPT
echo " Deal with responses from the internet"
$IPTABLES -A FORWARD -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
echo " Log packets that still don't match"
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-prefix "FORWARD packet died: "
#
#=====================================================================
#=====OUTPUT lánc beállítása
#=====================================================================
#
echo ""
echo "OUTPUT lánc beállítása:"
echo "================================================================"
echo " Érvénytelen ICMP csomagok eldobása..."
$IPTABLES -A OUTPUT -m state -p icmp --state INVALID -j DROP
echo " Localhost"
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT
echo " Belső hálózat irányába"
$IPTABLES -A OUTPUT -p ALL -s $LOCAL_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $LOCAL_IFACE -j ACCEPT
echo " Az internet felé"
$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT
echo " Log packets that still don't match"
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-prefix "OUTPUT packet died: "
#
#=====================================================================
#=====NAT beállítása
#=====================================================================
#
echo ""
echo "NAT beállítása:"
echo "================================================================"
#echo " PREROUTING lánc beállítása..."
# $IPTABLES -t nat -A PREROUTING -p tcp -s $INET_ADDRESS --destination-port 80 -j RETURN
# $IPTABLES -t nat -A PREROUTING -p tcp -s $INET_ADDRESS --destination-port 443 -j RETURN
echo " Átlátszó proxy beállítása..."
# $IPTABLES -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 8080
# $IPTABLES -t nat -A PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-ports 8080
$IPTABLES -A PREROUTING -p tcp -m tcp -i $LOCAL_IFACE --dport 80 -j REDIRECT --to-ports 8080
$IPTABLES -A PREROUTING -p tcp -m tcp -i $LOCAL_IFACE --dport 443 -j REDIRECT --to-ports 8080
echo " POSTROUTING lánc beállítása"
# $IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_ADDRESS
# $IPTABLES -t nat -A POSTROUTING -s $LOCAL_NET -j SNAT --to-source $INET_ADDRESS
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
$IPTABLES -A FORWARD -i $INET_IFACE -o $LOCAL_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
echo " MTU csomagok méretének szabályozása..."
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1453: -j TCPMSS --set-mss 1452
# ADSL-es internet kapcsolat esetén a problémánk lehet az MTU-csomagok
# méretével, ezért az előző sor elől mindenképpen ki kell venni a
# kommentet.
# NMAP FIN/URG/PSH Scan detektálás
$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 1/minute -j LOG --log-level 5 --log-prefix "FireWall.nmap-xmas:"
$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
# SYN-FLOODING PROTECTION (4 kapcsolatkérés másodpercenként)
$IPTABLES -N syn-flood
$IPTABLES -A INPUT -i $INET_IFACE -p tcp --syn -j syn-flood
$IPTABLES -A syn-flood -j LOG --log-level 5 --log-prefix "FireWall.syn-flood:"
$IPTABLES -A syn-flood -m limit --limit 20/s --limit-burst 4 -j RETURN
$IPTABLES -A syn-flood -j DROP
echo ""
echo "================================================================"
echo "==================== Tűzfal betöltése kész! ===================="
echo "================================================================"
echo ""
- 1773 megtekintés
Hozzászólások
ránézésre az output láncon nem engedélyezed a már felépült kapcsolatokat.... (ESTABLISHED)
- A hozzászóláshoz be kell jelentkezni
Szóval egy ilyen sor hiányzik:
$IPTABLES -A OUTPUT -o $INET_IFACE -m state --state ESTABLISHED -j ACCEPT
--
Bazsi
Ma is holnap fekszünk le, mint tegnap...
- A hozzászóláshoz be kell jelentkezni
öö nem. Ott van a szabályok között, de nem vettem észre. Vagy átírtad már. Amúgy a -s 0/0 és a -p ALL match-ek feleslegesek. Anélkül is ugyanazt jelenti a szabály.
- A hozzászóláshoz be kell jelentkezni