Otthoni webszerver épitése

Fórumok

Szeretnék összehozni egy otthoni kis webszervert ami kiszolgáljon egy-két saját domain-t, kezdő vagyok e témában, tudnátok segitenni ebben hogy aki még kezdő, v.hogy el tudjon indulni, mik a fontos dolgok, mire kell figyelni?
Elsőre feltelepitettem egy Debian etch 4.0 r1-t.
http://www.howtoforge.com/the_perfect_desktop_debian_etch
A két merevlemez szoftveres raid1-ben van.
Beálitottam a ftp helyeket honnan frisitsen.
Feltelepitettem a az SSH-t.
Azt hiszem kezdetnek ennyi innen tovább mi a haladás iránya.
Tűzfal?

Hozzászólások

Leginkább attól függ, hogy mit akarsz szolgáltatni és kinek. meg persze hogy hogyan :-).

Szóval specifikáld jobban a kérdést, különben nem hiszem, hogy érdemi választ fogsz kapni. Amúgy apache2-t telepíts, az a tipikus web szerver.

A webserver müködésének paraméterei:
1.a szerver router mögül kapcsolodik a netre, adsl-re, a routerbe statikus ip-vel, ehhez hogyan kell beálitani a tűzfalat, lehetőleg iptables? howto-szerüen
2.DNS !! lehetséges e ha router dyndns szolgáltatáshoz kapcsolodik, legalább két domaint ide irányitani a gépre és a megfelelő oldalt mutassa ( apache vhost?)hogyan kell beálitani a dns-t hogy ez megvalosuljon, tehát lehessen kapcsolodni a smtp.cim.hu, ftp.cim.hu, cim2.hu, cim3.hu -hoz? howto-szerüen
--- a többi késöbb ----
3.MYSQL
4.POSTFIX+COURIER
5.APACHE
6.PROFTP +MYSQL
7.AMAVIS + CLAMAV + spamassasin
8.WEBMIN ???
ezek lennének a föbb szolgáltatásai a szervernek.

1. ha rotuer mogott vagy, akkor szinte folosleges iptables-t allitani, a rotueren kell forwardolnod a szukseges portokat befele a szerver belso ip-jere, 80...stb

2. dinamikus ip-re nem biztos, hogy tudsz hu-s cimet beallitani, bar fizetos szolgaltatasa talan van ilyen a dyndns-nek, ha megy, akkor minden host-ra azt a ip-t kell beallitani, aztan apache lekezeli a megfeleloen beallitott vhost-okat

3...szerintem ezt nezd meg a desktop setup helyett:
http://www.howtoforge.com/perfect_setup_debian_etch

valaszom: igazabol passz, nem tudom
kerdesem: igazabol minek? nem latom ertelmet, es csak bonyolultabb a hosszabb nev.. egyetlen ertelme akkor lenne, ha kulonbozo kulso ip-kre akarnal minden szolgaltatast tenni. de meg akkor is a mail-t kulon lehetne tenni ugyanazzal a nevvel, ha mx rekordnal masik ip-t adsz meg, de nem ugy tunik, hogy akar ez kell neked.

extra kerdesem: hogy jon ide a bind? mert ugye ezeket a dyndns-en allitod, annak a nameservereben, a sajat gepedrol nem fogja semmi lekerdezni, max a sajat geped, meg a lokal halon, aminek a sajat szervered adod meg dns-nek, de ehhez szerintem eleg, ha a hosts-ba beirod ezt a parat. de ha a dyndns-en jol beallitottad, akkor max annyit nyernel az utobbival is, hogy a lokal keresek nem mennek ki kulso dns-ig

A gép egy belső hálon lenne az lenne a cél ha beirom hogy ftp.nev.dyndns.com akkor lépjen akkor kapcsolodjon a 21 porthoz ftp-nél, a levelezőbe használhassan a smtp.nev.dynns.com és a pop.nev.dyndns.com cimeket, és mail.nev.dyndns.com -nál kapcsolojon a imap-hoz.Gondolom ehhez szükséges a bind9, vagy tévedek?

Igen, és mi ezzel a baj? Belül Te tudod, milyen szolgáltatások lesznek...


# /var/named/zone/com.dyndns.nev

@               IN      SOA     nev.dyndns.com root.nev.dyndns.com. (
                                199609203       ; Serial
                                28800   ; Refresh
                                7200    ; Retry
                                604800  ; Expire
                                86400)  ; Minimum TTL
@               IN      NS      nev.dyndns.com.
@               IN      A       192.168.0.125
ftp             IN      A       192.168.0.125
mail            IN      CNAME   ftp
pop             IN      CNAME   mail
smtp            IN      CNAME   mail

Hol itt a gond?

... hogy más portra kapcsolódjon: Sehogy. Légyszíves, olvasd el, mit jelent a DNS szolgáltatás. Teljesen mindegy, hogy mi a név, a kliens dönti el, hova kapcsolódik.

Zsolt, én nem akarok bunkó, és faragatlan lenni, de ha ennyire nem értesz a dolgokhoz, akkor szerintem tanulj még egy kicsit, ne akarj rögtön a legsűrűbbel kezdeni. Olvasgass, használd a keresőket, wikipedia-t, manualokat, tanulj. Ezzel a tudással mindenütt csak ki fognak nevetni. Alapvető fogalmakkal nem vagy tisztában.

Én is autodidakta módon tanultam, és tudom azt amit tudok, de ehhez akarás is kell. Nem pedig az, hogy a másiktól várni, hogy oldja meg a problémámat. Légy önálló, próbálj meg kérdésekre egyedül választ találni, de legalább az alapokat kérdezd meg egy nálad többet tudó ismerőstől. Ha valamiben nem vagy biztos, inkább százszor kérdezz rá, mint hogy egyszer tévedjél. Sokkal jobban fogsz így haladni, mint azzal a hozzáállással, amit most mutatsz.

Sokban igazad van, és amit eddig megtanultam csak magamnak köszönhető, csak egy sok anyag angolul van ami nem megy egyből a megértése.
És sajnos nincs olyan ismerősöm aki tudna ebben segitenni, ezért is kérdezek itt, nem azt kérem senkitől hogy configokat küldjön csak az elvet szeretném megérteni, hogyan is működik, nem minden van benne a könyvekben, vagy nincs úgy elmagyarázva hogy mindenki megértse!
Az itt kapot segitséggel, rávilágitással végre megalkottam első tűzfal beállitásomat, ami szerintem müködik, és értem de sajnos elsöre hiába olvastam el a howto-t nem volt világos.

Én azt tudom tanácsolni, hogy olvasgass általános hálózati ismeretekről szóló könyve(ke)t is. Szerintem biztosan van magyarul is jó pár. Sajnos címeket nem tudok mondani.
Illetve egyet igen, a Tannenbaum féle Számítógépes Hálózatok-at, de nem vagyok benne biztos, hogy ez kezdőknek jó választás...

Akármennyire gyakorlati dolog is a linux, és hálózatok, némely elméleti alapképzés kihagyhatatlan...

Webmin teljesen jól használható, megkönnyíti a munkát, de nem pótolja a szakértelmet.
A syslog-ng kb annyival jobb a sima syslognál, mint az öngyújtó a kovakőnél. :)
Ésszerű lecserélni, még ha elsőre kicsit "elrettentő" is a konfigurálása. Aztán rájössz, hogy tök logikus. (Majd ezután gyártasz olyan bonyolult konfigokat, amit másnp már nem értesz.:) )

> mennyire ésszerű lecserélni a syslog-ot syslog-ng-re

Nekem a tűzfalnál jött jól, az iptables szövegeit így könnyedén külön fájlba irányíthattam. További előnyeire (TCP, titkosítás) szerintem nagyobb rendszereknél lehet szükség. Ugyanakkor a gyakorlat kedvéért nem hülyeség föltenni. A konfigja tényleg logikus, csak ha valami nem megy, olvasd el a hibaüzenetet indításkor, én nem tettem, ezért sokat vakartam a fejem. :)

Valszinű, hogy valahol typo-t vétettél, egyel több csillagocska, ilyes. Ezért mondtam, hogy ha bepasztázod a bejegyzéseidet, akkor megmondjuk mi a baj. Szokj hozzá, hogy ha valami nem működik, akkor mindenki konfigrészletet, logrészletet ilyeneket fog kérni. Ezt meg lehet előzni, méghozzá úgy, hogy a panaszkodó szövegbe már rögtön be is illeszted. A jövőre nézve ajánlom, hogy fogadd meg, sok szívástól fogod megkimélni magad.

apache2, ha PHP akkor azt fastcgi-vel;

tűzfal: Shorewall

Azt javaslom neked, ha már itt a "Linux kezdő"-ben kérdezel, hogy ne Debian-nal kezd. Valószínű, hogy az Ubuntu Server kiadása is sokkal egyszerűbb, mint a Debian, de én csak a Fedora-t, meg a CentOS-t ismerem, úgyhogy ezeket javaslom. Fedora-ban, meg a többi RedHat származékban a webszerver telepítése néhány gombnyomást igényel csak. Tűzfal, FTP szerver szintén.

Attól még, hogy itt a Linux kezdőben kérdez, miért ne próbálja ki a Debian-t; persze Fedora témában nem vitáznék, elismerem, hogy könnyebb használni. Mondjuk apache-ot beállítani Debian-ban se olyan nehéz, iptables-t meg úgyis át kell tudni látni egy napon (ha komolyak a Kérdező szándékai).

Más: Elhangzott a PHP-fastcgi; weblaboron jó kis cikk van róla, már ha erre van szükség. A cikk azt is leírja, hogy milyen esetben hasznos.

Ez tényleg jó cikk, csak ha elsokasodik a virtualhostok száma, azzal együtt megnő a php-cgi processzek száma és lehet tömni a RAM -ot a gépbe rendesen. Én is így jártam. Viszont amíg kevés volt benne a ram (1GB), addig elég sokat rendetlenkedett. Sűrűn lehaltak a php-cgi processzek. Most teletömtem (4GB), azóta jó. Ezt azért vedd számításba. Nekem egy php-cgi processz 24MB -ot hamizik. Egy virtualhost -hoz (felhasználóhoz) átlagban 4db php-cgi processz van. Így lehet számolni.

--
http://laszlo.co.hu/

,,innen tovább mi a haladás iránya. Tűzfal?''

Akár.
Csicsa, amivel nagyon jól megy az idő. :) smartmontools. squid. Attól függ, mit akarsz.

hi. szerintem nézz körül howtoforge.net en, tuti lesznek jó dolgok. pár jótanács, szerintem ha több vhostod lesz, használj apache mod_vhost ot, és akkor nem kell config fileokat írogatnod minden egyes domainhez, hanem csak egy link a beállitott www könyvtárba. remélem érthető voltam :)

jól látom, h a dyndns.com weboldalon az MX rec. fizetni kell?:(

Először Dir-100 router,
firmware frissítés,
telnet-port letiltás,
DNS lekérdezés (53) kintről befele nem.

aztán itt bent már lehet gyakorlatozni a web szerverrel

Biztonságos Web-szerver kialakítása Debian GNU/Linux 2.2 rendszeren: http://www.szabilinux.hu/bw/bw00.html
pdf (képek nélkül): http://www.szabilinux.hu/bw/BW102.pdf

meg az összes többi: www.szabilinux.hu (van miből gondolkozni)

ha már minden működik,
(és lezajlott a betörés szimulálás, port scanning meg ilyesmi)
routerben beállítani dyndns-t
és lehet kívülrők is próbálgatni.

Naná, hogy a linux is alkalmas a router által kiváltott dolgokra, de a router zsigerből elvégzi a kulimunkát,
így van idő azzal foglalkozni, amivel akarunk (eredetileg).

Arra készülj fel, hogy legjobb volna újra gondolni a partícionálást, nagy levegő, és systemrescue-vel (gparted) átpartícionálni, ugyan innen átírni az fstab-ot, mc-vel a helyére mozgatni a tartalmakat, nyugtatót bevenni, újraindítani.
Aztán lehet szerelni a tulajdonképpeni webszervert.

Természetesen az összes hozzászólást elolvastam,
de azért mégis ajánlom újragondolni a részleteket.
Menet közben nem alakul ki semmi, amiről az elején nem gondolkozunk.
Csak úgy lesz (ahogy lesz).

Webmin használat, ha nagyon kell:
- Tűzfalatat belőni, hogy kintről semmi! Kivéve amit engedsz (80, 443, ssh akárhol).
- ssh szerver belőve
- webmin csak lokálisan érhető el, elindít.
- távolról belép: ssh -p SSHPORT -L 9999:localhost:10000 walak@kick-ass.org
- firefox elindít, beír: https://localhost:9999
- webmin bejön, örül, dolgoz, kilép, bosszankodik, mert elkúr (nem kicsit, nagyon :) belépni már nem tud többé :)

MX rekord, DynDNS
- Dyndns alatt is be lehet állítani a domain MX rekordját. Ízirájder.

--------------------------
eGroupWare, gentoo, gLiveCD és egyéb csacskaságok

Szerintem az oprendszert elsősorban a vas erőssége és a kiszolgálandó sávszélesség kell, hogy meghatározza.
Én ezeket javaslom telepíteni, ha a gép webszolgáltatást végez:
- LigHTTPD + OpenSSL + fastcgi
- PHP5 + eAccelerator + Zend Optimizer
- MySQL vagy PostgreSQL
- vsftpd
Ha tartassz a konzolon kezeléstől akkor GNUPanel (és semmiképpen nem webmin), mivel úgyis csak a webszolgáltatáshoz tartozó dolgokat kell rajta kezelned.

Ha nem lesz előtte tűzfal, akkor:
Shorewall + Snort + chkrootkit

binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.3-dev libpcre3 libpopt-dev linux-kernel-headers lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++
A fenti csomagok közül melyek szükségesek a webszerver müködéséhez, és mire valók, van egypár amit nem ismerek.

apt-cache show <csomagnév>

parancs megmondja mindegyikről.

Amúgy a -dev végű csomagok fejlesztői csomagok; ezek akkor kellenek, ha olyan programot írsz, amely használja ezeket a könyvtárakat, vagy ha olyan programot akarsz forrásból fordítani, amely használja ezeket a könyvtárakat. Meg még néhány speciális esetben.
Illetve fordításhoz, konfiguráláshoz, fejlesztéshez van szükség az olyanokra, mint binutils (make), automake, autoconf, m4, flex, bison, és persze a fordító: cpp, g++.

apt-cache depends <csomagnév>

megmondja, hogy mi kell az adott csomagnak.

Tudnátok véleményt mondani erröl a tüzfal scriptről?

#!/bin/sh

echo "==================== Tuzfal inditasa ===================================="

## Megkeressük az iptables -t
IPTABLES="/sbin/iptables"

# Internet interface adatai
INET_IFACE="eth0"
INET_ADDRESS="192.168.0.100"

# Intranet interface adatai
LO_IFACE="lo"
LO_IP="127.0.0.1"

# Logolási beállitások
TITLE="iptables"

echo "Kernel modulok betoltese:............................................[OK]"

/sbin/depmod -a

/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
# /sbin/modprobe iptable_filter
# /sbin/modprobe iptable_mangle
# /sbin/modprobe iptable_nat
# /sbin/modprobe ipt_LOG
# /sbin/modprobe ipt_limit
# /sbin/modprobe ipt_MASQUERADE
# /sbin/modprobe ipt_owner
# /sbin/modprobe ipt_REJECT
# /sbin/modprobe ipt_mark
# /sbin/modprobe ipt_tcpmss
# /sbin/modprobe multiport
# /sbin/modprobe ipt_state
# /sbin/modprobe ipt_unclean
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc

echo "Kernel parameterek beallitasa:.......................................[OK]"
# IP továbbítás engedélyezése.
echo "1" > /proc/sys/net/ipv4/ip_forward
# DynamicAddr engedélyezése.
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
# SYN Flood védelem aktiválása.
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# This enables source validation by reversed path according to RFC1812.
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
# This option allows a subnet to be firewalled with a single IP address.
#echo "1" > /proc/sys/net/ipv4/conf/all/proxy_arp
# ICMP csomagok elfogadása.
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# This option can be used to accept or refuse source routed
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
# This option can disable ICMP redirects. ICMP redirects
#echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
# Secure_redirect kérések elfogadása csak az alapértelmezett gateway-től.
echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects
# Valótlan címekről érkező csomagok naplózása.
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

echo "Iranyelvek beallitasa:...............................................[OK]"

echo "Alapertelmezett szabalyok iranyelveinek atallitasa:..................[OK]"
$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 "Lancok szabalyainak torlese:.........................................[OK]"
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F

echo "Ures lancok torlese:.................................................[OK]"
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X

echo "Iranyelvek beallitasa:...............................................[OK]"
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

echo "Sajat lancok es szabalyok letrehozasa, beallitasa:...................[OK]"

$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 "Sajat lancok es szabalyok beallitasa:................................[OK]"

### bad_packets szabályok
$IPTABLES -A bad_packets -p ALL -m state --state INVALID -j LOG --log-prefix "$TITLE: 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

### bad_tcp_packets szabályok
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "$TITLE: 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 "$TITLE: 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 "$TITLE: 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 "$TITLE: 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 "$TITLE: 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 "$TITLE: 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 "$TITLE: 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

### icmp_packets szabályok
$IPTABLES -A icmp_packets --fragment -p ICMP -j LOG --log-prefix "$TITLE: 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 "$TITLE: 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
#
echo "Szerver szolgaltatasok engedelyezese:................................[OK]"
#
### udp_inbound szabályok
# 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

# Network Time Protocol (NTP) Server"
# $IPTABLES -A udp_inbound -p UDP -s 0/0 --destination-port 123 -j LOG --log-prefix "$TITLE: NTP: "
$IPTABLES -A udp_inbound -p UDP -s 0/0 --destination-port 123 -j ACCEPT

# DNS Server
# $IPTABLES -A udp_inbound -p UDP -s 0/0 --source-port 53 -j ACCEPT
# $IPTABLES -A udp_inbound -p UDP -s 0/0 --destination-port 53 -j LOG --log-prefix "$TITLE: DNS: "
$IPTABLES -A udp_inbound -p UDP -s 0/0 --destination-port 53 -j ACCEPT

# DHCP Server
# $IPTABLES -A udp_inbound -p UDP -s 0/0 --source-port 68 --destination-port 67 -j LOG --log-prefix "$TITLE: DHCP: "
# $IPTABLES -A udp_inbound -p UDP -s 0/0 --source-port 68 --destination-port 67 -j ACCEPT

# Not matched, so return for logging
$IPTABLES -A udp_inbound -p UDP -j RETURN

### udp_outbound szabályok
# No match, so ACCEPT
$IPTABLES -A udp_outbound -p UDP -s 0/0 -j ACCEPT

### tcp_inbound szabályok
# DNS Server - Allow TCP connections (zone transfers and large requests)
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 53 -j LOG --log-prefix "$TITLE: DNS: "
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 53 -j ACCEPT

# HTTP (Web Server)
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 80 -j LOG --log-prefix "$TITLE: HTTP: "
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 80 -j ACCEPT

# HTTPS (Secure Web Server)
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 443 -j LOG --log-prefix "$TITLE: HTTPS: "
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 443 -j ACCEPT

# FTP Server (Control)
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 21 -j LOG --log-prefix "$TITLE: FTP: "
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 21 -j ACCEPT

# FTP Client (Data Port for non-PASV transfers)
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --source-port 20 -j LOG --log-prefix "$TITLE: FTP: "
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --source-port 20 -j ACCEPT

# Passive FTP
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 62000:64000 -j LOG --log-prefix "$TITLE: FTP: "
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 62000:64000 -j ACCEPT

# Email Server (SMTP)
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 25 -j LOG --log-prefix "$TITLE: SMTP: "
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 25 -j ACCEPT

# Email Server (POP3)
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 110 -j LOG --log-prefix "$TITLE: POP3: "
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 110 -j ACCEPT

# Email Server (IMAP4)
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 143 -j LOG --log-prefix "$TITLE: IMAP4: "
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 143 -j ACCEPT

# SSL Email Server (POP3s)
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 995 -j LOG --log-prefix "$TITLE: POP3s: "
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 995 -j ACCEPT

# SSL Email Server (IMAP4)
# $IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 993 -j LOG --log-prefix "$TITLE: IMAP4s: "
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 993 -j ACCEPT

# SSH (SSH server)
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 55555 -j LOG --log-prefix "$TITLE: SSH: "
$IPTABLES -A tcp_inbound -p TCP -s 0/0 --destination-port 55555 -j ACCEPT

# Not matched, so return so it will be logged
$IPTABLES -A tcp_inbound -p TCP -j RETURN

### tcp_outbound szabályok
# No match, so ACCEPT
$IPTABLES -A tcp_outbound -p TCP -s 0/0 -j ACCEPT

echo "INPUT lanc beallitasa:...............................................[OK]"

# Allow all on localhost interface
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT

# Drop bad packets
$IPTABLES -A INPUT -p ALL -j bad_packets

# 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

# Accept Established Connections
$IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT

# Route the rest to the appropriate user chain
$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.
$IPTABLES -A INPUT -m pkttype --pkt-type broadcast -j DROP

# Log packets that still don't match
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-prefix "$TITLE: INPUT packet died: "
$IPTABLES -A INPUT -j DROP

echo "FORWARD lanc beallitasa:.............................................[OK]"

echo "OUTPUT lanc beallitasa:..............................................[OK]"
# However, invalid icmp packets need to be dropped
$IPTABLES -A OUTPUT -m state -p icmp --state INVALID -j DROP

# Localhost
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT

# To internet
$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT

# Log packets that still don't match
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-prefix "$TITLE: OUTPUT packet died: "
$IPTABLES -A OUTPUT -j DROP

echo "====================== Tuzfal betoltese kesz! ==========================="

[OFF]
Edes draga jo istenem... az ilyen rendszereket de orommel cserelem le iptables-save, iptables-restore parancsokkal...
[ON]

Mas: van valami konkret bajod vele, vagy csak ugy kitetted? Mellesleg a root jelszot meg az ip cimet is ha mellekelned. Emberek, a HUP nem CVS, nem SVN es fokepp nem backup megoldas.

Bocs, ez nem ellened iranyul, csak mar regen kikivankozott. Igaza van pongracz-nak, nem olyan jo dolog, ha a vilag tudomasara hozod, hogy hol sebezheto a rendszered. Ilyent max IRC-n meg pastebin-en... De meg ott is megfontolando. Ja, es tessen megismerkedni a [ code ] (space kimarad) tag hasznalataval.