iptables; de server zélf beveiligen

Pagina: 1
Acties:

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
Ik draai met mijn netwerk internet, door middel van een iptables script.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
IPTABLES="/usr/sbin/iptables -v"
TCP_IN="23,22,443,998,999"

$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t nat -F PREROUTING
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -F OUTPUT

$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT

$IPTABLES -A INPUT -i ppp0 -p tcp -m multiport --destination-port $TCP_IN --syn -j ACCEPT 
$IPTABLES -A INPUT -i ppp0 -p tcp --syn -j DROP
$IPTABLES -t nat -A POSTROUTING -j MASQUERADE
$IPTABLES -t nat -A PREROUTING -i eth0 -p tcp -m multiport --destination-port 80 -j DNAT --to-destination 192.168.0.1:8080

Wat ik nu echter wil, is dat de clients in het netwerk, alle mogelijke wazige poorten op internet kunnen gebruiken (dat ik bijvoorbeeld met een windows computer in mijn netwerk, kan telnetten naar een internet-computer op poort 55; dit kan nu ook al met mijn script).
Verder moet het uiteraard mogelijk zijn om alle games op internet te spelen.

Waar mijn vraag eigenlijk om gaat is, dat ik mijn server zélf nog moet beveiligen.
Zodat bijvoorbeeld een poortscanner via internet, niet de sambapoort ziet, omdat hij daar niet bijkan, maar dat het interne netwerk samba gewoon kan gebruiken.
Naar internet hoeft alleen maar poort 22 open te staan (ssh)

Ik weet dat dit een beetje klinkt als een script-request :P
naja, je mag natuurlijk een kant en klaar script posten ;); maar goeie url's zijn ook welkom.

Ik zie gewoon door de iptables het bos niet meer... :)

  • SiErRa
  • Registratie: Februari 2000
  • Laatst online: 14-08 13:57
De server zelf beveiligen gaat eigenlijk het best door alles wat van buiten komt default te deny'en of droppen.
En dus alleen de poortjes die je wel beschikbaar wil hebben open zet. Dat met dat telnet van een interne pc doe je met een redirect/portforward, dit doe je zelf al in je nat script.

Maar dan eigenlijk andersom.
(waar je al het poort 80 verkeer eerst door een proxy haalt.)

Eigenlijk zou je alles al af moeten kunnen met "man iptables" ;) maar dit is wel een goede url voor veel iptables/netfilter info:
[url="http://netfilter.samba.org/documentation/"]http://netfilter.samba.org/documentation/[/url]

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 14-08 09:26

deadinspace

The what goes where now?

Check
[url="http://gathering.tweakers.net/forum/list_message/11#11"]http://gathering.tweakers.net/forum/list_message/11#11[/url] eens. [url="http://www.linuxguruz.org/iptables/howto/iptables-HOWTO.html"]http://www.linuxguruz.org/iptables/howto/iptables-HOWTO.html[/url] is ook een goede uitleg.

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
naja, de redirect van incoming 80 naar 8080 mag er wel uit.
Dat is namelijk squid, die lekker mijn internetverkeer cached :)
maar aangezien ik naar de campus van de UT vertrek,
heb ik niet echt meer een caching-server nodig :P

  • sirdupre
  • Registratie: Maart 2002
  • Laatst online: 27-04-2025
alle games via NAT kunnen spelen gaat je trouwens niet echt lukken, voor een 2.2 kernel heb je een module genaamd ip_masq_dplay die een aantal spellen deze mogelijkheid wél geeft, maar dan kun je nog niet alles spelen, en zonder die module kun je alles wat met directplay (directx shit) werkt, meteen op je buik schrijven (Unreal en Quake werken wel goed).

Verwijderd

Op maandag 22 juli 2002 13:07 schreef SirDupre het volgende:
alle games via NAT kunnen spelen gaat je trouwens niet echt lukken, voor een 2.2 kernel heb je een module genaamd ip_masq_dplay die een aantal spellen deze mogelijkheid wél geeft, maar dan kun je nog niet alles spelen, en zonder die module kun je alles wat met directplay (directx shit) werkt, meteen op je buik schrijven (Unreal en Quake werken wel goed).
Klok... klepel... iptables is voor 2.4 kernels >:) Wat heeft een 2.2 kernel ermee te maken?

  • riotrick
  • Registratie: Mei 2002
  • Laatst online: 04-07 15:29
Op maandag 22 juli 2002 13:16 schreef Hieronymus het volgende:

[..]

Klok... klepel... iptables is voor 2.4 kernels >:) Wat heeft een 2.2 kernel ermee te maken?
Hetzelfde verhaal gaat uiteraard op voor een 2.4 kernel. Ik weet zo niet of daar ook (al) een directplay module voor is.

[edit]
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Here is the status of the known IP Masq kernel modules or patches as found on the IPMASQ
WWW site's Application Support Matrix. If you have the time and knowledge 
to help in the porting of code, your efforts would be highly appreciated:

 Status   = Module name =   Description and notes
---------   -----------   ----------------------------------
NotPorted     CuSeeme     Used for Video conferencing

NotPorted   DirectPlay    Used for online Microsoft-based games

 Ported   FTP     Used for file transfers
                  - NOTEs:  Built into the kernel and
                        fully supports PORTFWed FTP

NotPorted     H.323  Used for Video conferencing

NotPorted   ICQ   Used for Instant messaging

 Ported   Irc     Used for Online chat rooms
                  - NOTEs: Not included in the kernel.
                         Part of the extra iptables package

NotPorted     Quake  Used for online Quake games

Beta Avail    PPTP    Allow for multiple clients to the same server

NotPorted   Real Audio    Used for Streaming video / audio

NotPorted    VDO Live     Used for Streaming audio?

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
Medal of Honor werkt als een trein hoor :P
verder boeit het ook niet zo.

Het gaat me er momenteel om,
dat ik de server zélf nog wil beveiligen.
de regel:
TCP_IN="23,22,443,998,999"
geld namelijk alleen voor wat er "van buitenaf het binnennetwerk mag betreden.
NU is het nog zaak, om te zorgen dat ook de SERVER ZELF zijn poorten dichtkrijgt.
Hoe kan ik bijvoorbeeld alleen poort 22 en 80 toestaan voor de server?

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
ik heb nu een betere firewall gemaakt :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
IPTABLES="/usr/sbin/iptables"
TCPIN="80"

#Blocked ALLE Traffic naar de server
$IPTABLES -F
$IPTABLES -N block
$IPTABLES -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A block -m state --state NEW -i ! ppp0 -j ACCEPT

#$IPTABLES -A block -j LOG
$IPTABLES -A block -j DROP
$IPTABLES -A INPUT -j block
$IPTABLES -A FORWARD -j block


#--------------------------------------------
#Zet deze server in als gateway
$IPTABLES -t nat -A POSTROUTING -j MASQUERADE

Deze werkt perfect; NIEMAND kan bij welke poort dan ook van mijn server.
Mijn vraag is; kan ik hiermee bijvoorbeeld wel quake doen online?

en nog belangrijker; ik wil wel graag een paar uitzonderingen opnemen. Zo wil ik wel graag een webserver draaien, dus moet poort 80 wél toegestaan zijn.
hiervoor probeerde ik dit (voor de regel van de LOG);
code:
1
2
#Allowed ALLEEN de opgegeven poorten
$IPTABLES -A block -p tcp --destination-port $TCPIN --syn -j ACCEPT

Het probleem is dat hij nu niet alléén de poorten in $TCPIN toestaat, maar nou gaat hij ineens álle poorten toestaan! :)
en dat is niet de bedoeling. Hoe kan ik deze regel aanpassen zodat hij alléén de opgegeven poorten toestaat?

Verwijderd

Lees [url="http://www.nedlinux.nl/~bart/index.php?page=3"]deze[/url] howto eens door en neem eventueel het voorbeeld script over en pas hem aan naar eigen wens.

Heb ik ook gedaan en scheelt een hoop tijd in "studie". Nadeel is dat je er niet echt veel van leert natuurlijk :)
Pagina: 1