[Guide] Web & Web Server Secure

NikeR

New Member
Joined
Apr 8, 2008
Messages
927
Reaction score
318
Здравейте, гледайки Noob-ските теми преди мен,
реших да ви светна как да си настроите Защитата на Web Сървъра.
Нека започнем с php.ini Фаила.
При правилно конфигуриране може да си спестите 90% от писане на PHP скриптове, които да ви правят защита.
Отваряте php.ini с Notepad/Wordpad/Notepad++/Dreamweaver ect...
И конфигурирате следните неща по този начин:

1.
Code:
allow_url_include = Off
Можете да включите даден файл от вашия собствен сайт, но не и от друг сървър (блокира http// and https//) . Ето един пример как да конвертирате URL включват към този, който не използва URL:
Това ще го забрани и ще изкара грешка
Code:
include('http://yoursite.com/page.php');
Това ще го include
Code:
include($_SERVER['DOCUMENT_ROOT'] . '/page.php');
Така ако някой е решил да ви вкарва някакви скриптчета от неговия
Сайт, няма да успее.

2.
Code:
display_errors = Off
display_startup_errors = Off
log_errors = On
error_reporting = E_ALL
error_log = /home/[COLOR="Red"]yourUserID[/COLOR]/public_html/errors.txt
Така кофигорирайки тези неща, няма да се показват грешки от php.
А ще се записват в даден текстов файл. Така като не се показват
грешки във вашата страница, можете да прикриете много лесно от къде
можете да бъдете атакувани лесно и в същото време ще се записват и вие ще може да прегледате вашия лог файл.
П.с. Във папката с файла errors.txt направете един файл .htaccess
Със съдържание:
Code:
order allow,deny
deny from all

3.
expose_php = Off
Това не е толкова важно, но не боли ако го сложите.
Това ще прикрие коя версия на php ползвате.

4.
Code:
magic_quotes_gpc = On
PHP препоръчват това да е изключено, за да може да се справяте с защитата на "magic_quotes", но тъй като не знаете как да ги използвате. Най-добре е да са включени.
Code:
magic_quotes_sybase = Off
ТОва е опция на magic_quotes, най-добре го изключете.

5.
Code:
register_globals = Off
Това е едно от най-важните неща които трябва да конфигорирате.
Вероятно сте виждали скрипт като този:
Когато register_globals = On, то somevalue може да премине
през вашия скрипт с неговата стойност. Така могат да зададат
каквато си искат стойност чрез "somevalue".
Затова е много важно:
Code:
register_globals = Off

6.
Code:
safe_mode = Off
Тази опция не е за препоръчване в php.ini. Даже много съм се чудил как да я настроя. Тя разширява ограниченията на някой скриптове и може
да ви даде грешка. Немога да кажа, че защитава нещо, така че
препоръчвам да е изключена. Не е голямо значение дали ще е включена или изкючена, ноо знам че в PHP 6, дори няма да съществува.

7.
Code:
disable_functions = dl,show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open, curl_exec, curl_multi_exec, parse_ini_file, proc_close, highlight_file, pcntl_exec, apache_note, apache_setenv, closelog, debugger_off, debugger_on, define_syslog_variables, escapeshellarg, escapeshellcmd, ini_restore, openlog, pclose, pcntl_exec, proc_get_status, proc_nice, proc_terminate, syslog, system,url_exec
Това не е много задължително, но за да сте 100% сигурни, премахнете по опасните функции за вас.

Е вече конфигорирахме нашия php.ini файл.




8.

Много скриптове пробвах, но най сигурния вариант срещу XSS и SQL Injection е ето тази функция, която видях в сайта на PHP ии я попромених малко:
Code:
function protect($val) {
$val = addslashes($val);
$val = htmlspecialchars($val, ENT_NOQUOTES);
return $val;
}
foreach($_GET as $key => $val) { $_GET[$key] = protect($val); }
foreach($_POST as $key => $val) { $_POST[$key] = protect($val); }
foreach($_COOKIE as $key => $val) { $_COOKIE[$key] = protect($val); }
foreach($_SESSION as $key => $val) { $_SESSION[$key] = protect($val); }
Това го слагате най-горе в index.php сте готови.

Ето как да я използвате:
Code:
mssql_query("SELECT * FROM MEMB_INFO WHERE memb___id ='".protect($_POST['UserName'])."'");
Винаги когато правите някаква заяфка към дата базата
Използвайте функцията за да защитите променливата.
Това е абсолютно всичко, което ви трябва при защитата на вашия сайт
за MuOnline.
Не ви трябват други объркващи скриптове и т.н.
И помнете, не е хубаво да наблъскате 100 функции за защита,
защото те може една друга да се объркат. Колкото по-малко, толкова по-добре.


Надявам се този урок да е бил полезен и един път завинаги, неграмотниците да спрат да пускат теми с Web Secure и да слагат
в тях абсолютно излишни скриптове.

Темата е правена лично от мен. Моля ако имам правописни грешки да ме извините, всеки греши. И Бих бил благодарен, ако уважавате труда ми и не я копирате в други форуми.
УСПЕХ :)
 
Last edited:
Здравейте, гледайки Noob-ските теми преди мен,
реших да ви светна как да си настроите Защитата на Web Сървъра.
Нека започнем с php.ini Фаила.

Надявам се този урок да е бил полезен и един път завинаги, неграмотниците да спрат да пускат теми с Web Secure и да слагат
в тях абсолютно излишни скриптове
.

Темата е правена лично от мен. Моля ако имам правописни грешки да ме извините, всеки греши. И Бих бил благодарен, ако уважавате труда ми и не я копирате в други форуми.
УСПЕХ :)

Това според мен е излищно :) зависта ти към "определен човек" я знаем :) не е нужно да я споделяш всеки път като пускаш някой тема :)
Знанието на някой основни и по-важни неща отностно уеб нестава само с "шмъркане на бира през сламка като си в училище по време на час" или с копиране от този и онзи ами с четене ;)

По темата: Полезен урок, НО това което си писал, че тези неща ти спестяват някои излищни скриптове които са били пускани в предни теми се лъжеш ;)
 
  • Like
Reactions: NikeR
Еее браво бе.Показа най-после как да се защитават от rfi/lfi :D
 
  • Like
Reactions: NikeR
Това според мен е излищно :) зависта ти към "определен човек" я знаем :) не е нужно да я споделяш всеки път като пускаш някой тема :)
Знанието на някой основни и по-важни неща отностно уеб нестава само с "шмъркане на бира през сламка като си в училище по време на час" или с копиране от този и онзи ами с четене ;)

По темата: Полезен урок, НО това което си писал, че тези неща ти спестяват някои излищни скриптове които са били пускани в предни теми се лъжеш ;)

Хах, кой ми се присмял, че копирам... (няма да коментирам)
Относно излишните скриптове имам въпрос.
Можеш ли да ми обясниш закво са ти манджи с пастарма ?
Абсолютно излишно е да си осложняваме живота със скриптове,
които дори незнаем що сме ги сложили....
Мога да ти кажа, че това е 100% абсолютно всичко, което ти трябва
за защита

P.s. надявам се съм разяснил абсолютно всичко, кое за какво се използва

П.с2. Бацко, докажи ми, че скриптовете в предишните теми не са излишни...
 
Last edited:
Хах, кой ми се присмял, че копирам... (няма да коментирам)
Относно излишните скриптове имам въпрос.
Можеш ли да ми обясниш закво са ти манджи с пастарма ?
Абсолютно излишно е да си осложняваме живота със скриптове,
които дори незнаем що сме ги сложили....
Мога да ти кажа, че това е 100% абсолютно всичко, което ти трябва
за защита

P.s. надявам се съм разяснил абсолютно всичко, кое за какво се използва

П.с2. Бацко, докажи ми, че скриптовете в предишните теми не са излишни...

Не съм съгласен с теб..., но иначе браво за темата. Темата си заслужава, но както ти каза "нооб-овете" винаги ще имат проблем със secure! И честно, нека да се правят теми със secure скриптове... на никой не вредят! (rock)
 
Не съм съгласен с теб..., но иначе браво за темата. Темата си заслужава, но както ти каза "нооб-овете" винаги ще имат проблем със secure! И честно, нека да се правят теми със secure скриптове... на никой не вредят! (rock)

Както знаш функциите се натрупват една на друга,
закво трябва да са манджа. Немога да разбера що не си съсзададете един
ред на програмиране и всичко да ви е точно.
За мен са излишни, след като мога и с една - ИДЕАЛНО ПРОСтАТА функция да си бачкам.
Не, че вредят аз не съм казал това, но закво тряя да си набивам мега херцата е така, като ми върши работа най-обикновенна функция всичко.
И закво трябва всичко да ми е на дроб... ??
 
Както знаш функциите се натрупват една на друга,
закво трябва да са манджа. Немога да разбера що не си съсзададете един
ред на програмиране и всичко да ви е точно.
За мен са излишни, след като мога и с една - ИДЕАЛНО ПРОСтАТА функция да си бачкам.
Не, че вредят аз не съм казал това, но закво тряя да си набивам мега херцата е така, като ми върши работа най-обикновенна функция всичко.
И закво трябва всичко да ми е на дроб... ??

Така е, но ако ти пишеш раздробено е твой проблем :), а и така, не че не "гепиш" херци ама ся има ли смисъл да си говорим, а в PHP, както и друг вид програмен език има "зачистване", тоест след всяка операция се "зачиства" мястото използвано за обработка на дадена задача. Ако се сетиш как е го ползвай и ще видиш голяма разлика :* (handshake)
 
Така е, но ако ти пишеш раздробено е твой проблем :), а и така, не че не "гепиш" херци ама ся има ли смисъл да си говорим, а в PHP, както и друг вид програмен език има "зачистване", тоест след всяка операция се "зачиства" мястото използвано за обработка на дадена задача. Ако се сетиш как е го ползвай и ще видиш голяма разлика :* (handshake)

А е нима интересуват "зачиствания". Мен тая проста функция ме пази
от атаки и си я слагам. Е аз ползвам различни функции за някои неща...
ноо тва е друга тема. Като най-общо казано за защита ви трябва това
и нищо друго.
 
оправете правописната грешка в заглавието поне, като ще е стики :D
 
ENT_NOQUOTES не трябва ли да е така ENT_QUOTES и ква е разликата между двете фукции.
И на Savoy скрипта със secure не е ли по добър от този?
И едно последно нещо да те питам тези скрипове anti-inject-base64.php, ctracker.php, flood_secure.php, tweety.php не е ли по добре да ги имаме ?
 
ENT_NOQUOTES не трябва ли да е така ENT_QUOTES и ква е разликата между двете фукции.
И на Savoy скрипта със secure не е ли по добър от този?
И едно последно нещо да те питам тези скрипове anti-inject-base64.php, ctracker.php, flood_secure.php, tweety.php не е ли по добре да ги имаме ?

Вместо тях по-добре си сложи ТОВА.
 
ENT_NOQUOTES не трябва ли да е така ENT_QUOTES и ква е разликата между двете фукции.
И на Savoy скрипта със secure не е ли по добър от този?
И едно последно нещо да те питам тези скрипове anti-inject-base64.php, ctracker.php, flood_secure.php, tweety.php не е ли по добре да ги имаме ?

Както вече казах, не ви трябват излишни скриптове.
Това е достатъчно.
Ползвай който искаш скрипт.
На савой също върши работа.
Аз лично му нямам вяра, щото имаше някви модули
дето можеше през тях да се инжектне в уебмагазина му



Ето разликата:
'"' (double quote) става '"' когато ENT_NOQUOTES не е зададено.
''' (single quote) става ' & # 0 3 9; '(без празни места) само когато ENT_QUOTES е зададено.
 
Last edited:
  • Like
Reactions: enduwe