Показаны сообщения с ярлыком Безопасность MS SQL Server. Показать все сообщения
Показаны сообщения с ярлыком Безопасность MS SQL Server. Показать все сообщения

вторник, 8 апреля 2025 г.

Настройка антивируса на серверах MS SQL Server


Времена идут, сервера меняются, базы данных, растут , экспертиза так же.


Пришлось анализировать сервера ЕРП и производства на основе 1С крупной компании, десятки серверов, и по ходу зашел на авторитетный ресурс по 1С и там было очень неправильное высказывание, что на нагруженных серверах баз данных 1С на основе MS SQL Server антивирус нужно отключать- честно сразу ставится профессионализ данных специалистов 1С(не одна зарплата администратора 1с не покроет потери той же бухгалтерии даже небольшой компании).

Вроде уже многое написано, много статей или новостей , как вроде крупные компании , у которых и деньги и возможности есть, а имеют дыры  в безопастности, а пором даже сами открывают их и в итоге остаются с защифрованными серверами.

В данной статье хочу еще раз прописать настройки , необходимый для работы антивируса на серверах баз данных MS SQL Server и других компонентов СУБД.

Но самое главное, что хочется донести, на серверах СУБД с MS SQL Server  антивирус  ДОЛЖЕН быть обязательно. Поверьте, из опыта, а опыт работы большой, а так же работал и в мировой антивирусной компании, где отвечал за сервера СУБД MS SQL Server, нагруженные сервера с террабайтами памяти, сотни террабайт объема данных на одном сервере, антивирус прекрасно работает и не мешает при ПРАВИЛЬНОЙ  настройке.

Для корректной работы MS SQL Server, получение максимальной производительности системы антивирусное программное обеспечение должно настроено на серверах с продуктами MS SQL Server . В противное случае возможна деградация производительности систем, фиксация ошибок, а так же возможна и потеря данных (особенно при использование объектов In-Memory). Настройка антивируса при наличие объектов In-Memory требуется обязательно, иначе потеря данных и сбой работы СУБД гарантировано. Дело в том, что при работе объектов Inmemory, некоторые объеты и dll-ки компилируются на лету во время работы СУБД, что многими антивирусами определяется как подозрительная активность .

Итак в первую очередь нужно исключить процессы из сканирования антивируса:

  • sqlservr.exe (SQL Server ядро СУБД)
  • sqlagent.exe (агент SQL Server)
  • sqlbrowser.exe (служба браузера SQL Server)
  • %ProgramFiles%\Microsoft SQL Server\1<NN>\Shared\SQLDumper.exe (служебная программа SQLDumper)
Файлы баз данных MS SQL:

  •   .mdf
  •   .ldf
  •   .ndf
  •   дополнительные расширения, которые возможно используете  (желательно избегать не стандартные расширения для файлов баз данных)

Отсюда и требование к стандартизации настройки серверов в компании, обычно это выделенные папки на диска , как пример D:\data , F:\Log, т.е вы указываете данные каталоги в которых лежат файлы баз данных с указанным расширением,  а не все диски .

Файлы резервного копирования баз данных :

  •    обычно это расширения .bak и .trn

Файлы доставки журналов( Log Shipping):

  • обычно это расширение  .tuf
Файлы SQL аудита - расширения:
  •    .sqlaudit
Каталоги Full-text данных:

  • § по умолчанию это   Program Files\Microsoft SQL Server\MSSQL\FTDATA , либо Program Files\Microsoft SQL Server\MSSQL$instancename\FTDATA
Файлы SQL Profiler-а(хотя уже профайлером нужно запретить пользоваться) и трассировки по умолчанию:
  • § .trc  расширения
Файлы при выполнении команды DBCC CHECKDB
  • обычно это формат временных файлов <Database_data_filename.extension>_MSSQL_DBCC<database_id_of_snapshot>., расположены рядом с файлами баз данных. Если указан в исключених каталоги баз данных, то данные файлы в исключениях.
Файлы дампов sql server , согласно настройкам СУБД:
  • файлы с расширением .mdmp и обычно расположены в каталоге LOG установки SQL Server
Файлы расширенных событий мониторинга (Extended Events):
  •  расширение .xel или xem,, так же обычно расположены в каталоге  LOG установки SQL Server
Файлы In-Memory объектов баз данных(обязательно необходимо проверить нахождение данных объектов в исключениях:
  •  обычно каталог In-Memory расположен там же, где и файлы баз данных, если каталог находится в исключения, то и файлы так же в исключениях.

  • следующие типов файлоы должны быть в исключениях:

xtp_<t/p>_<dbid>_<objid>.c

xtp_<t/p>_<dbid>_<objid>.dll

xtp_<t/p>_<dbid>_<objid>.obj

xtp_<t/p>_<dbid>_<objid>.out

xtp_<t/p>_<dbid>_<objid>.pdb

xtp_<t/p>_<dbid>_<objid>.xml

Файлы и объекты SQL репликации:

  •     каталоги COM объектов, drive>:\Program Files (x86) \Microsoft SQL Server\<VN>\COM\ или <drive>:\Program Files\Microsoft SQL Server\<VN>\COM\
  •   каталог моментального снимка репликации и скриптов репликации , обычно путь  \Microsoft SQL Server\MSSQLxx.MSSQLSERVER\MSSQL\ReplData, (если не установлен другой), расширения файлов: .sch, .idx, .bcp, .pre, .cft, .dri, .trg or .prc

При наличие установленных других компонентов MS SQL Server:

  • При работе службы Analysis Services (необходимо уточнять  пути ):
  •  каталог данных баз данных , по умолчанию C:\Program Files\Microsoft SQL Server\MSSQL.X\OLAP\Data.
  •  файлы резервных копий баз данных, C:\Program Files\Microsoft SQL Server\MSSQL.X\OLAP\Backup

  •   каталог с логами службы  C:\Program Files\Microsoft SQL Server\MSSQL.X\OLAP\Log
При работе Reporting Service(PowerBi report Server):
  •   Каталоги журналов службы  и временных файлов  обычно  (RSTempFiles and LogFiles)
Процессы:

  • %ProgramFiles%\Microsoft SQL Server\<Instance_ID>.<Instance Name>\MSSQL\Binn\SQLServr.exe
  •   %ProgramFiles%\Microsoft SQL Server\<Instance_ID>.<Instance Name>\Reporting Services\ReportServer\Bin\ReportingServicesService.exe
  •  %ProgramFiles%\Microsoft SQL Server\<Instance_ID>.<Instance Name>\OLAP\Bin\MSMDSrv.exe
Исключения  каталого при конфигурации с использованием Windows кластера:

  •  Q:\ (Quorum drive)
  •  C:\Windows\Cluster
  •  MSDTC directory in the MSDTC drive
Исключений, как видим много, и поэтому для правильной работы антивируса должно быть   действие единой политики антивируса на серверах с MS SQL Server, а так же  сервера с MS SQL Server устанавливаются и настраивались по единому стандарту.

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

Второе замечание, для высокой защиты, добавляют хеш исполнительного процесса MS SQL Server SQLServr.exe, но он может меняться послу установки очередного CU  , не забываем обновить его после установки обновления.


Удачной и безопастной работы ваших серверов!.

вторник, 29 июня 2021 г.

Ошибка DistributedCOM 10016 на серверах SQL Server


Страниц в интернет по данной ошибке полно, но эта ошибка довольно часто встречает на промышленных серверах с MS SQL Server решил еще одну написать.

Имеем ошибку вида:

The Application-Specific Permission Settings Do not Grant Local Activation Permission for the COM Server Application with CLSID {} and APPID {} to the User DOMAIN\User from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission Can Be Modified using the Component Services Administrative Tool.

Event ID 10006

Source - DistributedCOM

понедельник, 6 апреля 2015 г.

Настройка SPN для MS SQL Server - просто

Немного теории.
MS SQL Server поддерживает сетевую проверку через следующие типы проверок:

 - NTLM
 - Kerberos.

NTLM довольно старый протокол, который еще появился с Windows NT 4.0, вместо него рекомендуется использовать Kerberos.
Kerberos – это сетевой протокол, позволяющий реализовать надежную проверку подлинности в клиента и сервера в сети, основанный на главном ключе (master key) и, так называемых, зашифрованных билетах(tickets).
MS SQL Server поддерживает Kerberos для следующих сетевых протоколов:
- TCP\IP
- Именованные каналы(Shared pipes)
- Shared memory.

SQL Server поддерживает протокол Kerberos через Windows Security Support Provider(SSPI) если используется Windows аутификация на сервере.
Если протокол Kerberos не может быть использован, то используется протокол вызов-ответ(NTLM).

Более подробно можно посмотреть на MSDN-е.
ну и практика:

вторник, 20 августа 2013 г.

Основы прозрачного шифрования MS SQL Server


Продолжая тему защиты данных в базе данных в MS SQL Server, рассмотрим прозрачное шифрование (Transparent Data Encryption - TDE ) в MS SQL Server.  Демонстрация шифрования будет проводится на MS SQL Server 2012 SP1 Enterprise Edition  для базы данных клиентов [DbClients], но данный сценарий будет рабочий и для MS SQL Server 2005/2008. Прозрачное шифрование доступно только в редакциях Enterprise или Datacenter.
Итак, для начало немного теории:

среда, 17 июля 2013 г.

Основы MS SQL Server шифрования на примере симметричного шифрования

Рассмотрим один из способов шифрования данных MS SQL Server 2008R2, а именно использование симметричного ключа, далее с помощью данного ключа зашифруем столбец в таблице.

вторник, 9 июля 2013 г.

Скрипт переноса пользователей ролей сервера

При переходе с одного сервера на другой, необходимо так же перенести пользователей и вхождения в роли сервера.

Ниже приводится скрипт, которые предоставляет это сделать:

среда, 22 мая 2013 г.

Скрипт список разрешений пользователей на сервер MS SQL Server


 При миграции с одного MS SQL server на другой сервер, переустановки сервера  необходимо кроме как скопировать  учетные записи, нужно скопировать и их разрешения на сервер MS SQL Server.

среда, 13 марта 2013 г.

Скриптование всех пользователей, ролей БД и их прав

Часто необходимо заскриптовать пользователей базы данных, а затем их снова накатить либо на новой базе данных , либо на старой, к примеру такое часто необходимо при восстанвление тестовой среды.
Ниже приводится скрипт скриптует пользователей и их права:

среда, 29 августа 2012 г.

Кто входит в группу безопастности MS SQL

Ниже показывается как узнать, кто входит в роли базы данных:

1) Фукнция
exeс sp_helprolemember
функция показывает полный перечень список роль БД,  учетная запись, SID учетной записи.
Недостаток : нельзя применить фильтр, хотя можно написать через временную таблицу выборку и сделать фильтр, но я сделал проще

вторник, 15 мая 2012 г.

Запуск xp_cmdshell с правами без sysadmin


Чтобы запускать хранимую процедуру xp_cmdshell, нужно иметь разрешения CONTROL  SERVER на сервер, т.е быть в роли sysadmins. Пользователям MS SQL Server-а, которые не входят в данную роль, предоставить права  на выполнение данной процедуры  будет мало только дать права на выполнение данной процедуры, но и нужно создать учетную запись-посредник для процедуры xp_cmdshell.

четверг, 19 апреля 2012 г.

Узнать права у логина на объекты MS SQL сервера

  Как-то дали учетной записи права на выборку из некоторых таблиц БД, учетная запись уже была в БД, но, как оказалось, эта учетная запись уже имела выборку на все таблицы БД, но откуда они шли  из графической оболочки Management Studio не сразу смогли вычислить – смотрел права на таблицы, на роль db_datareader и другие объекты, но как оказалось, права шли с прав на БД, а в графическом интерфейсе Management Studio просто забыли их посмотреть, в конце концов вычислил их через функции безопасности  ms sql server-а и решил законспектировать данный пункт, чтобы лучше запомнить.

  Итак, узнать права  учетной записи можно несколькими способами, приведу их примеры: