Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 04.12.2012
Сообщений: 66

Безопасность БД

30.05.2015, 21:48. Показов 1260. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно реализовать максимальную безопасность информации в Базе Данных и доступ к ней через интернет.

Пока только такие идеи:
1. В .htaccess Закрыть доступ ВСЕМ IP, кроме определенных IP и к определенной папке.
Те кто должен иметь доступ к информации на сайте должны иметь постоянный IP-адрес
2. Информацию в БД(mysql) хешировать (MD5 - есть, SHA-2 -пока не знаком)
3. Минимальная длина пароля в пределах от 12 до 14 символов.
4. Количество попыток ввода пароля или логина 3-5 попыток в час для 1ip.
(или после исчерпания лимита ввода пароля или логина блокировка данного ip до выяснения причин.)
5. Капча(CAPTCHA)
6. Должны быть отключены все порты(включая FTP), кроме 80 или 81 порта.

Дополните или исправьте список если что то упустил или не правильно написал.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.05.2015, 21:48
Ответы с готовыми решениями:

Безопасность
Имеется код $url = isset($_REQUEST) ? $_REQUEST : ''; if(preg_match('#(http)://\S+;\'\"!?]#i',$url)){ sleep(0); Он выполняет...

Безопасность
Какие возможны причины, при которых не работает программа. При прописывании logina логин не верен. При этом если исключить - COOKIE...

Безопасность сайта
Всем привет! Хочу создать самописный сайт. Сейчас нахожусь на этапе вёрстки. После буду переходить к программированию. Подскажите,...

5
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
31.05.2015, 00:44
Цитата Сообщение от avatator Посмотреть сообщение
Мне нужно реализовать максимальную безопасность информации в Базе Данных и доступ к ней через интернет.
ну так закройте к ней доступ из интернета. Хотя приличный хостер это сделает за вас.
Цитата Сообщение от avatator Посмотреть сообщение
Информацию в БД(mysql) хешировать (MD5
зачем? и как потом эту информацию прочитать? Или вы про пароли? Если это про пароли, то php имеет функции password_hash и password_verify , а эти велосипеды с md5 и солью забудьте
Цитата Сообщение от avatator Посмотреть сообщение
Минимальная длина пароля в пределах от 12 до 14 символов.
сочувствую вашим пользователям.. Пользуйтесь стандартными средствами php и не забивайте себе голову. Надежность защиты определяется самым слабым звеном, а это человеческий фактор. Не нужен 14 значный пароль, потому что 6 ти значный пароль ничем не хуже. Ваша база (конечно если она представляет какую-то ценность) будет слита тем же самым "приличным" хостером и вы узнаете об этом последним.
1
2 / 2 / 1
Регистрация: 04.12.2012
Сообщений: 66
31.05.2015, 09:49  [ТС]
1. Теоретически сервер на котором будет размещен сайт и БД будет моим.
2. Как можно реализовать защищенную передачу информации между сайтом и посетителем от сниффера средствами php и js???
пока есть идея что на стороне пользователя с помощью js кодируется и передается на сайт зашифрованная информация, а на сайте средставми php эта информация уже расшифровывается и записывается в БД или выдает посетителю результат закодированого запроса.
php тоже выдает закодированую информацию которую посетитель может прочитать только раскодировав ее с помощью js кода размещенного у него на компе.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
31.05.2015, 09:51
Цитата Сообщение от avatator Посмотреть сообщение
Как можно реализовать защищенную передачу информации между сайтом и посетителем от сниффера средствами php и js?
Не лучше использовать https?
1
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
31.05.2015, 09:57
Цитата Сообщение от Para bellum Посмотреть сообщение
Не лучше использовать https?
имхо обязательно если охота защиты от снифа, а вот это
Цитата Сообщение от avatator Посмотреть сообщение
с помощью js кодируется и передается на сайт зашифрованная
ни что иное как очередной, а главное бессмысленный велосипед. Бессмысленный потому что js будет в открытом доступе и ваши алгоритмы шифрования соответственно тоже..
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
31.05.2015, 11:18
Лучший ответ Сообщение было отмечено avatator как решение

Решение

Цитата Сообщение от avatator Посмотреть сообщение
Мне нужно реализовать максимальную безопасность информации
никакого интернета. никаих компьютеров. используйте только простые средства: бумага и ручка. их гораздо проще проверить на наличие "бекдоров". при этом шифруйте все, что пишите, в уме, aes-ом, ключ от которого должны знать только вы, и никогда никуда его не записывать.
Ну а если серьезно.
Цитата Сообщение от avatator Посмотреть сообщение
Должны быть отключены все порты(включая FTP), кроме 80 или 81 порта.
сейчас использование ftp неактуально вообще. есть sftp, или scp, которые прекрасно работают в связке с тем же sshd. Передавать критичную (пароли, ключи, имя вашего питомца/девичью фамилию матери, номера и cvc2 кредитных карт) информацию по сети в нешифрованном виде не стоит.
Ну ок. 80ый понятно, а зачем 81ый? я так понимаю, nginx+apache? а зачем вашему бекенд-серверу быть доступным извне? апач проще задосить, чем nginx (и дело не только в cve 2011-3192).
Более того, раз уж вы говорите о безопасности, то для сервера бд я бы рекомендовал как раз таки отключить 80ый порт, оставив внешним только 3306 (mysql), или 5432 (pg), а еще лучше, на всякий случай их изменить на какой-нибудь 32451, так они сложнее обнаруживаются. И та и другая СУБД отлично поддерживает ssl, так что проблем с этим возникнуть не должно.
По-хорошему, не мешало бы еще влезть в исходники и поменять там fingerprint, а еще лучше -- реализовать мультиплексирование протокола на http(s), чтобы nmap не понял, что там mysql, а не nginx, отдающий какую-нибудь статическую страничку
Цитата Сообщение от avatator Посмотреть сообщение
Теоретически сервер на котором будет размещен сайт и БД будет моим.
если у вас есть физ доступ к серверу, то одного порта будет достаточно. если же нет, нужно еще что-то, с помощью чего вы будете администрировать ваш сервер.
Цитата Сообщение от avatator Посмотреть сообщение
Как можно реализовать защищенную передачу информации между сайтом и посетителем от сниффера средствами php и js???
этот вопрос никак не коррелирует с поставленной в вашей теме задачей. Тем не менее, как вам и сказали выше, используйте ssl, или другие средства шифрования. в противном случае вы будете скорее всего, уязвимы даже к пассивной прослушке. Также не забывайте о mitm. То есть, в общем случае, злоумышленник может вклиниться в ваш канал и прикинуться вашем сервером, обменявшись с вами ключами, как это сделал бы настоящий сервер. И когда вы передадите ему ваши данные для аутентификации, которые, с большой вероятностью, будут валидными, он сможет получить доступ к вашему серверу.
Цитата Сообщение от avatator Посмотреть сообщение
пока есть идея что на стороне пользователя с помощью js кодируется и передается на сайт зашифрованная информация, а на сайте средставми php эта информация уже расшифровывается и записывается в БД или выдает посетителю результат закодированого запроса.
как раз таки этот кейз и покрывает использование СУБД в чистом виде +ssl. Непонятно, зачем лишние звенья в виде http и других серверов.
Цитата Сообщение от avatator Посмотреть сообщение
php тоже выдает закодированую информацию которую посетитель может прочитать только раскодировав ее с помощью js кода размещенного у него на компе.
ага, ток этот ваш js код уже был пассивно прослушан и считан злоумышленником. а значит он аналогично сможет расшифровать сообщение, так же как и клиент.

Ну ладно, раз уж вы решили сами разобраться с криптографией, то почитайте тогда для начала про ассиметричные алгоритмы шифрования и про алгоритм диффи-хельмана. После безопасного обмена ключей изобретите что-то вроде aes и шифруйте с его помощью все ваши сообщения. Это все и правда можно реализовать на клиенте, хоть на js-е.
Далее вам потребуется защита от mitm, и вы прочитаете про сертификаты и установите подлинность сервера.
Тадам! Поздравляю, вы реализовали очередную js-ssl-библиотеку
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.05.2015, 11:18
Помогаю со студенческими работами здесь

Mysql_real_escape_string и безопасность
Искал способы обезопасить свои формы от недоброжелателей, набрел на функцию mysql_real_escape_string, подскажите пожалуйста, действительно...

Безопасность mt_rand()
Здравствуйте! Интересует безопасность использования такой конструкции: <?php $hash = hash("sha256", hash("sha256",...

Безопасность веб-приложений
Здравствуйте уважаемые жители форума. Ранее такой темы на форуме не видел, думаю она будет полезна многим. 1. Прошу знающих людей...

РНР Безопасность. Хэширование
Всем Привет! Я работаю на данный момент над курсовой по теме "Генератор Хэш функций". Столкнулся с такой проблемой, что после...

Безопасность, как понять?
Всем привет. Не подскажите, как понять или проверить на сколько безопасен мой код. Код PHP конечно же, если я пишу в раздел PHP. Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru