Инструменты пользователя

Инструменты сайта


усиление_безопасности_linux

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
усиление_безопасности_linux [2015/03/28 21:18]
188.243.178.58
усиление_безопасности_linux [2016/02/17 12:31] (текущий)
Строка 12: Строка 12:
 **Protocol 2** <- Использование только протокола SSH2\\ **Protocol 2** <- Использование только протокола SSH2\\
 **UsePrivilegeSeparation yes** <- Подключившийся пользователь может создать только процессы от своих привилегий \\ **UsePrivilegeSeparation yes** <- Подключившийся пользователь может создать только процессы от своих привилегий \\
-**Ciphers aes256-ctr,aes192-ctr** <- \\ +**Ciphers aes256-ctr,aes192-ctr** <- Используюм только CTR, вместо CBC и более старых версий как 3des-cbc(перед тем как это использовать, убедитесь что вам ssh клиент поддерживает данный набор шифров)\\ 
-**MACs hmac-sha2-256,hmac-sha2-512-96** <- \\ +**MACs hmac-sha2-256,hmac-sha2-512-96** <- Так же как и для шифров, используем более криптостойкие алгоритмы\\ 
-**KeyRegenerationInterval 3600** <- \\ +**KeyRegenerationInterval 3600** <- Время (в секундах) автоматической генерации серверного ключа\\ 
-**ServerKeyBits 1024** <- \\+**ServerKeyBits 2048** <- Увеличиваем битность серверного ключа\\ 
 +**PermitEmptyPasswords no** <- Запрещяем заход с путым паролем\\ 
 +**StrictModes yes** <- Жесткий режим\\ 
 +**PubkeyAuthentication yes** <- Переходим на авторизацию по открытым ключам\\ 
 +**AuthorizedKeysFile     %h/.ssh/authorized_keys** <- Указываем путь, где должны храниться публичные ключи пользователей\\ 
 +**IgnoreRhosts yes** <- Отключаем rhost\\ 
 +**HostbasedAuthentication no** <- Отключаем авторизацию по хосту\\ 
 +**PasswordAuthentication no** <- Отключаем аутентификацию по паролю\\ 
 +**KerberosAuthentication no** <- Отключаем поддержку Kerberos\\ 
 +**GSSAPIAuthentication no** <- Отключаем поддержку GSSAPI\\ 
 +**AllowTcpForwarding no** <- Запрещаем проброс порта\\ 
 +**AllowAgentForwarding no** <- Запрещаем проброс через ssh-agent\\ 
 +**X11Forwarding no** <- Отключаем проброс иксов.\\ 
 +**UsePAM yes** <- Включаем поддежку PAM\\ 
 +**AllowUsers  user3@10.20.30.0/24** <- Указываем пользователей и src. net. из которой можно авторизоваться на сервере\\ 
  
 ===== Cron ===== ===== Cron =====
Строка 35: Строка 50:
 ===== PAM ===== ===== PAM =====
  
 +[[https://bom-bom.nadejnei.net/doku.php?id=pam]]
 ===== rsyslog ===== ===== rsyslog =====
 +
 +===== sudo =====
 +
 +1. После установки утилиты **sudo** вам необходимо отредактировать конфиг __/etc/sudoers__. Для этого вводим команду **visudo**:\\
 +
 +<file bash visudo>
 +Defaults        env_keep += "HOME"   #У каждого пользователя по дефолту будет своя домашняя директория а не /root
 +Defaults logfile=/var/log/sudo.log, log_year  #Вести запись тех, кто выполнил команду или повысил свои привилегии через sudo. Хранить логи в течении года
 +Defaults mailto=admin@domain.com, mail_badpass, mail_no_user, mail_no_perms #отправлять по почте уведомления о тем, кто ввёл неправильный пароль, либо неизвестный пользователь пытался выполнить команду/заход из под sudo
 +Defaults editor=/usr/bin/vim  #При использовании visudo будет задействован этот редактор
 +Defaults timestamp_timeout = 0  #В дальнейшем не запоминать удачный ввод пароля для пользователя.
 +Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" #Инициализируем переменную PATH
 +
 +User_Alias ADMINS=user1,user3,mydak  #Перечисляем в переменной ADMINS пользователей, которые будут иметь наивысшие привилегии
 +root    ALL=(ALL:ALL) ALL
 +ADMINS  ALL=(ALL) ALL  #Собственно прописываем то, что у пользователей из ADMINS будет максимальные привилегии.
 +
 +user3 ALL=(ALL:ALL) NOPASSWD:/sbin/iptables -vnL #Пользователю user3 разрешено без ввода пароля использовать эту команду (удобно когда нужно дать определённые привилегии для какого-нибудь демона)
 +</file>
 +
 +2. Далее убедитесь в том, что в конфиге не присутствует никаких лишних строк, которые открывают дополнительные привилегии для пользователей.  \\
  
 ====== Контроль изменений в файловой системе ====== ====== Контроль изменений в файловой системе ======
Строка 48: Строка 85:
 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]] просматривать изменения  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 =====+4. Для CentOS 5 создавать репозиторий надо самостоятельно после установки:# **cd /etc && etckeeper init && git commit -am "init /etc"** 
 +===== changetrack ===== 
 + 
 +1. Устанавливаем утилиту: **apt-get install changetrack**\\ 
 + 
 +2. В конфиге **/etc/changetrack.conf** перечисляем файлы и директории для контроля изменений. Например:\\ 
 +/etc/aliases\\ 
 +/etc/init.d/*\\ 
 +/etc/cron.daily/*\\ 
 +/etc/passwd\\ 
 +...\\ 
 +/etc/sysctl.conf\\ 
 + 
 +3. В конфиге **/etc/default/changetrack** в поле **PARAMS=** редактируем опции: \\ 
 +**-o root** <- Указываем на чей почтовый ящик присылать письмо с уведомлением об изменениях\\ 
 +**-f changetrack@`/bin/hostname -f`** <- Указываем данные отправителя(Поле FROM)\\ 
 + 
 +4. Проверки происходят раз в час, смотри скрипт **/etc/cron.hourly/changetrack**.\\  
  
 ===== tripwire ===== ===== tripwire =====
Строка 55: Строка 110:
 ====== Антивирусы ====== ====== Антивирусы ======
  
-===== clamav =====+===== clamav/clamd =====
  
 ===== rkhunter/chkrootkit ===== ===== rkhunter/chkrootkit =====
  
 +http://rkhunter.sourceforge.net/
 +
 +Программа предназначена для обнаружения руткитов и уязвимых мест в вашей системе. \\
 +Все примеры указаны для дистрибутива Debian 8 \\
 +
 +1. Установливаем rkhunter: **# apt-get install rkhunter** \\
 +2. Редактируем основной конфиг **/etc/rkhunter.conf**: \\
 +**UPDATE_MIRRORS=1** <- Ибновляем список зеркал\\
 +**MIRRORS_MODE=0** <- Использовать любой вид зеркал (локальный и удалённый)\\
 +**MAIL-ON-WARNING=admin@example.com** <- Вписываем свой почтовый ящик, куда будут складироваться письма о том, что на хосте обнаружены уязвимости\\
 +**MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"** <- Комманда использующаяся для отправки писем\\
 +**TMPDIR=/var/lib/rkhunter/tmp** <- Директория для увременных файлов rkhunter\\
 +**DBDIR=/var/lib/rkhunter/db** <- Директория с базами rkhunter\\
 +**SCRIPTDIR=/usr/share/rkhunter/scripts** <- Директория для скриптов rkhunter\\
 +**BINDIR=/bin /usr/bin /sbin /usr/sbin /usr/local/bin +/usr/local/sbin** <- Указываем директории с бинарными программами\\
 +**LANGUAGE=en** <- Указываем язык\\
 +**UPDATE_LANG="en"** <- Указываем какой язык будет обновляться\\
 +**LOGFILE=/var/log/rkhunter.log** <- Указываем путь к лог файлу rkhunter\\
 +**AUTO_X_DETECT=1** <- Указываем стоит ли обнаружать X сеансы и приложения\\
 +**WHITELISTED_IS_WHITE=1** <- Подсвечивать белым цветом исключения при запуске в списке сканирования\\
 +**ALLOW_SSH_ROOT_USER=no** <- Указываем должен ли логиниться root пользователь в систему через SSH\\
 +**ALLOW_SSH_PROT_V1=0** <- Разрешено ли использование SSH версии 1\\
 +**SSH_CONFIG_DIR=/etc/ssh** <- Директория с конфигами OpenSSH\\
 +**ENABLE_TESTS=ALL** <- Использовать все тесты\\
 +**DISABLE_TESTS=hidden_procs deleted_files packet_cap_apps** <- Список не нужных нам тестов\\
 +**HASH_CMD=SHA512** <- Выбираем хэш функцию для контрольных сумм\\
 +**PKGMGR=DPKG** <- Указываем дефолтный низкоуровневых пакетный менеджер\\
 +**SCRIPTWHITELIST=/usr/sbin/adduser** <- Добавляем скрипт в исключение (орёт на то когда в директории для бинарей лежат скрипты)\\
 +**ALLOWHIDDENDIR=/etc/.git** <- Указываем разрешённые скрытые директории\\
 +**ALLOWHIDDENFILE=/etc/.gitignore** <- Указываем разрешённые скрытые файлы\\
 +**SCAN_MODE_DEV=THOROUGH** <- "Грубый" режим сканирования\\
 +**ALLOWPROMISCIF=eth0** <- Указываем сетевые интерфейсы на которых разрешено использовать Promisc режим\\
 +**PHALANX2_DIRTEST=1** <- Сканировать все директории в **/etc** и **/usr**\\
 +**STARTUP_PATHS=/etc/init.d /etc/rc.local** <- Директории с init скриптами и скриптами автозапуска\\
 +**PASSWORD_FILE=/etc/shadow** <- Файл с паролями\\
 +**UID0_ACCOUNTS=toor** <- Указываем пользователей с выставленным нулевым UID, если такие есть в системе\\
 +**SYSLOG_CONFIG_FILE=/etc/rsyslog.conf** <- Путь к syslog конфигу\\
 +**ALLOW_SYSLOG_REMOTE_LOGGING=0** <- Разрешена ли удалённая пересылка сислог сообщений\\
 +**SUSPSCAN_DIRS=/tmp /var/tmp** <- Директории разрешённые для записи всем пользователям\\
 +**SUSPSCAN_TEMP=/dev/shm** <- Разрешённые временные файлы для SUSPSCAN проверки\\
 +**OS_VERSION_FILE=/etc/debian_version** <- Файл с названием и версией дистрибутива\\
 +**PORT_WHITELIST=TCP:33433 UDP:44444** <- Список разрешённых портов в режиме прослушки из верхнего диапазона\\
 +**WARN_ON_OS_CHANGE=1** <- Высылать предупреждения об изменении версии операционной системы\\
 +**UPDT_ON_OS_CHANGE=0** <- Обновлять базы изменений, если произошло обновление системы\\
 +**SHARED_LIB_WHITELIST=/lib/snoopy.so** <- Разрешённые динамически подгружаемые библиотеки \\
 +**SCANROOTKITMODE=THOROUGH** <- Грубый режим антируткит проверки\\
 +**UNHIDE_TESTS=sys** <- Режим unhide проверки\\
 +**DISABLE_UNHIDE=1** <- Отключить ли UNHIDE сканирование (я отключаю из-за частеньких ложных срабатываний)\\
 +**INSTALLDIR=/usr** <- Основная директория для установки новых программ в системе\\
 +
 +3. Теперь открываем файл **/etc/default/rkhunter**\\
 +
 +**CRON_DAILY_RUN="true"** <- Запускать ли rkhunter каждый день\\
 +**CRON_DB_UPDATE="true"** <- Автозапуск обновлений баз\\
 +**DB_UPDATE_EMAIL="false"** <- Высылать уведомления о статусе обновления баз\\
 +**REPORT_EMAIL="admin@domain.com"** <- Указываем почтовый ящик на который будут приходить уведомления от ужудневного сканирования\\
 +**NICE="0"** <- Сказываем nice приоритет для rkhunter\\
 +
 +4. Теперь нам необнодимо одновить определения rkhunter введя комманду: **rkhunter --propupd**\\
 +
 +5. Список полезных файлов и основных комманд: \\
 +
 +Файлы: \\
 +**/etc/cron.daily/rkhunter** <- Основной скрипт автозапуска\\
 +**/var/lib/rkhunter/db/mirrors.dat** <- Файл где указан путь к зеркалам rkhunter\\
 +**/var/lib/rkhunter/db/rkhunter.dat** <- Основной файл где копится информация о состоянии фашей системы\\
 +**/var/lib/rkhunter/db/backdoorports.dat** <- Список подозрительных портов\\
 +**/var/lib/rkhunter/db/programs_bad.dat** <- Список старых версий программ\\
 +
 +Комманды: \\
 +**rkhunter --update** <- Ручное обновление баз\\
 +**rkhunter --propupd** <- Обновление определений\\
 +**rkhunter --check --sk** <- Подробный вывод о сканировании\\
 +**rkhunter --check --sk --nomow --rwo** <- Запустить сканирование без отправки уведомления на почту и вывести только информацию о warning\\
 +**rkhunter --list tests** <- Список доступных тестов\\
  
 ====== KeyLogger`s ====== ====== KeyLogger`s ======
  
 ===== snoopy ===== ===== snoopy =====
 +
 +1. Устанавливаем snoopy: \\
 +2. **apt-get install snoopy** либо качаем отсюда [[http://sourceforge.net/projects/snoopylogger/|repo]] \\
 +3. После установки у вас в __/etc__ появится новый файл __ld.so.preload__ в котором будет прописан путь в данной библиотеке. И теперь все действия наших пользователей будут логироваться в __/var/log/auth.log__ (deb) или __/var/log/secure__ (rpm)\\ 
 +4. Snoopy работает как динамически подгружаемая библиотека, что бы увидеть её, мы можем в текущем сеансе ввести **lsof | grep snoopy**\\
  
 ===== auditd ===== ===== auditd =====
Строка 73: Строка 208:
  
 ===== ipfw (FreeBSD) ===== ===== ipfw (FreeBSD) =====
 +
 +https://bom-bom.nadejnei.net/doku.php?id=ipfw
  
 ===== shorewall ===== ===== shorewall =====
Строка 92: Строка 229:
 ===== cryptsetup ===== ===== cryptsetup =====
  
-http://task.struct.su/doku.php?id=luks_and_nuke+https://bom-bom.nadejnei.net/doku.php?id=luks_and_nuke 
 + 
 +===== tcplay ===== 
 + 
 +https://github.com/bwalex/tc-play 
 + 
 +Программа для шифрования базирующаяся на TrueCrypt \\ 
 + 
 +===== veracrypt ===== 
 + 
 +http://veracrypt.codeplex.com/ 
 + 
 +===== truecrypt ===== 
 + 
 +http://truecrypt.sourceforge.net/ 
 + 
 +===== Стеганография ===== 
 + 
 +==== snowdrop ==== 
 + 
 +http://community.linuxmint.com/software/view/snowdrop 
 +http://lcamtuf.coredump.cx/ 
 + 
 +==== steghide ==== 
 + 
 + 
 + 
 + 
  
усиление_безопасности_linux.1427577518.txt.gz · Последнее изменение: 2015/03/29 00:18 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux