понедельник, 4 апреля 2011 г.

Первичная защита вашего Win-сервера

  1. Настройте lockout policy. По умолчанию Windows-сервер не защищен от брут-форса — атаки через подбор пароля. Хакер может создать, например, тысячу RDP-соединений (ака «Удаленный Рабочий Стол»), пробуя разные логины/пароли. Или терзать ваш FTP-сервер бесконечными подключениями… Именно поэтому стоит настроить «lockout» — временную блокировку пользователя после нескольких неудачных попыток.

    Идем в «Start — Run — secpol.msc — Security Settings — Account Policies — Account Lockout Policy». И ставим, например, «5 попыток» и «5 минут» — это заблокирует пользователя на 5 минут после 5 неудачных авторизаций.

  2. Заблокируйте support-пользователя Если вы арендуете сервер, наверняка в нем настроен саппорт-пользователь для вашего хостера. Что-нибудь типа «Support User» или «support_user». Заблокируйте его. Иногда опасность приходит именно от хостера. И его наивных индийских юношей, которые раздают доступы направо и налево. Именно это со мной и случилось.

  3. Отключите FTP, если не нужен Если вашим клиентам или приложениям не нужен постоянный FTP — вырубайте. Включайте его только когда нужно залить файлы. И разрешите доступ только со своего IP. А еще лучше — переведите сервер в режим «blind-put». Так называют сервера, которые разрешают доступ только на запись. В настройках IIS FTP-сервера поставьте галку «write» и снимите галку «read».

  4. Установите менеджер паролей. Куча моих знакомых (реально — куча) пользуются схемой «один сложный пароль — для всего». Даже знакомые программеры, админы, дизайнеры… Неглупые, в общем, люди. Одумайтесь. Даже для сервисных учетных записей (типа пользователи БД и тд) используйте только сложные сгенеренные пароли. И держите их в пасс-менеджере. Лично я пользую «LastPass» — он бесплатный, классный и доступен в виде экстеншена для Chrome.

  5. Бекап! Бекап, бекап всего, всегда и везде. Создайте ежедневные джобы на SQL-сервере, которые будут сохранять базы и локально, и куда-нибудь в онлайн. Даже в бесплатном MS SQL Server Express можно создать некое подобие джобов (через Task-Scheduler).

    Лично у меня бекап работает так: два раза в день делается локальная копия всех баз. И два раза в неделю — удаленная копия. Для удаленных копий я пользуюсь Microsoft SkyDrive — это 25 гигабайт онлайн-хранилища. Бесплатно. Неплохо, да? Тулза для синхронизации папок прилагается (называется Windows Live Mesh). Если не любите MS по религиозным соображениям — пользуйтесь DropBox или чем-то еще, но ПОЛЬЗУЙТЕСЬ!

  6. Firewall Ну, тут все понятно. Главное правило — «запретить все». В Windows 2008 R2 встроен довольно неплохой брандмауер, можно начать с него. Оставьте открытыми порты 80 и 443 (и, возможно, 3389 для RDP) — и все.

  7. Не используйте стандартные порты. Если кроме веб-сервера вам все-таки нужно что-то выставить «наружу» — например, терминальный сервер (для того же RDP) или SQL-сервер — используйте нестандартные порты. Какие-нибудь идиотские значения, вроде 15089.

    Порт терминального сервиса (тот самый «Удаленный рабочий стол») меняется в реестре вот тут: «HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber» (не забудьте открыть этот порт на файрволле и перезапустить RDP-сервис).

    Порты SQL Server'а меняются в утилите «SQL Server Configuration Manager» — «Network Configuraion» — «Protocols for [имя сервера]» — «TCP-IP» — right-click — «Properties».

  8. Нет папке "/admin/" и другим «стандартным» именам.
    • CMS вашего сайта не должна лежать в папке «site.com/admin/».
    • Учетная запись администратора не должна называться «administrator».
    • Страницы логина не должны называться «login.aspx/login.php/signin.py»
    • И тд. и тд. — продолжите список сами.

Комментариев нет:

Отправить комментарий