Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   PHP (https://forum.zone-game.info/forumdisplay.php?f=125)
-   -   Защита сайта, MySQL баз и сервера Lineage2 (https://forum.zone-game.info/showthread.php?t=16991)

Jocker 04.12.2011 15:09

Защита сайта, MySQL баз и сервера Lineage2
 
Здравствуйте. Я решил не спамить на этом форуме темами про защиту разных компонентов сервера, а создать отдельную тему в соответствующем разделе, и обсуждать вопрос за вопросом по мере их возникновения. Здесь каждый мог бы зайти и поделиться либо получить часть опыта от других.
Начну с того, с чего начинаю каждую подобную тему для того, чтобы человек, который желает поделиться опытом сразу представлял себе с чем он имеет дело. Я впервые создаю сайт собственноручно и опыта в PHP и MySQL у меня маловато. Отдельным вопросом хотелось бы отметить установку защиты на сайт. Первое, что я решил сделать это защиту от SQL инъекций. Сделал это путем привязки регулярных выражений ко всем формам ввода. Пока что это формы: регистрации (логин, пароль, адрес e-mail) и входа в личный кабинет (логин, пароль). Плюс ограничил кол-во вводимых символов в эти поля до 12 символов. Если я достаточно понял статью о SQL инъекциях, то этого должно хватить для достойной защиты. У кого какие предложения/советы по этому поводу?

Azagthtot 04.12.2011 15:43

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Самое простое предложение. Использовать mysqli расширение PHP.
Оно позволяет параметризировать запросы.
Второе. Проверка типа вводимых данных. Напишите скрипт-"файрволл" которому вы будете передавать требуемый тип параметров, а он автоматом будет проверять на соответствие. Примеров - два мешка в инете.
Третье. Изолированные базы. Никаких доступов на insert, update. Все Четвертое. Используйте ТОЛЬКО представления. Не пускайте козла в огород (веб-часть в таблицы).
Пятое. Аудит всех важных действий. Причем, аудит средствами БД
Шестое. В инете полно инфы по защите информации (простите за тавтологию). Как "размышлений вслух", так и конспектов спецкурсов.
Не поленитесь с ними ознакомится

Deron 04.12.2011 15:46

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Слабо кому то написать мануал по защиту от ддос атак http.
Средствами nginx, iptalbes и т.д
Думаю очень много людей будут благодарны в том числе и я =)) :):)

Azagthtot 04.12.2011 15:47

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Цитата:

Сообщение от Deron (Сообщение 150691)
Слабо кому то написать мануал по защиту от ддос атак http.
Средствами nginx, iptalbes и т.д

Мануала быть не может по определению.
А теории DDOS-атак и противодействия им полно. Читайте, изучайте, действуйте

Blast 04.12.2011 17:17

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Цитата:

Сообщение от Deron (Сообщение 150691)
Слабо кому то написать мануал по защиту от ддос атак http.
Средствами nginx, iptalbes и т.д
Думаю очень много людей будут благодарны в том числе и я =)) :):)

Вряд ли найдёте готовые и универсальные настройки iptables - для каждого сервера они могут меняться.
Что касается nginx - оно в принципе неубиваемо.
Графику сайта разместите на яндексе/вконтакте - это позволит избежать перегруз канала отдачи (в случае если боты не смогут положить get-подобными запросами сайт они могут графику с сайта тянуть, в следствии забить канал отдачи)

Ну и правильно выбирайте впс, что бы можно было использовать полный потенциал iptables (как-то где-то брал ВПСку, там половина фишек iptables была обрезана)

Далее лучше веб-сервер сделать распределённым, например скрипт регистрации разместить в другом месте (с сайта через ajax регистрация происходит, как и форум, а сайт - only nginx, тогда если ляжет форум сайт и регистрация будет работать как ни в чём не бывало.

Ну и в конце концов обратитесь к специалисту, быстро и качественно сделает, самому разбираться долго и сложно.

Deron 04.12.2011 18:49

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Кароче распихать все ява скрипты и графику по другим сайтам и прописать к ним путь?
А то размер сайта не радует:

Цитата:

размер HTML разметки страницы 9922 байт ( 3.7 % )
полный вес CSS ресурса 29908 байт ( 11.2 % )
размер JavaScript страницы 169045 байт ( 63.3 % )
вес графики включая прописанную в CSS 58095 байт ( 21.8 % )
http://chart.apis.google.com/chart?c...ipt|Images|CSS

Blast 04.12.2011 19:02

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Цитата:

Сообщение от Deron (Сообщение 150738)
Кароче распихать все ява скрипты и графику по другим сайтам и прописать к ним путь?

Как бы это основа основ html - пути =\

Deron 04.12.2011 19:16

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Ну так мысль правильная?
Как на меня ты это и пытался сказать ))

Blast 04.12.2011 19:35

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Ява не столько весит сколько графика.
Я бы показал пример, но не хочу "позориться" со своим скромным проектом - графика сайта загружена на vk.com - на сайт нагрузка нулевая, ддос форум убивает а сайту хоть бы хны.

Jocker 05.12.2011 22:36

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Я когда покупал хостинг, то там было сказано, что хостинг защищен от ддос. На эту защиту лучше не расчитывать?

Blast 05.12.2011 23:01

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Если например тут хоститесь то можете не беспокоиться.
Сомневаюсь что Вы купили реальный анти-ддос хостинг, т.к. его стоимость не копеечка.

Jocker 06.12.2011 13:41

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Да, стоимость не каждому подойдет. Это для раскрученных порталов, но никак не для начала.
Мне толком никто не ответил, защищают ли регулярные выражения от SQL инъекций? Мои регулярки позволяют вводить только латинские буквы и цифры, длина полей 3-12 символов.

Azagthtot 06.12.2011 13:57

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Вы не поверите. Но в DROP DATABASE zz тоже только цифры и буквы :)
Как защитится от SQL инъекций я написал выше.
А ваши 12 символов это мало. Банальный идентификатор сессии md5 может быть 16 символов

Jocker 06.12.2011 14:34

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Azagthtot, очень даже верю. А то, что пробелы удаляются до того, как скрипт подключает файл коннекта к БД это тоже не эффективно? Если я всё правильно подсчитал, то в выражении "DROP DATABASE zz" 16 символов. Пробелы удаляются, остается 14 символов. Форма допускает 12 символов. В этом случае пользователь на сайте увидит сообщение "неправильный формат ввода" или "Превышен лимит вводимых символов Login или Password (3-12)". Я заранее написал коментарий как нужно заполнять формы логина и пароля. Вы правильно меня поняли, я хотел бы узнать, какие есть SQL инъекции и от чего защитят регулярки с вышесказанными уже условиями. Не подумайте, что я решил съязвить насчет вашего поста, Azagthtot, я действительно хочу узнать, может я неправ.

Azagthtot 06.12.2011 14:59

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Удалять пробелы - это простите БРЕД. К тому же логином и паролем типы вводимых данных совсем не ограничиваются. Если у вас только ввод логина и пароля для регистрации, то вообще забейте на защиту, испольуйте non-sql методики.

Jocker 06.12.2011 15:12

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Ну я просто для примера написал... Решил в подробности не вдаваться. Есть еще подтверждение пароля (оно проверяется сначала регуляркой, потом на соответствие с первым паролем), ввод e-mail адреса тоже будет проверятья регуляркой и отправляться письмо пользователю, в котором будет ссылка на подтверждение (еще не сделал, но буду). Можно добавить капчу, но пока что не думаю ставить её. Я же для того и пишу здесь, чтоб побольше узнать о защите и сделать всё до того, как открою сайт и его забомбят ддосами.
Только после этого всего идет подключение файла, который коннектит сайт с БД сервера.

Azagthtot 06.12.2011 17:04

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Что бы узнать о защите, лучше не тут пишите, а "учите матчасть".

Jocker 07.12.2011 16:08

Re: Защита сайта, MySQL баз и сервера Lineage2
 
Что, никто не знает, будет ли эффективна защита от sql инъекций путем проверки вводимых данных регулярками с условием длинны до 12 символов и фильтрации несоответствий лат. букв и цифр?


Текущее время: 19:46. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot