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 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    🇨🇽 | Komentářů: 1
    včera 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    🇨🇽 | Komentářů: 7
    včera 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    🇨🇽 | Komentářů: 1
    včera 15:33 | Zajímavý software

    Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    26.12. 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    26.12. 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 7
    26.12. 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    26.12. 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.12. 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (34%)
     (1%)
     (23%)
     (1%)
     (1%)
     (1%)
     (11%)
     (12%)
     (16%)
    Celkem 181 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Blacklist pro php

    17.9.2012 14:17 | Přečteno: 937× | 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.