Як захистити Linux сервер

Безкоштовна операційна система Linux стає все більш популярною. З ростом її популярності зростає активність хакерів по злому Linux серверів і їх використання для розсилки спаму, шахрайства та інших неправомірних дій.

Кроки

  1. Як захистити Linux сервер

    1

    Працюйте з Linux через термінал. Будь-яка програма, покликана полегшити ваше взаємодія з системою (через графічний інтерфейс), послаблює захист системи і уповільнює її. Описані дії мають на увазі, що ви вмієте працювати з терміналом.

  2. Як захистити Linux сервер

    2

    Командою Lsof (або аналогічної) перевірте відкриті порти.

    ns003: ~ # lsof -i
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    named 17829 root 4u IPv6 12689530 UDP *: 34327
    named 17829 root 6u IPv4 12689531 UDP *: 34329
    named 17829 root 20u IPv4 12689526 UDP ns003.unternet.net:domain
    named 17829 root 21u IPv4 12689527 TCP ns003.unternet.net:domain (LISTEN)
    named 17829 root 22u IPv4 12689528 UDP 209.40.205.146:domain
    named 17829 root 23u IPv4 12689529 TCP 209.40.205.146:domain (LISTEN)
    lighttpd 17841 www-data 4u IPv4 12689564 TCP *: www (LISTEN)
    sshd 17860 root 3u IPv6 12689580 TCP *: ssh (LISTEN)
    sshd 17880 root 3u IPv6 12689629 TCP *: 8899 (LISTEN)
    sshd 30435 root 4u IPv6 74368139 TCP 209.40.205.146:8899->dsl-189-130-12-20.prod-infinitum.com.mx:3262 (ESTABLISHED)

  3. Як захистити Linux сервер

    3

    Закрийте всі невідомих або непотрібних сервісів, використовуючи відповідні команди вашого дистрибутива Linux (наприклад, в Debian використовуйте update-rc.d), або відредагуйте файл /etc/inetd.conf або /etc/xinetd.d/*. Поряд з цим позбудьтеся від будь-яких утиліт, встановлених серверним провайдером для системного адміністрування, наприклад, Plesk.

  4. 4

    Не допускайте вхід з-під рута на первинний SSHd порт 22 (задайте PermitRootLogin як «no»). Налаштуйте вторинний порт на вхід з-під рута (тільки із загальними ключами, без пароля):



    • Скопіюйте файл sshd_config в root_sshd_config і відредагуйте новий файл наступним чином:
      • Port: Поміняйте 22 на інше число, наприклад, 8899 (не використовуйте це число! Візьміть інше!).
      • PermitRootLogin: Поміняйте «no» на «yes».
      • AllowUsers root: Вставте цю строку- якщо вона вже є, змініть її на «allow only root logins on this port».
      • ChallengeResponseAuthentication no: Розкоментуйте цей рядок і переконайтеся, що вона містить «no», а не «yes».


    • Введіть команду

      sshd -D -f / etc / ssh / root_sshd_config

      і переконайтеся, що вона працює правильно- для цього спробуйте увійти з іншого комп`ютера (ви повинні були створити спільний ключ аутентифікації для двох комп`ютерів), використовуючи

      ssh -p8899 [email protected]

      Якщо команда працює правильно, то до вищеописаної (sshd) команді додайте control-C, щоб зупинити sshd демон, а потім в кінець файлу / etc / inittab додайте наступне:

      rssh: 2345: respawn: sshd -D -f / etc / ssh / root_sshd_config

    • Перезапустіть задачу ініціалізації: # Init q. Це запустить ssh демон у фоновому режимі і автоматично перезапустить його у випадку невдачі.

Поради

  • Регулярно оновлюйте операційну систему, щоб закрити її уразливості. В Debian: apt-get upgrade
  • Отримуйте інформацію про вразливості з сайту https://securityfocus.com/ та інших відповідних сайтів.
  • Спробуйте встановити Grsecurity та / або SELinux та / або AppArmour та / або PaX.
  • Перевіряйте журнали реєстрації подій, щоб дізнатися про атаки на ваш сервер. / Var / log / auth або /var/log/auth.log є файлами, де можна дізнатися про спроби проникнення:
    Jan 18 10:48:46 ns003 sshd [23829]: Illegal user rosa from :: ffff: 58.29.238.252
    Jan 18 10:48:49 ns003 sshd [23833]: Illegal user rosemarie from :: ffff: 58.29.238.252
    Jan 18 10:48:51 ns003 sshd [23838]: Illegal user ruth from :: ffff: 58.29.238.252
    Jan 18 10:48:54 ns003 sshd [23840]: Illegal user sabine from :: ffff: 58.29.238.252
    Jan 18 10:48:57 ns003 sshd [23845]: Illegal user sandra from :: ffff: 58.29.238.252

Попередження

  • Ви не можете повністю убезпечити сервер. Тому створюйте резервні копії всіх важливих файлів і майте запасний план дій.
  • Не довіряйте серверу, який був зламаний. Хакер має доступ до всієї системи, коли він отримує права суперкористувача.