Vraag & Antwoord

OS Linux

Je eigen server op internet.

Anoniem
None
23 antwoorden
  • Mijn doel is om een eigen server aan het internet te hangen die bestuurd wordt door Fedora Core 2. Ik wil met dit onderwerp erachter komen hoe ik dat het beste kan aanpakken.
  • Mijn eerste idee was om de machine met een firewall te voorzien, de standaard firewall die je bij Fedora Core 2 krijgt meegeleverd.
    Dan wil ik poort 22 openzetten voor beheer taken door de admin ( dat ben ik dan ) en de poorten 7777 - 7788 open zetten. Dit zijn de poorten die het spel Unreal Tournament gebruikt. De server wordt dan ook gebruikt om het spel Unreal Tournament te kunnen spelen via het internet.

    De enige problemen die ik me kan indenken zijn security hacks door de SSH verbinding en een hacker die via het spel toegang krijg tot het OS.

    Wat zijn nog meer zaken waar ik op zou moeten letten ?
  • Ik weet niet hoe veel je van linux en servers in't algemeen afweet, doch over 't algemeen wordt aan newbies afgeraden om met servers te gaan spelen aangezien ze meestal geen flauw benul hebben van security.
    Jij schijnt dat wel te hebben, dus da's al een positief punt :)
    Wat je nog zou kunnen doen om de beveiliging te verhogen, is de ssh server op een andere poort instellen, (bij voorkeur ergens boven de 50000), de gameserver in een "chrooted" omgeving draaien en zien dat je de security updates van fedora en van UT bijhoudt. Let ook dat je de firewall goed configureert, het is bv. al aan te raden je firewall zodanig te configureren dat hij ICMP requests e.d. blokkeert, zo antwoordt de server al niet meer op pings en lijkt hij dus onzichtbaar voor buitenaf.
  • Ik denk dat je met het onderstaande al een heel eind komt.

    1) De firewall

    http://wiki.nedlinux.nl/index.php?page=NetFilterTheorie

    http://www.netfilter.org/

    http://www.securityfocus.com/infocus/1711

    2) De Rootkit checker

    http://www.rootkit.nl/

    http://www.chkrootkit.org/

    3) Patchen v/d Kernel

    http://www.grsecurity.net/

    4) Data integrity checking tool

    http://www.tripwire.org/
  • Zo deed ik dat met een server: http://mrlee.homelinux.net/Moodle-ELO.htm

    V.w.b. security heb ik deze doc gemaakt: http://mrlee.homelinux.net/linux-security.htm

    Meer tips&docs: http://mrlee.homelinux.net/linux-tips.htm

    Succes :wink:
  • Nog een tip:

    drop alle root rechten op de root user en maak een user toor oid aan en geef die enkel root rechten.
    Laat uiteraard root user gewoon bestaan. Bij inbraak kan dit flink om de tuin leiden
  • [quote:d93e8c7e08="KayJay"]Nog een tip:

    drop alle root rechten op de root user en maak een user toor oid aan en geef die enkel root rechten.
    Laat uiteraard root user gewoon bestaan. Bij inbraak kan dit flink om de tuin leiden[/quote:d93e8c7e08]

    ROFL nooit over nagedacht eigenlijk. Dan sta je als cracker inderdaad raar te kijken. Een root zonder root rechten. Ga ik eens uit proberen. :D

    Trouwens nu we het toch over accounts hebben. Yuk ga niet zomaar zoals sommigen wel doen (experts uitgezonderd) over tot het wissen van allerlei systeem accounts in /etc/passwd en /etc/shadow het gevolg is vaak een herinstallatie.
  • Ook leuk voor hackers… zeker in / ja…. immutable files :lol:
  • Het wissen van bepaalde users middels groupdel en userdel is alleen verstandig als je weet waar je mee bezig bent en om veiligheidsredenen aan te raden. Hoe meer users op een systeem des te groter de kans is om root rechten te vergaren.

    je kan dus rustig groupdel games doen en userdel gopher
    Dus niet userdel daemon
  • Heren,

    Bedankt allemaal voor de reacties.. Zeer waardevol.

    Ik denk dat ik het probeer zo veilig mogelijk te maken allemaal en zoveel mogelijk te monitoren waar eventuele gaten zitten. Ik denk dat ik zo de beste kans heb om het een succes te maken.

    nogmaals bedankt.
  • [quote:6a0f23565c="KayJay"]Nog een tip:

    drop alle root rechten op de root user en maak een user toor oid aan en geef die enkel root rechten.
    Laat uiteraard root user gewoon bestaan. Bij inbraak kan dit flink om de tuin leiden[/quote:6a0f23565c]

    Uh huh, eerst moet je zorgen dat alle ownerships veranderd worden, anders gaan een aantal SUID binaries niet werken. En ik neem aan dat iemand met een beetje UNIX kennis wel het volgende commando kan tikken:

    [code:1:6a0f23565c]
    {1} cat /etc/passwd | grep ":0:"
    root:*:0:0:Charlie &:/root:/bin/csh
    toor:*:0:0:Bourne-again Superuser:/root:/bin/sh
    [/code:1:6a0f23565c]

    Bovendien is het verhaal zowiezo bullshit, omdat de meeste user exploits gewoon uid 0 kunnen exploiten, onafhankelijk van welke user je er aan koppelt. UID 0 is op verschillende plaatsen (waaronder de kernel) hardcoded als superuser. Beetje jammer, maar dit is alleen maar schijnveiligheid.

    Je kunt beter een systeem/filesystem gaan gebruiken dat fatsoenlijke filesystem flags kent en securelevels (met grsec zul je waarschijnlijk wel iets vergelijkbaars kunnen kunnen krijgen). De meeste Unices ondersteunen securelevels, en o.a. de volgende flags:

    [code:1:6a0f23565c]
    arch set the archived flag (super-user only)
    opaque set the opaque flag (owner or super-user only)
    nodump set the nodump flag (owner or super-user only)
    sappnd set the system append-only flag (super-user only)
    schg set the system immutable flag (super-user only)
    uappnd set the user append-only flag (owner or super-user only)
    uchg set the user immutable flag (owner or super-user only)
    [/code:1:6a0f23565c]

    De grap is dat bij OSes die securelevels hebben flags permanent zijn met een securelevel van 1 of hoger. Daarnaast geld dat een securelevel alleen verhoogd kan worden, en niet verlaagd op een draaiende kernel. De techniek die veel gebruikt wordt is in een heel vroeg stadium van het booten de securlevel op 1 of hoger te zetten, bijv. via sysctl. Vervolgens worden de nodige RC bestanden en sysctl.conf immutable gemaakt, en zijn flags dus alleen te verwijderen als je fysiek achter de machine zit (en de boel dus in single user mode kan booten). Dit biedt veel veiligheid tegen kiddo's, omdat je:

    * /var/log/authlog (op BSDs) append-only kunt maken, en je dus voor een groot aantal daemons kun zien wie probeert te hacken. Na een hack kan de bit, en de informatie in authlog dus niet verwijderd worden. Voor bijv. SSH aanvallen weet je dan al genoeg over je kiddo.
    * Je kunt je packet filter rules immutable maken. Ofterwijl je zorgt dat alleen poorten die jij toestaat doorgelaten worden. Vervolgens maak je de packet filter rules bestand (bijv. ipf.conf) immutable; daarnaast is het op veel Unices niet mogelijk de packet filter rules te veranderen in securelevel 2. Dus een gehackte machine kan niet excessief misbruikt worden (vooral niet als je een packet filter hebt die de inhoud van een protocol kan analyseren).
    * Je kunt belangrijke bestanden (zoals passwd bestanden) immutable of append-only maken.
    * Je kunt (very neat) de shell histories van alle gebruikers append-only maken, en het uitzetten of veranderen van history file uitzetten. Op die manier hebben kiddo's een fun time te proberen shell logs weg te pleuren.
    * Iedereen kan wel meer leuke ideeen verzinnen het leven van kiddo's zuur te maken.

    Overigens zorgen hoge securelevels (bijv 2) er ook voor dat devices read-only zijn, dus dan is het met superuser rechten niet meer mogelijk rechtstreeks te schrijven naar devices, handig tegen een dd if=/dev/zero of=/dev/wd0d (of hda ;)). Natuurlijk zijn immutable flags e.d. zinloos als je OS geen securelevels ondersteund.

    Maar dit soort maatregelen zijn veel zinvoller dan een 5 sec langer nadenk truukje als 0 alleen toor maken. BTW. er zijn nog wel meer leuke dingen te verzinnen, zoals:

    * systracen van processen die open naar de wereld staan; als een proces onder systrace draait is het gewoon niet meer mogelijk fatsoenlijk te exploiten, omdat er niet meer bestanden geopend mogen worden dan er toegestaan is voor dat specifieke proces, idem voor system calls. Zie:

    http://netbsd.gw.com/cgi-bin/man-cgi?systrace++NetBSD-current

    * verified executables: alleen binaries met een checksum die klopt mogen uitgevoerd worden. Overigens werkt dit in combinatie met securelevels, de checksums kunnen alleen toegevoegd worden als het systeem nog in securelevel 0 draait, zodra de switch naar 1 is gemaakt kun je ze niet meer wijzigen, daarom is het een veilig systeem. Zie:

    http://netbsd.gw.com/cgi-bin/man-cgi?verifiedexec+4+NetBSD-current

    Naja, kan nog wel even doorgaan ;). Lees gewoon een goed boek als "Absolute OpenBSD", wat een grondige inleiding geeft in het configureren van servers. De meeste informatie is ook van toepassing op NetBSD en FreeBSD, en gedeeltelijk op Linux (de beveiligingsstappen, de software kan wel verschillen).
  • Dacht dat we het over linux hadden en niet over "gedeeltelijk van toepassing op linux". Ach, Net- en OpenBSD. Zullen we het aantal Net- en OpenBSD servers eens tellen binnen profit en non-Profit organisaties wereldwijd en dan het aantal laten we zeggen Suse/Red Hat servers.

    Wat zou er meer gebruikt worden denk je? En wat zouden multinationals zoals Oracle, Novell, HP en IBM supporten denk je?
  • en wat wil je daarmee zeggen?
    Als installed base een criterium voor kwaliteit is, dan komt de desktopmarkt uit op….

    euhm, tsja
    :oops:
  • [quote:0c717fba81="m3ssi4h"]Dacht dat we het over linux hadden en niet over "gedeeltelijk van toepassing op linux".[/quote:0c717fba81]

    Dat was van toepassing op dat boek.

    [quote:0c717fba81]
    Ach, Net- en OpenBSD. Zullen we het aantal Net- en OpenBSD servers eens tellen binnen profit en non-Profit organisaties wereldwijd en dan het aantal laten we zeggen Suse/Red Hat servers.
    [/quote:0c717fba81]

    Vrij veel belangrijke servers in de internet backbone gebruiken NetBSD en FreeBSD. NASA test TCP voor het gebruik van sattelietnetwerken met NetBSD. Vrijwel de hele IPv6 backbone (6BONE) draait *BSD met de KAME stack (omdat Linux daar jaren te brak voor was op IPv6 vlak). NEC en een aantal andere bedrijven gebruiken NetBSD voor onderzoek en servers voor implementatie van nieuwe technologieen (ook IPv6). NetBSD is op dit moment recordhouder van het Internet2 landspeed wereldrecord, NetBSD schoot packets door de vette pijp met amper CPU belasting en low-end machines, waarom ze daarvoor NetBSD hebben gekozen? In hun eigen woorden: "We have chosen to use NetBSD for our tests, due to the scalability of the TCP code." Een van de grootste UNIX shell providers, SDF, is drie jaar geleden van Linux naar NetBSD overgegaan, omdat Linux te onveilig was, niet genoeg performance leverde, en brak was op high-end RISC-gebaseerde servers (high-end Digital Alpha, UltraSPARC64). Saab draait NetBSD, een aantal internetproviders, waaronder het grote (en tweede oudste ISP) Panix. Een aantal universiteiten draait clusters op NetBSD, bijv. Stevens Institute of Technology. En NetBSD is geintegreerd in veel network-enabled hardware, zoals routers voor optical fibre networks (DYNARC), wireless routers (o.a. ROOT Inc.), sommige Ricoh printers, routers (zoals het in Japan veel gebruikte SEIL). Daarnaast wordt het in veel embedded sytemen gebruikt waarvan je het simpelweg niet weet, omdat de maker het niet willen vertellen (en niet hoeven, dankzij de BSD licentie).

    Daaraan kun je nog toevoegen dat 2/3 van de oorspronkelijke Darwin code voor MacOS X uit NetBSD komt. En verschillende besturingssystemen gebruiken TCP/IP code die uit NetBSD en OpenBSD komt, waaronder Windows (NT/2000/XP), OS/2, AIX.

    Kom dus alsjeblieft niet met pathetische argumenten. Linux is een goed serversysteem, maar er is zeker meer onder de zon, en er zijn systemen die op veel vlakken Linux "verslaan" (en andersom).

    NB. FreeBSD wordt ook gigantisch veel gebruikt, en NetBSD en FreeBSD zijn op technisch niveau ongeveer gelijk (NetBSD 2.0_BETA bleek in sommige testen net iets beter schaalbaar te zijn dan FreeBSD). En tussen NetBSD, FreeBSD en OpenBSD wordt veel code gedeeld.
  • [quote:08f78d24e1="rolfb"]en wat wil je daarmee zeggen?
    Als installed base een criterium voor kwaliteit is, dan komt de desktopmarkt uit op….
    [/quote:08f78d24e1]

    Goede toevoeging, M3ss14h zal zeker Windows fan zijn ;).
  • Ik ben inderdaad windows fan :D . Ben ook blij dat ik ze in mijn auto heb. Geen last meer van regen en wind. Thuis kan ik windows ook echt aanraden je wordt niet meer verkouden en het wordt niet vochtig in huis.
    Een tijdje geleden is bij mij thuis een nieuwe versie van windows geinstalleerd. Ik ben namelijk van enkel laags naar dubbellaags gegaan. Het schijnt dat er door deze upgrade meer energiebesparende mogelijkheden ontstaan.

    Ik zou niet meer zonder windows kunnen :D

    Verder verraad mijn avatar het een en ander over de linuxdistro die ik met veel plezier gebruik. Helaas is avatar kennis alleen voor kenners weggelegd ;)
  • Erm, moet je "Bob" nou weer als excuus gebruiken? Pas op, ander komt hij weer trug op aarde :p.
  • Ik weet niet of het nog steeds zo is, maar vroeger wilde ssh niet inloggen als een account een enter als password had. Over maffe (en niet aan te raden!) maatregelen gesproken ;)

    BTW mbt de root toor wechsel. Het LFS boek kent een package manager variant waarbij sources door diverse users geinstalleerd worden. Hierdoor behoren files op het systeem niet aan root, of je dat uit kunt buiten weet ik niet (je zult iig van het feit af moeten dat su files ongeacht de owner kan editen en verwijderen), maar het is op zich een aardige gedachte.

    Wat je ook zou kunnen doen is commando's als rm cp mv etc te chownen naar een user en suid maken. Dan staat een hacker ook raar te kijken.
  • [quote:fb9e1a717d="Marcel de Reus"]Dan staat een hacker ook raar te kijken.[/quote:fb9e1a717d]

    <muggeziftmodus>

    Moet zijn Cracker. Een Hacker houdt zich met andere dingen bezig.

    </muggeziftmodus>
  • [quote:3a2fa41a5e="Marcel de Reus"]
    Wat je ook zou kunnen doen is commando's als rm cp mv etc te chownen naar een user en suid maken. Dan staat een hacker ook raar te kijken.[/quote:3a2fa41a5e]

    Uhuh, lekker zinvol. Wordt het systeem goed voor jezelf bruikbaar :p. Tsjonge, hier wordt toch een horde aan non-maatregelen voorgesteld. Stel je security gewoon *goed* in, en ga niet dit soort quasi-veiligheden aanbrengen, de gemiddelde hacker/cracker doorziet dat in 20 seconden. Hij/zij hoort in de eerste plaats gewoon niet binnen te komen. En als een cracker binnenkomt moet hij gewoon niks kunnen doen (jail, systrace, verified execs, geen lekke binaries, quota(s), immutable of append-only flags op belangrijke bestanden, etc., non-executable mappings, vermindering SUID binaries, etc.).

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.