Недавно заметил, что два моих бывших сотрудника все еще пытаются зайти на один из наших Linux компьютеров. Старые пользовательские аккаунты (учетные записи) мы не удаляли, потому, что в них содержатся важные файлы. Но если аккаунт все-таки нужно удалить, то как убедиться, что файлы и вся переписка (почты) не потеряются? Можете ли вы описать политику закрытия доступа к пользовательскому аккаунту, включая все почты, адреса пересылки, ssh / ftp, и доступ к VPN на сервере Red Hat Enterprise Linux?nnУволенные работники могут захотеть отомстить, поэтому удаляйте и деактивируйте все нежелательные аккаунты. Как только работник ушел из компании, вы можете тут же заблокировать ему доступ, введя следующую команду:n
passwd -l username
Опция -l деактивирует аккаунт меняя его пароль на значение, не известное пользователю и ставит значение 1 в поле ограничения срока действия аккаунта. Это дает гарантию, что пользователь не получит доступ к серверу. Вы можете удалить пользовательский аккаунт без перемещения файлов следующим образом:n
# userdel username
Вы также можете задать команду userdel, чтобы удалит домашнюю директорию и все ее содержимое: # userdel -r usernamennВсе файлы из домашней директории будут удалены вместе с самим каталогом и почтой.nnФайлы, находящиеся не в корневом каталоге нужно будет искать и удалять вручную. Дополнительная чистка файлов производится уже администратором.n
Рекомендованные процедуры по удалению пользовательского аккаунта:
Далее рассмотрим рекомендованные процедуры по удалению пользователя.nnАккаунты Linux / UNIX сервера остаются действующими, пока пользователь работает на вас или вашу компанию. Сотрудники, которые уходят из компании по тем или иным причинам, теряют доступ к своим аккаунтам и данным. Прежде чем блокировать пользователя, все же лучше сначала проконсультируйтесь с юристом или отделом кадров по поводу местных законов и политике конфиденциальности.n
№1. Деактивация аккаунта
Для начала, отключите аккаунт пользователя и ограничьте доступ к консоли (shell, bash), ftp и ssh командойn
passwd -l username
№2. Сканирование и поиск руткитов (вредоносных программ)
Просканируйте файлы на вирусы, ошибки и руткиты. Если пользователь заходил на ваш сервер из ОС Windows или Mac, то воспользуйтесь инструментами Microsoft / Mac os и антивирусной программой. Программа сканирования вирусов ClamAV доступна и может применяться для сканирования файловых систем Linux / Unix на вирусы, заражающие и другие ОС. Это необходимо сделать перед созданием резервных копий данных. Потому, что некоторые пользователи оставляют после себя руткиты и вирусы, для последующего проникновения в систему (на сервер).n
№3. Создание резервных копий данных.
Обычно сохраняются резервные копии следующих данных:n
- Домашней директории
- Почты
- Директорий FTP
- Cron jobs (планировщика задач)
- Файлов вэб-сервера
- Файлов CVS
- Базы данных MySQL / PGSQL и т.д.
Создайте архив домашнего каталога и почтовой переписки пользуясь кроном (cron), сохраните его в безопасном месте в другой директории:n
# DEST=/path/to/safe/delete_accounts/user/data_$(date +"%d-%m-%Y_%H_%M_%P").tar.gznn# SHOME=/home/$usernn# SMAILBOX=/usr/local/mailboxes/domain.com/$usernn# SCRON=/var/spool/cron/crontabs/$usernn# SFTP=/var/spool/ftp/$usernn# tar -zcvf $DEST $SHOME $SMAILBOX $SCRON $SFTP
Поменяйте $user и другие пути на ваши значения.n
№4 Список файлов в других директориях (каталогах).
Пользователи могли хранить файлы также и в других директориях.nnЧтобы получить полный список файлов, находящихся у пользователя vivek, задайте следующую команду:n
# find / -user vivek -print0 > /root/viveksfiles.txt 2>/root/error.log &
Вы можете сделать резервную копию файлов или просто изменить право собственности на них с помощью команды itself. Все файлы пользователя удалятся из /tmp, /var/tmp и других мест временного хранения файлов.n
№4 Удаление аккаунта
Теперь вы можете удалить пользовательский аккаунт вместе со всеми файлами.n
# userdel -r $user
Убедитесь, что вы удалили имя пользователя из всех групп, к которым оно принадлежало. Посмотреть список групп можно в папке /etc/group.n
№5.Удаление Crontab пользователя
Для создание резервной копии и удаления запланированных задач пользователя введите команду :n
# crontab -u username -l > /path/to/safe/delete_accounts/user/crontab.baknn# crontab -u username –r
№6 Удаление отложенных задач
Чтобы посмотреть список отложенных задач пользователя, введите команду atq. Эту команду не рекомендуется применять для суперпользователя, так как, в этом случае, она выдаст список задач всех пользователей системы. n
# atq | lessnn# atq > /path/to/safe/delete_accounts/user/at.baknn# atrm jobid
№7. Удаление всех процессов
Нужно отправить SIGKILL (-9) всем процессам, принадлежавшим пользователю. Например, чтобы послать KILL процессу или всем процессам пользователя vivek, нужно сначала получить информацию об этих процессах. Следующий запрос выдаст вам подробную информацию о запущенных процессах:n
# ps -fp $(pgrep -u vivek)
Получите все PID:n
# pgrep -u viveknn# pkill -9 -u vivek pid1 pid2
ИЛИn
# killall -KILL -u vivek
№8 Отключение доступа к почте
Настройте почтовый сервер на переадресацию или отключите доступ к электронной почте. Обычно это делается с помощью редактирования файлов базы данных (mysql) или LDAP. Удалите письма (входящие, исходящие и черновики) и все файлы протоколов передачи данных ( POP / IMAP), принадлежащие пользователю (см. каталог /var/mail или /var/spool/mail)nnВы также можете переадресовывать входящие письма или просто удалить ящик с помощью Postfixadmin.n
№9. Отключение прокси-сервера и VPN уделенного доступа:
Еще раз обновите вашу центральную базу данных логинов (например, LDAP) и отключите весь доступ к системе.n
№10. Файлы и электронные письма:
Как правило, любые файлы или электронные письма, оставшиеся в системе, в случае необходимости, могут быть переданы руководителю.n
№11. Решение проблемы доступа к профилю главного администратора (корневого доступа)
Если бывший сотрудник имел рут доступ (доступ к профилю главного администратора) нужно проверить систему на следующие вещи:n
- Трояны (самопроизвольно распространяющиеся вредоносные программы)
- Бэкдоры (программы для повторного получения доступа к системе) скрытые в ядре
- Руткиты
- Cron может использоваться для запуска произвольных скриптов shell с целью вернуть себе суперправа.
- Некоторые файлы могут использоваться для запуска произвольных скриптов
- Нежелательные или скрытые сетевые сервисы.
- Доступ к SSH, пароли, ключи и т.д.
- Подозрительные двоичные файлы SUID/SGID
- Настройки iptables (фаервола системы)
- Удаляются все сообщений, общие элементы памяти и семафоры, принадлежащие пользователю.
Использование identity manager
Стороннее приложение identity manager может легко включать и отключать доступ к множеству сервисов. Вы можете настроить различные политики, основываясь на степени занятости пользователя или политику входа в систему в выходные дни, используя автоматизированное программное обеспечение инициализации.n
Автоматизация
Для автоматизации процесса, вы можете написать Perl или SHELL (BASH) скрипт, чтобы отключить доступ к пользовательским аккаунтам и создавать резервные копии файлов / писем в другом безопасном месте.