Linux security hardering
1. Открываем конфиг /etc/ssh/sshd_config
P.S. Предварительно зайдите на сервер из удалённой или локальной консоли
Port 65343 ← Выбираем порт из верхнего диапазона
ListenAddress 158.16.6.7 ← Указываем на каком адресе будет слушаться наш демон (можно указать несколько параметров ListenAddress)
Protocol 2 ← Использование только протокола SSH2
UsePrivilegeSeparation yes ← Подключившийся пользователь может создать только процессы от своих привилегий
Ciphers aes256-ctr,aes192-ctr ←
MACs hmac-sha2-256,hmac-sha2-512-96 ←
KeyRegenerationInterval 3600 ←
ServerKeyBits 1024 ←
===== Cron =====
1. Переходим в директорию /etc и вводим ls -l | grep cron
2. Меняем права у файла crontab. Делаем его доступным для чтения и записи только для пользователя root chmod 0600 crontab
3. Далее разрешаем создавать «кроны» только руту: создаём файл touch cron.allow && echo «root» > cron.allow && /etc/init.d/cron restart
===== SHELLS =====
1. Открываем файл /etc/shells и убираем от туда все лишние шеллы, кроме bash и sh
2. В директории /etc/skell находим файл .bashlogout и записываем туда следующие строки:
history -c
/bin/rm -rf ~/.bashhistory''
3. Теперь у нас для каждого пользователя, у которого будет этот файл, будет затираться история его команд, после того как он выйдет из оболочки.
P.S. В свой .bash_logout который находится в вашем «хомяке», тоже не забываем это добавить.
===== PAM =====
===== rsyslog =====
====== Контроль изменений в файловой системе ======
===== etckeeper =====
1. etckeeper - это аналоги системы контроля версий для всей директории /etc, которая позволяет нам локально, при помощи git, bzr или darcs отслеживать изменения.
2. Скачиваем из дефолтных репозиториев apt-get install etckeeper
WARNING: Предварительно убедитесь, что ни в одной из директорий в /etc, нет локальных репозиториев с gitом. А иначе будет масса проблем в работе etckeeper, из-за того, что он устанавливает свой репозиторий прямо в __/etc/.git__\\
3. После установки. Мы теперь можем просто зайти в директорию __/etc__ и при помощи [[http://task.struct.su/doku.php?id=%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D1%81_git|git]] просматривать изменения
===== changetracker =====
===== tripwire =====
====== Антивирусы ======
===== clamav =====
===== rkhunter/chkrootkit =====
====== KeyLogger
s ======
===== snoopy =====
===== auditd =====
====== Фаерволы ======
===== iptables =====
===== pf (FreeBSD) =====
===== ipfw (FreeBSD) =====
===== shorewall =====
====== HIDS/IDS ======
===== OSSEC =====
Про OSSEC будет отдельная статья, так как OSSEC это куда более «глобальный» инструмент, чем локальное отслеживание изменений.
===== SNORT =====
Про Snort будет отдельная статья