[Guide] Web Secure

Backo

Well-Known Member
Joined
Jan 17, 2009
Messages
1,212
Reaction score
975
Привет на всички потребители и потребителки на форума. След един доста голям мързел се реших да споделя с Вас за мен най-добрата сигурност за Вашият уеб сайт. Значи какво ще рече това да сте подсигурени от към уеб сайта си? Това ще рече не да си извикате охранителна фирма както всички го мислят или да си "сложите secure" на Вашият сайт а как да настроите уеб сървъра си, някой помощи програмки и два прости и елементарни скрипка за Вашият уеб пакет с който Ви давам гаранция, че проблемите от сорта "спряха ми сяла, дропнаха ми таблицата" и т.н ще са минало за Вас.
Така след това обяснение да започнем с същноста на тази тема:

Стъпка 1

1. Като за начало използвайте уеб сървър Xampp
2. Ето как се инсталирва за тези които незнаят click
3. Принципно всеки знае, че след инсталация на даденият сървър после се влиза в http://localhost/security и се въвеждат пароли и т.н е това не е нужно според мен. Ето какво ще направите след инсталирането на уеб сървъра:
- Отивате в папката на Xampp (C:/xampp - примерно) и изтривате папките phpAdmin и Security
4. Препоръка от мен е да не си слагате форума на компютъра на който сте пуснали сървъра си или уеб сайта и така ще се оттървете от още един начин за пробив и кой е той...?
- Отворете контролният панел на Xampp и спрете работата на MySql (винаги когато пускате наново уеб сървъра спирайте MySql напълно ненужен е ако нямате уеб пакет който да работи с него ;) )

Стъпка 2

1. Настройка на C:\xampp\apache\conf\httpd.conf. Отворете го с Notepad.exe примерно и направете следните промени в него:
- Търсете ThreadsPerChild (default 250) и го променете на ThreadsPerChild 99999
- Променете IP-to което Ви е дадето там 127.0.0.1 на глобалното Ви IP.
2. Настройка на C:\xampp\php\php.ini. Отворете го с Notepad.exe примерно и направете следните промени в него:
- Търсете disable_functions и го променете на disable_functions = system,exec,shell_exec,passthru,error_log,ini_alte r,dl,pfsockopen, openlog, syslog, readlink, symlink, link, leak, popen, escapeshellcmd, proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,escapeshellarg,pcntl_exec
- Търсете safe_mode и го променете на safe_mode = On
- Търсете safe_mode_gid и го променете на safe_mode_gid = On
- Търсете file_uploads и го променете на file_uploads = Off

След всичко това като го направите и вече сте готови рестартирайте уеб сървъра си или за мен ще е най-добре рестартирайте компютъра си.

Стъпка 3

Тук идва реда на помощните програми и скриптове така да ги наречем.
1. Един съвет от мен ползвайте рутер за да не се конектват всички потребители към компютъра директно ами рутера да обира всички лайна които се опитват да ви направят ;)
2. Независимо, че имате рутер пред Вас и той има Firewall (защитна стена) си сложете и на компютъра. За сега за мен Sygate върши идеална работа, но ползвайте някоя по стара версия.
3. Антивирустната Ви програма... тук сигорен съм, че ще има доста спорове, но според мен и също така изпитано от други Ви препоръчвам Avast! Profesional като при него давате на "Висока Защита"
4. По-долу ще видите .htaccess файл който може да сложите в главната директория на Вашият уеб сайт. За какво служи той...? Ами служи за тези които неискат да им се вижда какъв им е уеб сървъра и дали е на Windows или Linux. Това са error pages или преведено страниците за грешки които изкарва след проблеми. Аз съм добавил вътре Error's: 400, 403, 404, 500 като за всички те трябва самички да си направите файлове за всяка една грешка и да ги сложите в главната директория. За тези който не са ме разбрали ето примера:
- Ползвате .htaccess който съм дал и искате на грешка 404 (страницата липсва) да ви искарва това което Вие искате правите файл 404.php слагате го в главната директория и пишете в него това което искате да Ви искарва.
5. За да си спестите главоболията от един друг проблем който е доста досаден (UDP FLOOD) направете следното ;)
- Първо за да залъжете противника си вземете хостинг на минимална цена и трафик (това вече Вие ще прецените) на него сложете един index.php който да препраща към друг адрес (адреса на Вашият компютър) с iframe (<iframe name="theframe" src="blah.html" width="400" height="400" frameborder="0" scrolling="auto"></iframe>). Някой ще кажат "да ама той така пак може да ми види IP-то" ами има решение и то е отворете това и копирайте съдържанието на index.php и дайте encode. Резултата от там го заместете с това което сте написали Вие преди това в index.php. Така като се даде дясно копче няма да се вижда кой е адреса към който се препраща. Също така е хубаво и сайта който е в директорията C:/xampp/htdocs също да е encode.

