общедоступный веб-доступ к базе данных компании - PullRequest
2 голосов
/ 21 апреля 2011

Я изо всех сил пытаюсь найти лучшую практику для этого, поэтому любые ссылки или материалы для чтения исследований или любые условия поиска Google будут высоко ценится.

Я волонтер в местной благотворительной организации, учреждении по уходу за детьми.

У нас есть база данных mysql, которая содержит различные таблицы, содержащие информацию о детях и родителях, счета-фактуры, списки сотрудников и т. Д.

То, что мы хотели бы попытаться сделать, - это иметь безопасный онлайновый доступ для родителей, чтобы просматривать своиконтактные данные и счета.

Мой вопрос в том, насколько безопасно, чтобы сайт имел доступ к основной базе данных.это будет второй набор userPermisions с доступом только для чтения к выбранным таблицам, а не всей базы данных.Я не хочу, чтобы сайт открывал дыру, позволяющую пользователям получать все наши данные или уничтожать или повреждать основную базу данных.

Или

, если я создам вторую базу данных, которую веб-сайтбудет иметь доступ и синхронизировать основную базу данных со второй?Я могу видеть будущие проблемы, если мы решим разрешить родителям редактировать свои собственные контактные данные, оплачивать счета через Интернет.

Информация о сети будет храниться во второй базе данных, такой как имя пользователя, пароль, форум и т. Д.

Это не то, что я когда-либо пытался сделать раньше, и не знаю, с чего начать в плане исследований.

С уважением

Мэтт

Ответы [ 2 ]

0 голосов
/ 21 апреля 2011

Вы, конечно, не можете навредить ничем, имея вторую, подчиненную / доступную только для чтения базу данных, доступную для вашего пользовательского интерфейса. Если все сделано правильно, MySQL предоставит может ограничить пользователей операциями только для чтения, так что не нужно необходимо с функциональной точки зрения иметь вторую базу данных. Возможно, учитывая характер вашего бизнеса, может существовать законная причина, по которой вам нужна вторая база данных. Обязательно изучите требования для защиты PII (например, HIPPA)

0 голосов
/ 21 апреля 2011

Безопасность - это непрерывный процесс, частью которого является обеспечение надлежащей идентификации и авторизации, а также глубокоэшелонированной защиты, обеспечение того, чтобы учетная запись, используемая для доступа к базе данных, имела наименьшие привилегии и чтобы площадь, доступная этой учетной записи, была минимальной. Кроме того, если база данных находится на том же компьютере, что и веб-сервер, это гарантирует, что компрометация веб-сервера также не скомпрометирует базу данных.

Вы также должны бороться со стандартными социальными элементами - обеспечение пользователям возможности получить свой первый пароль / настроить учетную запись, сохранить свои собственные пароли. Вы не должны хранить их пароли (даже в зашифрованном виде), а хранить только соленый хеш. Когда они забывают свой пароль, сбрасывают его самостоятельно, поскольку веб-сайт не может и не должен отправлять им постоянный пароль по электронной почте.

И вы должны знать о XSS (межсайтовых скриптовых атаках), SQL-инъекции - вы должны быть в состоянии найти ссылки на это в большинстве обсуждений разработки веб-приложений.

...