abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    dnes 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    včera 19:00 | Nová verze

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | Nová verze

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Elon Musk prohrál soudní spor se společností OpenAI, která se podle jeho žaloby odchýlila od původně uváděného cíle vyvíjet umělou inteligenci (AI) ku prospěchu lidstva. Porota včera po necelých dvou hodinách dospěla k jednomyslnému závěru, že Musk žalobu podal příliš pozdě. Musk byl jedním ze spoluzakladatelů společnosti OpenAI, která vznikla v roce 2015 a vyvinula populární chatovací systém ChatGPT. V roce 2018 na svůj post ve vedení

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 10:22 | Nová verze

    Byla vydána nová verze 10.4 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Opraveny jsou zranitelnosti Copy Fail a Dirty Frag. Přibyl nový obraz pro Orange Pi 5B.

    Ladislav Hagara | Komentářů: 0
    včera 07:44 | Zajímavý software

    Pokud je zranitelnost Linuxu v nepoužívaném jaderném modulu, lze ji jednoduše vyřešit zakázáním automatického načítání tohoto konkrétního zranitelného modulu. Projekt ModuleJail si klade za cíl zvýšit bezpečnost Linuxu zakázáním automatického načítání všech nepoužívaných jaderných modulů. Jedná se o skript, který dá všechny nepoužívané jaderné moduly na blacklist (/etc/modprobe.d/modulejail-blacklist.conf).

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1671 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Blacklist pro php

    17.9.2012 14:17 | Přečteno: 953× | Jen tak na okraj

    Je tomu půl roku, co jsem zde psal blogpost na téma zabezpečení mediawiki. Dlouhou dobu byl klid, ale v průběhu léta se objevily první vlaštovky, které si našly dírku a začaly se do naší mediawiki nabourávat zneužíváním stránek starých, již neaktualizovaných, webů. Nezbylo než pořešit situaci jinak - radikálněji.

    Napsal jsem si tedy malou php funkci, která zařízne další zpracování php skriptu, pokud jde klienta ze "zakázané" domény či adresy. Funguje zcela stupidně, ale spolehlivě. Přes nslookup se zjistí pro IP klienta doména, která se pak ověří proti seznamu zakázaných adres a domén. Nemá-li klient doménu, pouze IP, tak se ověřuje IP adresa.

    function testRemoteClientAddr($ip) {
        if(!empty($ip)) {
            exec("nslookup -type=MX ".$ip." | grep -E -m1 'in-addr.arpa|ip6.arpa'" , $result);
            $dnszaznam = explode(" ", $result[0]);
            //print_r($dnszaznam);
            if ($dnszaznam[0] == '**') {
                $zaznam = $ip;
            } else {
                $zaznam = $dnszaznam[count($dnszaznam) - 1];
            }
            $blacklist = '/etc/blacklist';
            if (is_file($blacklist)) {
                $denyhost = file($blacklist);
                $n = 0;
                while (count($denyhost) > $n) {
                    if (stristr($zaznam, trim($denyhost[$n]).'.')) {
                        return false;
                        } 
                    elseif ( $zaznam == trim($denyhost[$n]) ) {
                        return false;
                        }
                    elseif (strstr($zaznam, trim($denyhost[$n]))) {
                        return false;
                        }
                    $n++;
                    }
                }
            }
            return true;
        }
    
    if (testRemoteClientAddr($_SERVER['REMOTE_ADDR']) == false) {
        exit();
        }
    

    Funkce není nijak vázaná na mediawiki a lze ji tak použít na libovolné php stránce. Obsah souboru /etc/blacklist je jednoduchý. Následující kousek obsahu uvádím jen pro ilustraci..

    .skynetlink.com
    2001:4ba0:fff9:178::2
    .teda.net
    iasi.fiberlink.ro
    
           

    Hodnocení: 20 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    17.9.2012 14:43 loki
    Rozbalit Rozbalit vše Re: Blacklist pro php
    gethostbyaddr(...) ?
    17.9.2012 16:19 misch | skóre: 3
    Rozbalit Rozbalit vše Re: Blacklist pro php
    to bude rychlost, dotaz na DNS při každém přístupu ...
    17.9.2012 19:03 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Neřekl bych, že je to nějaká tragédie.
    17.9.2012 22:08 sigma
    Rozbalit Rozbalit vše Re: Blacklist pro php
    To už bude horší ten exec / nslookup, navrch ještě s rourou na grep. Na každé zobrazení stránky to znamená spuštění 2 procesů. Horší než kdyby to celé jelo přes CGI (i když teda inicializace PHP bude stát víc než nslookup+grep). Ale pro tuhle potřebu to asi nemusí až tak vadit.
    17.9.2012 20:38 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Za mých mladých let se používal /etc/hosts.deny.
    17.9.2012 21:26 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Ten používám taky, ale v případě webu to nemá ten odpovídající efekt.
    Petr Tomášek avatar 18.9.2012 08:03 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Blacklist pro php
    multicult.fm | monokultura je zlo | welcome refugees!
    18.9.2012 08:57 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: Blacklist pro php
    I tohle jsem zkoušel. V takovém případě útočník záhy zjistil, že je doména blokovaná a začal to zkoušet odjinud. Řešení, které jsem použil má tu výhodu, že klient, který leze z blokované domény není serverem odmítnut, "jenom" se přestane zpracovávat skript. Takže sice dál buší jak hluchý do vrat, ale server to zatěžuje minimálně, protože mu vrací stránku z cache.
    18.9.2012 13:51 Roman DAVID | skóre: 24 | Brno
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Zkuste mod_security do Apache. Mozna to bude lepsi nez to resit v PHP.
    18.9.2012 17:33 volvox | skóre: 16
    Rozbalit Rozbalit vše Re: Blacklist pro php
    No, přijde mi, že se pokoušíte vynalést kolo - sice trochu šišaté, zato vlastní ;)

    Já na tot s úspěchem používám mod_rewrite: Denying Hosts in a Blacklist
    rADOn avatar 18.9.2012 17:46 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Tohle by mělo být někde vystavený pro poučení generací budoucích. Jako odstrašující příklad.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    18.9.2012 17:53 loki
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Je to funkcni reseni daneho problemu. Jiste by to slo udelat jinak, ale kdyz to autorovi takto vyhovuje, tak proc ne...
    rADOn avatar 19.9.2012 14:51 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Blacklist pro php
    Spawnovat tri procesy kvuli necemu na co je v php zabudovana funkce? Kterazto neni uplne nutna, pacz staci zapnout lookupy v apacovi a dostane to pekne pod nos v $_SERVER['REMOTE_HOST'].

    Ja kdybych takovehle "funkcni reseni" udelal v praci tak me vybědujou.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    19.9.2012 23:12 CH
    Rozbalit Rozbalit vše Re: Blacklist pro php
    +1

    Ale na druhou stranu to zda se funguje a to je to podstatne, zbytek nikoho nijak zvlast nezajima ... ale radsi proboha verejne neukazovat. :)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.