Стъпка 4

Сигурноста за Вашият уеб пакет в два файла ;) Това може да го намерите и в DarksWeb 0.3 . Преди се чудех всичко това нещо за какво е и как действа и разбрах. Преимуществата на този вид сигурност са, че може да ползвате всички символи, цифри и букви в уеб сайта си и ще сте спокойни. Ако го ползвате това не са Ви нужни скриптове от сорта sql_check, sql_inject който всички познаваме. Двата файла съм ги дал по долу в архива secure.rar Ето как да си ги сложите на Вашият уеб пакет и как да проверите дали всичко е покрито от тях:
- Най-отгоре на Вашият index.php ако ползвате метода index.php=?blabla а ако ползвате метода на DarksWeb 0.1 или BattleZone го сложете в all header's php files това:
Code:
<?
include("sqlcfg.php");
include("secure_login.php"); 
?>
<?php
$queryString = strtolower($_SERVER['QUERY_STRING']);

if (strstr($queryString,"<") OR strstr($queryString,">") OR strstr($queryString,"(") OR strstr($queryString,")") OR
strstr($queryString,"..") OR
strstr($queryString,"%") OR
strstr($queryString,"*") OR
strstr($queryString,"+") OR
strstr($queryString,"!") OR
strstr($queryString,"@")) {
$loc = $_SERVER['PHP_SELF'];
$ip = $_SERVER['REMOTE_ADDR'];
$date = date ("d-m-Y @ h:i:s");
$lfh = "Injection.txt";
$log = fopen ( $lfh,"a+" );
fputs ($log, "Attack Date: $date | Attacker IP: $ip | QueryString: $loc?=$queryString\n");
fclose($log);
header("Location: index.php");
}
?>
- След това отворете sqlcfg.php и променете настройките които са дадени в него.
- Отворете secure_login.php много е важно да знаете коя е сесията която ползва Вашият уеб пакет на потребителският панел. В файла е дадена "member_password" и "member_username" променете ги на Вашите или ако са същите ги оставете така както са си.
- Как да направите sqlcfg.php да покрива всяка една заявка която изпраща или приема Вашият уеб пакет...? Лесно, но разбирасе се иска малко време за това. Ето пример:
-- Отворете тази тема. С тази програмка ще видите всички $_POST, $_GET заявки които има Вашият уеб пакет пред всяка една трябва да сложите думичката "secure" ето примера:
--- $user= $_POST['user']; - $user=secure($_POST['user']); , $account_id = $_SESSION['member_username']; - $account_id = secure($_SESSION['member_username']); .
- Ето снимка как трябва да Ви изглеждат всички заявки click

Това е приятели което мога да Ви помогна. За сега аз съм нямал никакви проблеми с този начин на защита. Всичко което съм написал горе е изпробвано и за сега върши чудесна работа... но разбирасе, че и на него ще намерят цака и затова ние ще измислим пак още по-добър начин за Вашата сигорност ;). Ако имате въпроси пишете в темата и ще Ви бъде отговорено и помогнато разбирасе без да злоупотребявате ;)

Специални благодарности на:
OmaRuCat, newguy, Savoy, Real и не на последно място моя милост Backo (sun)
 

Attachments

  • secure.rar
    1,005 bytes · Views: 387
  • .htaccess.rar
    333 bytes · Views: 373
Last edited:
Браво отново за чудната работа Backo :)
 
- Търсете disable_functions и го променете на disable_functions = system,exec,shell_exec,passthru,error_log,ini_alte r,dl,pfsockopen, openlog, syslog, readlink, symlink, link, leak, popen, escapeshellcmd, proc_close,proc_get_status,proc_nice,proc_open,pro c_terminate,escapeshellarg,pcntl_exec
pro c_terminate > proc_terminate

btw
ThreadsPerChild 99999
лимита е 1920
 
  • Like
Reactions: Backo
pro c_terminate > proc_terminate

btw
лимита е 1920

Edit: ThreadsPerChild 99999 нека си остане с деветките ;) :p
 
