Rate this post

Недавно заметил, что два моих бывших сотрудника  все еще пытаются зайти на один из наших 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) скрипт, чтобы отключить доступ к пользовательским аккаунтам и создавать резервные копии файлов / писем в другом безопасном месте.