Управляйте SQL-сервером MS по SSH (шпаклевка)

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

nginx уже имел проблемы безопасности, и сообщество разработчиков ПО с открытым исходным кодом раскрыло уязвимости автору, который зафиксировал их. Поиск "безопасности" в журналах изменений, и Вы будете видеть, что там существует рабочий процесс: http://nginx.net/CHANGES-0.6

Таким образом, nginx имеет в значительной степени тот же процесс как Apache для фиксации проблем безопасности. Это может быть меньшая команда, и менее формализованный, но это работает почти такой же путь.

Наличие маленькой, трудной кодовой базы, с чистой и простой архитектурой, является основным улучшением с точки зрения безопасности. Меньше кода = статистически меньше ошибок. События показывают это, поскольку кодовая база становится больше, количество ошибки выращивает больше, чем линейно. Принимая подобный код к коэффициенту ошибок, меньшая кодовая база приведет к меньшему количеству использования.

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

Я однако предложил бы посмотреть на безопасность сервера HTTP немного отличающимся способом. Существует проблема переполнения буфера в http deamon, который мог привести к использованию против http deamon самого. Для большинства проектов влияние этого может быть минимизировано довольно легко, при помощи инструментов уровня ОС, таких как тюрьмы / croot / виртуализация, чтобы 'контейнеризировать' http deamon и ограничить эффект успешного нападения.

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

Apache обладает одним главным преимуществом в области безопасности веб-приложения, то преимущество является третьей стороной mod_security модуль. Думайте о нем как о гиганте regex механизм для Запросов HTTP, который позволяет Вам делать сопоставление с образцом и фильтрующий на любой части HTTP-вызова. Это может использоваться для значительного сокращения поверхности атаки против собственного кода веб-приложения.

Для настроенной на безопасность стопки веб-приложения с открытым исходным кодом я мог бы использовать:

  • контейнеризированный nginx экземпляр для выравнивания нагрузки, на отдельном физическом или виртуальном сервере перед веб-серверами, проксируя Запросы HTTP к веб-серверам бэкенда.
  • Apache с mod_security для веб-серверов.

Вы могли также сделать это наоборот - Apache с mod_security, выполняющим переднюю сторону выравнивания нагрузки nginx веб-серверов. Это - в основном вопрос того, где Вы хотите, чтобы загрузка ЦП была - HTTP-фильтрация с mod_security берет изрядное количество ресурсов ЦП, таким образом, подсистема балансировки нагрузки Apache с mod_security не могла бы обработать больше чем горстку веб-серверов бэкенда. Перегрузка на подсистеме балансировки нагрузки значительно уменьшается, если подсистема балансировки нагрузки является маленьким, быстрым nginx экземпляром, и веб-серверы делают свою собственную фильтрацию mod_security.

Это дает Вам контейнеризированного Прокси HTTP как слой косвенности между общедоступным Интернетом и Вашим веб-приложением и mod_security как масштабируемый брандмауэр уровня HTTP перед Вашим кодом веб-приложения. Но будьте подготовлены к этому, особенно mod_security, для взятия большого количества времени, чтобы настроить и стать полностью рабочими без нежелательных побочных эффектов.

2
задан 21 March 2010 в 21:11
4 ответа

Не без... хакерства. Если бы необходимо сделать это, необходимо было бы установить ssh сервер на поле окон (порт OpenSSH cygwin является, вероятно, лучшим выбором), затем ssh в поле, и используйте что-то как osql (если я помню право имени утилиты MSSQL командной строки) давать команды к серверу.

<soapbox>

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

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

</soapbox>

4
ответ дан 3 December 2019 в 08:44
  • 1
    Спасибо за указывают на меня, что много гиковского и интересного материала обычно входит в неправильное направление. Но я также финансирую полезный для отладки вещей в FreeBSD по мобильному телефону, когда я вне офиса, Время от времени я должен просто сделать некоторый код TSQL своих серверов, и чрезвычайно трудно записать Код в колледжи в форте студии SQLSMGM, когда я вне офиса. –  adopilot 28 January 2010 в 20:47
  • 2
    Я нахожу протокол ЭЛЕКТРОННОЙ ПОЧТЫ RPC очень полезным когда отправляющие сложные указания :) –  MikeyB 28 January 2010 в 20:50
  • 3
    +100 для мыльницы –  squillman 6 February 2010 в 04:22
  • 4
    Я can' t соглашаются больше с мыльницей. –  Jim B 11 February 2010 в 05:29

Существует MS клиенты командной строки SQL, включенные с клиентскими дистрибутивами SQL Server, с которыми можно выполнить операторы TSQL:

  • osql (старый, SQL 2000 и ранее)
  • sqlcmd (новый, SQL 2005 и позже)
2
ответ дан 3 December 2019 в 08:44

Если у Вас есть поле Linux, что у Вас есть доступ оболочки, чтобы затем установить FreeTDS. Можно использовать это для соединения с SQL Server похожим способом к вещам как osql и sqlcmd.

2
ответ дан 3 December 2019 в 08:44

Я знаю, что Вы говорите о SQL 2005, но если можно обновить до SQL 2008, Вы могли telnet в к подсказке powershell и использовать сценарии PS для управления sql...

Иначе osql и sqlcmd (как ранее упомянуто) являются, вероятно, Вашими лучшими выборами. Необходимо будет все еще выполнить сервер telnet на сервере, хотя войти.

2
ответ дан 3 December 2019 в 08:44

Теги

Похожие вопросы