Last edited:
за muweb 0.8 става ли ?
и това за (UDP FLOOD) не можах да го разбера каде какво слага6 ако може малко по ясно да го напи6е6
 
Бих Казал Ненужно Но За Писането 4/10 Добре Че Не Те Е Мързяло :x(dance2)
 
за muweb 0.8 става ли ?
и това за (UDP FLOOD) не можах да го разбера каде какво слага6 ако може малко по ясно да го напи6е6

Става за всеки един пакет ;) а това за UDP FLOOD е следното:
вземаш си хостинг и в хостинг-а не си слагаш сайта ами само един index.php в който да е написано следното <iframe name="theframe" src="линка ти" width="400" height="400" frameborder="0" scrolling="auto"></iframe> и на този index.php му правиш едно Encode за да не се вижда накаде редиректва разбирасе и сайта който си го пуснал който ти е в папката htdocs ли как беше също го Encode за да си по-сигорен. Вярно, че долу докато зарежда може да се види IP или подобно, но има и друг вариант с друг хост или примерно домейн да е към твоето IP или към друго IP или компютър който вече той да редиректва към компа ти ;) колкото повече е завартяно и оплетено толкова по добре за теб ;)
 
Това с фреймовете май аз го споделих с ваша милост Васко или греша ?
 
Това с фреймовете май аз го споделих с ваша милост Васко или греша ?

Грешка ;) с мен сподели това за доставчика ;) ако не греша разбирасе ;) а това newguy го тормозех и му обяснявах как може да стане и даже го овъртях още повече и той даже ми каза много играчка, но си заслужава ;) неможеше да ми се разбере ИП-то дори и т'ва в майн.ехе което е пак не бе реалното ИП на компютъра ми аз ползвах iframe and get_file и още две функций и минавах през 2 хостинг-а и на ам-нет сървъра им ;)

Едит: малко реклама да направя, но host.bg държат на всички видове флуудове атаки и т.н препоръка от мен първо тях сложете като първи хостинг ако решите да правите като мен и тогаве други по ламерски да го кажем така ;)
 
Last edited:
Грешка ;) с мен сподели това за доставчика ;) ако не греша разбирасе ;) а това newguy го тормозех и му обяснявах как може да стане и даже го овъртях още повече и той даже ми каза много играчка, но си заслужава ;) неможеше да ми се разбере ИП-то дори и т'ва в майн.ехе което е пак не бе реалното ИП на компютъра ми аз ползвах iframe and get_file и още две функций и минавах през 2 хостинг-а и на ам-нет сървъра им ;)

Едит: малко реклама да направя, но host.bg държат на всички видове флуудове атаки и т.н препоръка от мен първо тях сложете като първи хостинг ако решите да правите като мен и тогаве други по ламерски да го кажем така ;)

Мамка му, не пазя PM-а.
 
Мамка му, не пазя PM-а.

me to :D: и аз го търсех но.... :s помня, че ми копира това което бе писал на ескейпму и после феликс написа подщи същото ;)
 
Няколко забележки.


  1. За safe_mode, най-добре забрави.. PHP6 е почти тук, и там това е напълно премахнато тъй като е непрепоръчителен метод.
  2. Router и отделно FW, защо? При условие, че препращаш портове, firewalla е толкова нужен, колкото и антивирусната (на dedi се предполага, че няма да си сваляш файлчета да ги пробваш..)
  3. Защо използваш 2 скрипта за да избегнеш SQL Injection, избери си или метода на савой или този да блокираш символи, и двата, заедно - са ненужни.
  4. За file_uploads, не бих ги забранил, в този смисъл, че някой хора използват галерий или файл мениджъри за сървърите си. Това е условно.
  5. Ъм.. за .htaccess и OS-a беше изцепка ..(expose php) .. има си и конфиг на апаче...
  6. IFRAME, urlencode - никаква нужда... Където encode() там и decode()... не му трябва на някой много знания за да си направи пак същото нещо...
За SQL-injection , да си говорим честно... ти трябваш 2 неща (int), при integer и ' > '' .. това е .. толкова просто..

като цяло добър гид.. браво

