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

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

30.05.2015, 21:48. Показов 1248. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru