Защита сайта, MySQL баз и сервера Lineage2
Здравствуйте. Я решил не спамить на этом форуме темами про защиту разных компонентов сервера, а создать отдельную тему в соответствующем разделе, и обсуждать вопрос за вопросом по мере их возникновения. Здесь каждый мог бы зайти и поделиться либо получить часть опыта от других.
Начну с того, с чего начинаю каждую подобную тему для того, чтобы человек, который желает поделиться опытом сразу представлял себе с чем он имеет дело. Я впервые создаю сайт собственноручно и опыта в PHP и MySQL у меня маловато. Отдельным вопросом хотелось бы отметить установку защиты на сайт. Первое, что я решил сделать это защиту от SQL инъекций. Сделал это путем привязки регулярных выражений ко всем формам ввода. Пока что это формы: регистрации (логин, пароль, адрес e-mail) и входа в личный кабинет (логин, пароль). Плюс ограничил кол-во вводимых символов в эти поля до 12 символов. Если я достаточно понял статью о SQL инъекциях, то этого должно хватить для достойной защиты. У кого какие предложения/советы по этому поводу? |
Re: Защита сайта, MySQL баз и сервера Lineage2
Самое простое предложение. Использовать mysqli расширение PHP.
Оно позволяет параметризировать запросы. Второе. Проверка типа вводимых данных. Напишите скрипт-"файрволл" которому вы будете передавать требуемый тип параметров, а он автоматом будет проверять на соответствие. Примеров - два мешка в инете. Третье. Изолированные базы. Никаких доступов на insert, update. Все Четвертое. Используйте ТОЛЬКО представления. Не пускайте козла в огород (веб-часть в таблицы). Пятое. Аудит всех важных действий. Причем, аудит средствами БД Шестое. В инете полно инфы по защите информации (простите за тавтологию). Как "размышлений вслух", так и конспектов спецкурсов. Не поленитесь с ними ознакомится |
Re: Защита сайта, MySQL баз и сервера Lineage2
Слабо кому то написать мануал по защиту от ддос атак http.
Средствами nginx, iptalbes и т.д Думаю очень много людей будут благодарны в том числе и я =)) :):) |
Re: Защита сайта, MySQL баз и сервера Lineage2
Цитата:
А теории DDOS-атак и противодействия им полно. Читайте, изучайте, действуйте |
Re: Защита сайта, MySQL баз и сервера Lineage2
Цитата:
Что касается nginx - оно в принципе неубиваемо. Графику сайта разместите на яндексе/вконтакте - это позволит избежать перегруз канала отдачи (в случае если боты не смогут положить get-подобными запросами сайт они могут графику с сайта тянуть, в следствии забить канал отдачи) Ну и правильно выбирайте впс, что бы можно было использовать полный потенциал iptables (как-то где-то брал ВПСку, там половина фишек iptables была обрезана) Далее лучше веб-сервер сделать распределённым, например скрипт регистрации разместить в другом месте (с сайта через ajax регистрация происходит, как и форум, а сайт - only nginx, тогда если ляжет форум сайт и регистрация будет работать как ни в чём не бывало. Ну и в конце концов обратитесь к специалисту, быстро и качественно сделает, самому разбираться долго и сложно. |
Re: Защита сайта, MySQL баз и сервера Lineage2
Кароче распихать все ява скрипты и графику по другим сайтам и прописать к ним путь?
А то размер сайта не радует: Цитата:
|
Re: Защита сайта, MySQL баз и сервера Lineage2
Цитата:
|
Re: Защита сайта, MySQL баз и сервера Lineage2
Ну так мысль правильная?
Как на меня ты это и пытался сказать )) |
Re: Защита сайта, MySQL баз и сервера Lineage2
Ява не столько весит сколько графика.
Я бы показал пример, но не хочу "позориться" со своим скромным проектом - графика сайта загружена на vk.com - на сайт нагрузка нулевая, ддос форум убивает а сайту хоть бы хны. |
Re: Защита сайта, MySQL баз и сервера Lineage2
Я когда покупал хостинг, то там было сказано, что хостинг защищен от ддос. На эту защиту лучше не расчитывать?
|
Re: Защита сайта, MySQL баз и сервера Lineage2
Если например тут хоститесь то можете не беспокоиться.
Сомневаюсь что Вы купили реальный анти-ддос хостинг, т.к. его стоимость не копеечка. |
Re: Защита сайта, MySQL баз и сервера Lineage2
Да, стоимость не каждому подойдет. Это для раскрученных порталов, но никак не для начала.
Мне толком никто не ответил, защищают ли регулярные выражения от SQL инъекций? Мои регулярки позволяют вводить только латинские буквы и цифры, длина полей 3-12 символов. |
Re: Защита сайта, MySQL баз и сервера Lineage2
Вы не поверите. Но в DROP DATABASE zz тоже только цифры и буквы :)
Как защитится от SQL инъекций я написал выше. А ваши 12 символов это мало. Банальный идентификатор сессии md5 может быть 16 символов |
Re: Защита сайта, MySQL баз и сервера Lineage2
Azagthtot, очень даже верю. А то, что пробелы удаляются до того, как скрипт подключает файл коннекта к БД это тоже не эффективно? Если я всё правильно подсчитал, то в выражении "DROP DATABASE zz" 16 символов. Пробелы удаляются, остается 14 символов. Форма допускает 12 символов. В этом случае пользователь на сайте увидит сообщение "неправильный формат ввода" или "Превышен лимит вводимых символов Login или Password (3-12)". Я заранее написал коментарий как нужно заполнять формы логина и пароля. Вы правильно меня поняли, я хотел бы узнать, какие есть SQL инъекции и от чего защитят регулярки с вышесказанными уже условиями. Не подумайте, что я решил съязвить насчет вашего поста, Azagthtot, я действительно хочу узнать, может я неправ.
|
Re: Защита сайта, MySQL баз и сервера Lineage2
Удалять пробелы - это простите БРЕД. К тому же логином и паролем типы вводимых данных совсем не ограничиваются. Если у вас только ввод логина и пароля для регистрации, то вообще забейте на защиту, испольуйте non-sql методики.
|
Re: Защита сайта, MySQL баз и сервера Lineage2
Ну я просто для примера написал... Решил в подробности не вдаваться. Есть еще подтверждение пароля (оно проверяется сначала регуляркой, потом на соответствие с первым паролем), ввод e-mail адреса тоже будет проверятья регуляркой и отправляться письмо пользователю, в котором будет ссылка на подтверждение (еще не сделал, но буду). Можно добавить капчу, но пока что не думаю ставить её. Я же для того и пишу здесь, чтоб побольше узнать о защите и сделать всё до того, как открою сайт и его забомбят ддосами.
Только после этого всего идет подключение файла, который коннектит сайт с БД сервера. |
Re: Защита сайта, MySQL баз и сервера Lineage2
Что бы узнать о защите, лучше не тут пишите, а "учите матчасть".
|
Re: Защита сайта, MySQL баз и сервера Lineage2
Что, никто не знает, будет ли эффективна защита от sql инъекций путем проверки вводимых данных регулярками с условием длинны до 12 символов и фильтрации несоответствий лат. букв и цифр?
|
Текущее время: 19:46. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot