- předchozí článek - následující článek - obsah -

Linuxové noviny Březen 1998

Niekoľko krokov k zvýšeniu bezpečnosti Linuxu Slackware 3.4

Štefan Šimko, 4. března 1998

Za bezpečnosť budem v tomto článku považovat súbor opatrení zabezpečujúcich, že nikto nezíska kontrolu nad mojim počítačom, neznefunkční ho ani ho nepoužije k útoku na iný systém. Tento článok je zameraný na Slackware 3.4. Väčšina krokov, ktoré teraz uvediem, sa netýka len Slackware, ale Linuxu všeobecne. Slackware je jedna z najznámejších a najpoužívanejších distribúcií Linuxu. Je udržiavaný na Walnut Creek. Jeho domáci archív je na ftp.cdrom.com a má množstvo mirrorov. Zakúpiť sa dá na www.cdrom.com, www.lsl.com, www.cheapbytes.com. Na posledných dvoch stojí len 2 - 3 doláre, avšak s poštovným a clom sa môže predražiť aj na viac ako 500 Sk.

Prvá pomoc

  • Nastavenie rootovho hesla. Toto je veľmi dôležité, pretože jeho vlastník má úplnú kontrolu nad systémom. Heslo by malo mať prinajmenšom 6 znakov, odporúčam však 8, malo by obsahovať veľké, malé písmená, čísla a vhodný je aj nejaký nealfanumerický znak. Nemalo by to byť žiadne zrozumiteľné slovo ani rodné číslo. Hackerské slovníky a programy sa takisto vedia vyrovnať aj so substitúciami typu L - 1, E - 3, O - 0 a podobne.

  • Odstránenie bugov dodávaných v distribúcii. Slackware 3.4 sa dodáva s bugovým dillon crontab/crond. Po inštalácii hned nahradíme celý balík bin.tgz za nový patchnutý z adresy ftp://ftp.cdrom.com/pub/linux/slackware-3.4/slakware/a2. Ak mienime využívať POP3, je vhodné namiesto dodávaného použiť nejaký iný, dobré skúsenosti mám s qpopperom, ktorý sa dá nájsť na adrese http://www.eudora.com/freeware/qpop.html.

  • Vyhodenie zbytočných daemonov z /etc/rc.d/rc.*. Obzvlášť sendmail a sieťoví daemoni v rc.inet2. Čo naozaj nepotrebujeme, to nemá zmysel spúšťať a ochránime sa aj pred rizikom, ze niekedy v budúcnosti sa objaví exploit práve na našu verziu daemonov. Zároveň aj šetríme pamäť servera.

  • To isté pre služby a daemonov v /etc/inetd.conf. Služby, ktoré sme ponechali, by mali byť oklieštené pomocou /usr/sbin/tcpd TCP wrappera.

  • Nastavenie sieťových prístupových práv pre služby, ktoré sme nechali v /etc/inetd.conf. Robí sa to pomocou konfiguračných súborov /etc/hosts.allow a /etc/hosts.deny, ktoré sú konfiguračné súbory tcpd. Čím menej počítačom alebo sieťam povolíme prístup, tým menej ľudí má príležitosť na nás útočiť.

  • Okamžitý prechod na kernel aspoň 2.0.33. Predchádzajúce verzie obsahujú bugy v TCP/IP implementácii, ktoré umožňujú hocikomu zo siete zhodiť Linux a tým mu znemožniť poskytovať služby (Denial Of Service Attack). Čo sa týka kernelu, nezmeniť nastavenie Drop Source-routed Frames, ktoré chráni ostatné počítače od útokov cez náš počítač.

  • Inštalácia najnovšej verzie sendmailu z http://www.sendmail.org/. Obzvlášť dôležité, pretože sendmail je veľmi komplexný program plný bugov. Napriek tomu je však často nutné ho použiť, preto je dôležité mať nainštalovanú poslednú verziu.

  • Inštalácia ssh alebo iného programu zabezpečujúceho, že heslá ani žiadna komunikácia nejde po sieti nezašifrovaná.

  • Odstránenie identifikačných znakov Linuxu. Ak neprezradíme, že používame Linux, vyhneme sa útokom typu: "Je nový exploit na Linux, vyhladajme všetky Linuxy na dosah a hacknime ich". Ako sa dá nájsť Linux? Pomocou login bannerov v /etc/issue.net, pomocou SNMP, sendmail, ftpd atď., pomocou hrdých bannerov "Linux inside" na WWW stránkach a hlavne podľa mena servera, ako napríklad linux.na.univerzite.sk, čo umožňuje skutočne masové automatické hľadanie Linuxov.

Trvalo udržateľná bezpečnosť

  • Nainštalovať software, ktorý pravidelne (z cronu) kontroluje bezpečnosť systému. Napríklad kontrolu setuid programov, privilégii a vlastníctva systémových súborov vykonáva cops. Dobrý program na kontrolu zmien rôznych parametrov súborov, ako času vytvorenia, poslednej zmeny, posledného prístupu, dĺžky, zmeny obsahu atď. je tripwire (obidva najdete na adrese http://www.cert.org/). Tripwire treba nakonfigurovať aby monitoroval tie súbory ktoré potrebujeme. Databázu kontrolných súčtov si treba skopírovať na nejaký iný počítač, aby hackeri po zmene súborov nevykonali update datábazy. Pravidelne kontrolovať heslá užívateľov pomocou programu crack. Napísať si alebo pohladať nejakú kontrolu /var/log/syslog na zlé pokusy o su, /var/adm/wtmp na neštandardné adresy.

  • Sledovať diskusné skupiny a mailing listy zamerané na bezpečnosť, napr. bugtraq, linux-security, CERT advisories, SNI advisories, L0pht advisories.

  • Používať ťažké heslá, ktoré sa nedajú uhádnuť, odporúča sa aspoň jeden nealfanumerický znak, veľké, malé písmená a čísla.

  • Nedávať SUID bit programom, ktoré ho nepotrebujú alebo bez ktorých sa zaobídeme.

  • Učiť sa, učiť sa, učiť sa, stále je niečo nové. Nenechať sa ukolísať pocitom, že sme spravili všetko a že sme dobrí (tuším som zašiel do ideológie).

Paranoia

Ak máte temné tušenie, že to stále nestačí a nemôžete sa zbaviť pocitu, že niekto ide po vás, môžte napríklad preventívne upraviť svoj kernel:

  • Vyhodiť z drivera sieťovej karty kód prepínajúci do Promiscuous Mode, ktorý umožňuje odchytávať z ethernetu packety. Takto dosť sťažíte niekomu, kto hackol váš počítač, útoky na ďaľšie počítače pomocou zachytených hesiel.

  • Vyhodiť používanie modulov.

  • Nastaviť v kerneli kvóty na počet procesov, užívateľov, proces/užívateľ, pamäť/proces atď., aby nám užívatelia nemohli zhodiť systém obyčajným programom alokujúcim pamäť alebo procesy.

  • Vykonať zopár patchov (nápady podľa Phracku 52 - http://www.phrack.com/52/):

    • Znemožniť userom vidieť info o procesoch (dobrý nápad).
    • Znemožniť exec iných fajlov ako boli explicitne povolené (dosť reštriktívne).
    • Ochrana pred útokmi s pretekajúcim bufferom.
    • Rozvrstvenie právomocí na niektoré operácie (potom netreba root privs) vytvorením špeciálnych groups na bindovanie na port < 1024, vytváranie raw socketov.
*


- předchozí článek - následující článek - obsah -