Защита Linux сервера.

Сегодня я попытаюсь вам рассказать о некоторых основах безопасности на вашем Unix сервере.

Для начала потребуется обозначить некоторые правила для себя если вы начинающий Unix администратор или просто “человек” который хочет сервер для каких либо нужд.

  1. Никогда и ни при каких условиях не давайте своих доступов сомнительным лицам.Только отдельные учетки, со специально заточенными под эту учетку правами.
  2. Не забывайте помучать свой сервер, если это сделаете не вы, это сделают за вас. Дыры есть везде просто нужно понимать где их искать. Инструменты для данных деяний в полной мере описаны на нашем форуме.
  3. Следите за обновлениями вашей системы читайте updatelog, да бы понимать что поменялось а, что нет, какие уязвимости закрылись и какие нет.(Если таковые имеются)
  4. Безопасность вашей системы отбирает удобность доступа. Но если вам неудобно заходить в вашу систему то злоумышленнику будет еще сложнее. Из-за не понимания как у вас там все устроено.

И так поехали делать нашу систему безопасной и не доступной для тех кто хочет ей навредить.

1. Как вариант прятать систему за VPN (к примеру OpenVPN), держать ее в закрытой сети доступ к которой имеется только у вас.

2. Первым делом, что мы должны сделать обратить внимание на прослушиваемые порты.

$ netstat -plutn

Закрывает все не нужные нам порты(можно отключить сервисы если вы их не собираетесь использовать) или используем не стандартные.

$ iptables -A INPUT(или OUTPUT) -p tcp(UDP) –dport 80 -j DROP

.

Так же используем не стандартный порт для SSH доступа(к примеру 2230) и если занимаетесь администрированием данного сервера с одного места или через VPN стоит изменить ListenAddress 0.0.0.0 на адресс или пул адрессов с которых вы будете заходить по SSH.

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

После изменений не забываем про:

$ /etc/init.d/ssh restart (service ssh restart)

3.Один сервер на один основной сервис.

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

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

NGINX PROXY (это тоже сервер) не распределяет нагрузку между серверами, для данного функционала можно использовать такое по как HAPROXY, но об этом думаю стоит написать отдельную статью.

4.Отключите не используемые сетевые интерфейсы, и IPV6. Не забывайте о важности смены пароля.

$ vim /etc/shadow

пользователь}:{пароль}:{последнее_изменение}:{максимум_дней}:{минимум_дней}:{Предупреждение}:{деактивировать}:{строк_годности}:

5.Не забываем про шифрование. (Паранойя наше второе имя, слава сатане!)

Не забывайте шифровать ваши данные, файлы, папки, пароли.

Для файлов каталогов существуют такие инструменты как:

  • GPG (Шифрование и дешифрование по паролю файлов)
  • ecryptfs (Для шифрования каталогов)
  • TrueCrypt (Для шифрования дисков)

6.Системы мониторинга.

Будьте всегда в курсе что происходит на вашем сервере, я использую Zabbix (но существует еще куча как платного по так opensourse проектов) для мониторинга процессов, места, нагрузки и еще кучи всего.

Используйте IDS (Intrusion Detection System) – система обнаружения вторжений.

Одни из самых популярных это:

  • Snort
  • Suricata
  • Bro
  • Kismet

Это позволит вам мониторить трафик попытки входа, и все все возможные угрозы для вашего сервера.

Не забывайте о физической безопасности вашего сервера. И будьте бдительны враги мало спят в отличие от вас.

Данная статья не является полным мануалом по приминению данных действий, большинство инфы гуглится на “раз-два”.

Рейтинг материала
[Голосов: 0 Рейтинг: 0]
03 сентября 2017, 09:42

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *