Обеспечить безопасность бд sql

Необходимо обеспечить информационную безопасность для созданной базы данных в sql Как это сделать?


Ответы (2 шт):

Автор решения: Konst

Почитайте этот гайд по безопасности для MS SQL: https://docs.microsoft.com/ru-ru/sql/relational-databases/security/securing-sql-server?view=sql-server-ver15

вкрадце основные направления: Защиту SQL Server можно рассматривать как последовательность шагов, затрагивающих четыре области: платформу, проверку подлинности, объекты (включая данные) и приложения, получающие доступ к системе.

  1. Безопасность платформы и сети
  • Физическая безопасность
  • Безопасность операционной системы
  • Безопасность файлов операционной системы SQL Server
  1. Безопасность участников и объектов базы данных

Участники — это отдельные пользователи, группы и процессы, которым предоставлен доступ к ресурсам SQL Server. Защищаемые объекты — это сервер, база данных и объекты, которые содержит база данных. У каждого из них существует набор разрешений, с помощью которых можно уменьшить контактную зону SQL Server .

  • Шифрование и сертификаты
  1. Безопасность приложений
  • Клиентские программы
  • Управление приложениями в Защитнике Windows (WDAC)
→ Ссылка
Автор решения: Alexey

Всегда использую в своих 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-иньекции идет...

→ Ссылка