Обеспечить безопасность бд sql
Необходимо обеспечить информационную безопасность для созданной базы данных в sql Как это сделать?
Ответы (2 шт):
Почитайте этот гайд по безопасности для MS SQL: https://docs.microsoft.com/ru-ru/sql/relational-databases/security/securing-sql-server?view=sql-server-ver15
вкрадце основные направления: Защиту SQL Server можно рассматривать как последовательность шагов, затрагивающих четыре области: платформу, проверку подлинности, объекты (включая данные) и приложения, получающие доступ к системе.
- Безопасность платформы и сети
- Физическая безопасность
- Безопасность операционной системы
- Безопасность файлов операционной системы SQL Server
- Безопасность участников и объектов базы данных
Участники — это отдельные пользователи, группы и процессы, которым предоставлен доступ к ресурсам SQL Server. Защищаемые объекты — это сервер, база данных и объекты, которые содержит база данных. У каждого из них существует набор разрешений, с помощью которых можно уменьшить контактную зону SQL Server .
- Шифрование и сертификаты
- Безопасность приложений
- Клиентские программы
- Управление приложениями в Защитнике Windows (WDAC)
Всегда использую в своих web-приложениях следующий метод:
private function clearArray($array) {
if(is_array($array)) {
foreach ($array as $key => $value) {
if(is_array($array[$key])) {
security::clearArray($array[$key]);
} else {
// $array[$key] = mysql_escape_string(htmlspecialchars($value));
$array[$key] = htmlspecialchars($value, ENT_QUOTES);
}
}
return $array;
} else {
return false;
}
}
public function clearInput($array) {
return security::clearArray($array);
}
...и передаю ему ассоциативные массивы $_POST и $_GET соотвественно.
$get = $obj->clearInput($_GET);
$post = $obj->clearInput($_POST);
Это если речь о SQL-иньекции идет...