7 вещей, которые я проверяю сразу после входа на Linux-сервер, который я не настраивал
Это перевод оригинальной статьи 7 Things I Check Immediately After Logging Into a Linux Server I Didn’t Set Up.
Подписывайтесь на телеграм-канал usr_bin, где я публикую много полезного по Linux, в том числе ссылки на статьи в этом блоге.
Вступление:
Оказывались ли вы когда-нибудь в ситуации, когда вам передают управление Linux-сервером, который был настроен кем-то другим — без какой-либо документации и с неизвестной историей? Такая ситуация встречается чаще (и опаснее), чем вы думаете. Независимо от того, унаследовали ли вы сервер от другого администратора или проводите аудит клиентской системы, вот 7 первых вещей, которые я проверяю, чтобы быстро оценить уровень безопасности и стабильность системы.
1. Кто имеет доступ (и как)?
cat /etc/passwd | grep '/bin/bash'
🔍 Ищите неожиданных пользователей с логин-шеллами.
Затем проверьте наличие SSH-ключей:
ls -la /home/*/.ssh/authorized_keys
Тревожный сигнал: неизвестные пользователи, включен вход по паролю или ключи, которые не должны использоваться.
2. Что запущено на этом сервере?
ps aux --sort=-%mem | head -n 10
Проверьте наличие странных фоновых процессов. Обратите особое внимание на:
3. Применяются ли обновления?
# Ubuntu sudo apt update && sudo apt list --upgradable
# Red Hat sudo yum check-update
Если сервер полон устаревших пакетов — это ваш первый пункт для исправления.
4. Какие порты открыты (и почему)?
sudo ss -tuln
Сверьте прослушивающие сервисы со следующими источниками:
sudo systemctl list-units --type=service --state=running
Совет: если система прослушивает интернет, и вы не знаете, зачем, проведите расследование.
5. Что запланировано через Cron?
for user in $(cut -f1 -d: /etc/passwd); do sudo crontab -u $user -l 2>/dev/null; done
Не забудьте и о системных cron-задачах:
ls -l /etc/cron* /etc/anacrontab
Остерегайтесь base64, curl или wget в cron — это часто признак механизмов закрепления у вредоносного ПО.
6. Что в истории root?
sudo cat /root/.bash_history
Вы можете обнаружить признаки необычных команд, сбоев в работе скриптов или ручного вмешательства.
7. Насколько безопасен SSH?
cat /etc/ssh/sshd_config | grep -E 'PermitRootLogin|PasswordAuthentication'
Заключение:
Вход на загадочный Linux-сервер — это как вход в запертую комнату с разбитыми окнами: не стоит предполагать, что что-либо безопасно. Выполните проверки, укрепите сервер и задокументируйте всё, что найдёте.
На этом все! Спасибо за внимание! Если статья была интересна, подпишитесь на телеграм-канал usr_bin, где будет еще больше полезной информации.