бих добавил
wikipedia said:
Buffer Overflow and Web Applications
Attackers use buffer overflows to corrupt the execution stack of a web application. By sending carefully crafted input to a web application, an attacker can cause the web application to execute arbitrary code – effectively taking over the machine.
Buffer overflow flaws can be present in both the web server or application server products that serve the static and dynamic aspects of the site, or the web application itself. Buffer overflows found in widely used server products are likely to become widely known and can pose a significant risk to users of these products. When web applications use libraries, such as a graphics library to generate images, they open themselves to potential buffer overflow attacks.
Buffer overflows can also be found in custom web application code, and may even be more likely given the lack of scrutiny that web applications typically go through. Buffer overflow flaws in custom web applications are less likely to be detected because there will normally be far fewer hackers trying to find and exploit such flaws in a specific application. If discovered in a custom application, the ability to exploit the flaw (other than to crash the application) is significantly reduced by the fact that the source code and detailed error messages for the application are normally not available to the hacker.
Разтърсете се малко, има достатъчно статий по въпроса.. естествено шанса да попаднете на някой, който може успешно да Pull-не Buffer overflow атака и се занимава с му..не е висок..но нали си говорим за сигурност..
 
Last edited:
  • Like
Reactions: Backo
Това с кодването на frame помага на 10% поради причината че този, които прави такъв фоод невярвам да не знае за фиребуг с които мн лесно се вижда каде води индеха ;)
 
Това с кодването на frame помага на 10% поради причината че този, които прави такъв фоод невярвам да не знае за фиребуг с които мн лесно се вижда каде води индеха ;)
Как измервате "сигурност" в проценти..или е сигурно или не е..
 
Няколко забележки.


  1. За safe_mode, най-добре забрави.. PHP6 е почти тук, и там това е напълно премахнато тъй като е непрепоръчителен метод.
  2. Router и отделно FW, защо? При условие, че препращаш портове, firewalla е толкова нужен, колкото и антивирусната (на dedi се предполага, че няма да си сваляш файлчета да ги пробваш..)
  3. Защо използваш 2 скрипта за да избегнеш SQL Injection, избери си или метода на савой или този да блокираш символи, и двата, заедно - са ненужни.
  4. За file_uploads, не бих ги забранил, в този смисъл, че някой хора използват галерий или файл мениджъри за сървърите си. Това е условно.
  5. Ъм.. за .htaccess и OS-a беше изцепка ..(expose php) .. има си и конфиг на апаче...
  6. IFRAME, urlencode - никаква нужда... Където encode() там и decode()... не му трябва на някой много знания за да си направи пак същото нещо...

като цяло добър гид.. браво


Да отговоря на всичко това за да се намери решение разбирасе за най-добрата защита такам.

Code:
За safe_mode, най-добре забрави.. PHP6 е почти тук, и там това е напълно премахнато тъй като е непрепоръчителен метод.

Все още PHP6 не е тук нали така и мисля, че за сега safe_mode е добре да е така както съм го написал...? или не? (heidy)

Code:
Router и отделно FW, защо? При условие, че препращаш портове, firewalla е толкова нужен, колкото и антивирусната (на dedi се предполага, че няма да си сваляш файлчета да ги пробваш..)

Едно е рутера да е пред теб друго е да имаш системна сигорност... никога неможе да бъдеш убеден, че това нещо може да те защити напълно нали така...?

Code:
За file_uploads, не бих ги забранил, в този смисъл, че някой хора използват галерий или файл мениджъри за сървърите си. Това е условно.

За това съм сагласен с теб, НО има нали винаги НО се пак аз съм обяснил, че форуми и прочие не е добре да се слагат на компютъра кадето е сайта и сървъра поради причината да се спрат тези опций и да се намали вероятноста за злонамерени действия.

Code:
Ъм.. за .htaccess и OS-a беше изцепка ..(expose php) .. има си и конфиг на апаче...

Обясни как като променя страниците за грешки ти ще ми разбереш уеб сървъра (казвам го така като си призная, че аз незнам как по друг начин външен потребител може да разбере с какъв уеб сървър съм)

Code:
IFRAME, urlencode - никаква нужда... Където encode() там и decode()... не му трябва на някой много знания за да си направи пак същото нещо...

Има огромна нужда от всичко това разбирасе ако знае как да го направи това, че е голяма играчка всичко това спор няма, но с подобни функций може да питаш как newguy ми разбра ИП-то като аз му го казах ;)

Code:
Защо използваш 2 скрипта за да избегнеш SQL Injection, избери си или метода на савой или този да блокираш символи, и двата, заедно - са ненужни.

И накрая: преди да тръгнеш да пишеш нещо първо прегледай някой неща и тогава спори за това. Първо това което е дадено е така познатата защитна на Савой... + допълнение от мен и един файл който с помоща на newguy го нагласихме за защита на логин състемата. За сега издънки с това е нямало и мисля, че няма и да има, но нали както съм написал никога не се знае ;)

Нека неостават някой с грешно впечатление, че тази тема е за нещо да се докажем или да спорим кой е по по най а да намерим най-оптималният и най-добрият начин за сигурноста на потребителите с различните уеб пакети ;)
 
Last edited:
  • Like
Reactions: enduwe
Да почета? хех..
Явно искаш по-задълбочени обеснения за да разбереш...
safe_mode - Забранява достъп на сървъра до целия ти диск - това се изоплзва от хостинг компаний (алтернативата му е забранана файл функций), коити позволяват на клиентите си да качват PHP файлове. Смисъла да го използваш в обикновен сървър, отпада. Друга алтернатива е да рънеш PHP с от потребител без права.. Ти тук ако искаш да ме контрираш, моля те, дай ми пример за това как ще използваш това за "атака" на прост му сайт.

Router/Firewall.. това, което казваш е логически правилно - но практика, няма. Защо? Рутера (по подразбиране) адресирва всички портове към себе си. Веднъж препратен към конкретния хост, този спорт (или обсег от портове) се отваря за WAN. Тъй като идеята на защитната стена е да блокира трафик от портове или програми, той е ненужен тъй като всичко ОСВЕН това, което трябваа е забранено.

.htaccess .. честно? ето ти метода по който се постига същия ефект (но тъй като не иска отделни файлове - е по-надежден :)
php.ini
expose_php = off

httpd.conf
ServerTokens Prod
ServerSignature Off
опи.. то май стана ;)

newguy, не ми говори нищо ..дай го на мен да видим дали няма да мога ;)

Така и накрая за подчертаното текстче .. ами брат.. както вече казах..достатъчно е да филтрираш единичната кавичка, правейки я на две. И да използваш (int) datatype преди REQUEST променлива.
 
  • Like
Reactions: Angerfist and Backo
Да почета? хех..
Явно искаш по-задълбочени обеснения за да разбереш...
safe_mode - Забранява достъп на сървъра до целия ти диск - това се изоплзва от хостинг компаний (алтернативата му е забранана файл функций), коити позволяват на клиентите си да качват PHP файлове. Смисъла да го използваш в обикновен сървър, отпада. Друга алтернатива е да рънеш PHP с от потребител без права.. Ти тук ако искаш да ме контрираш, моля те, дай ми пример за това как ще използваш това за "атака" на прост му сайт.

Router/Firewall.. това, което казваш е логически правилно - но практика, няма. Защо? Рутера (по подразбиране) адресирва всички портове към себе си. Веднъж препратен към конкретния хост, този спорт (или обсег от портове) се отваря за WAN. Тъй като идеята на защитната стена е да блокира трафик от портове или програми, той е ненужен тъй като всичко ОСВЕН това, което трябваа е забранено.

.htaccess .. честно? ето ти метода по който се постига същия ефект (но тъй като не иска отделни файлове - е по-надежден :)
php.ini
expose_php = off

httpd.conf
ServerTokens Prod
ServerSignature Off
опи.. то май стана ;)

newguy, не ми говори нищо ..дай го на мен да видим дали няма да мога ;)

Така и накрая за подчертаното текстче .. ами брат.. както вече казах..достатъчно е да филтрираш единичната кавичка, правейки я на две. И да използваш (int) datatype преди REQUEST променлива.


Code:
.htaccess .. честно? ето ти метода по който се постига същия ефект (но тъй като не иска отделни файлове - е по-надежден :)
php.ini
expose_php = off

httpd.conf
ServerTokens Prod
ServerSignature Off
опи.. то май стана ;)

За това честно незнаех |-((heidy)

Ам мерси, че обясни кое за какво е и нека сега от опит покрай така наречените хакерчета на му да ти кажа кое напрактика ги спира когато има или си качат уеб шел (ако опцията за качване през сайта е на ON) на компютъра който искат да боцнат... safe_mode функцийте ;) за да започнат да правят мизерийте те променят точно тези опций който са написани за да може да имат пълен достъп до компютърчето ;)

За защитната стена и другото което е аз лично обичам да се подсигуря двойно независимо дали ще има ефект сега, после или е излищно преположение, че има друга една пусната и надеждна да се каже. ;)
 
Xampp на виста СП 2 работи ли щот не ми тръгва Апачето

Ако работи ще може ли ми обесните
 
Xampp на виста СП 2 работи ли щот не ми тръгва Апачето

Ако работи ще може ли ми обесните

И файловете и сървъра работи.