Сергей | Как настроить? - ageomash.ru https://ageomash.ru Блог про настройку компьютеров, роутеров, мобильных устройств Wed, 02 Apr 2025 12:48:24 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.8 https://ageomash.ru/wp-content/uploads/2016/03/cropped-chip-32x32.png Сергей | Как настроить? - ageomash.ru https://ageomash.ru 32 32 Базовая защита SSH — обязательный минимум конфигурации - ageomash.ru https://ageomash.ru/bazovaya-zashhita-ssh-obyazatelnyj-minimum-konfiguraczii/ https://ageomash.ru/bazovaya-zashhita-ssh-obyazatelnyj-minimum-konfiguraczii/#respond Wed, 02 Apr 2025 12:46:15 +0000 https://ageomash.ru/?p=11782 Защита SSH (Secure Shell) от взлома — это критически важная задача, особенно если сервер доступен из интернета или используется в локальной сети с потенциальными уязвимостями. SSH предоставляет удалённый доступ к серверу, и если злоумышленник получит доступ к вашему SSH, он сможет полностью контролировать систему, что может привести к серьёзным последствиям. Давайте разберём, почему это так ... Читать далее

The post Базовая защита SSH — обязательный минимум конфигурации first appeared on Как настроить?.]]>
защита ssh от взлома

Защита SSH (Secure Shell) от взлома — это критически важная задача, особенно если сервер доступен из интернета или используется в локальной сети с потенциальными уязвимостями. SSH предоставляет удалённый доступ к серверу, и если злоумышленник получит доступ к вашему SSH, он сможет полностью контролировать систему, что может привести к серьёзным последствиям. Давайте разберём, почему это так важно и какие риски возникают при отсутствии защиты.

Почему SSH нужно защищать?

SSH — это «входная дверь» в ваш сервер
SSH часто используется для управления серверами, особенно в Linux/Unix-системах. Если злоумышленник взломает SSH, он получит полный доступ к серверу, включая возможность:

    • Устанавливать вредоносное ПО (например, майнеры криптовалюты или ransomware).
    • Удалять или изменять важные данные.
    • Использовать сервер как плацдарм для атак на другие системы (например, в рамках ботнета).
    • Получить доступ к конфиденциальной информации (пароли, ключи, данные пользователей).

Популярность атак на SSH
SSH-серверы — одна из самых частых целей для автоматизированных атак. Боты постоянно сканируют интернет в поисках открытых портов SSH (по умолчанию это порт 22) и пытаются подобрать пароли методом перебора (brute-force). Например:

    • По данным исследований, таких как отчёт F5 Labs за 2023 год, SSH-серверы подвергаются миллионам атак ежедневно.
    • Если у вас слабый пароль (например, «admin123»), его могут подобрать за считанные минуты с помощью инструментов вроде Hydra или Medusa.

Риск утечки данных
Если злоумышленник получит доступ через SSH, он сможет скачать все данные, хранящиеся на сервере. Это особенно опасно, если сервер содержит:

    • Персональные данные пользователей (например, в соответствии с GDPR или другими законами о защите данных).
    • Коммерческую информацию (контракты, финансовые данные).
    • Ключи доступа к другим системам (например, API-ключи, приватные ключи для других серверов).

Компрометация всей сети
Если сервер находится в локальной сети, взлом SSH может стать точкой входа для атаки на другие устройства в сети. Злоумышленник может:

    • Использовать сервер для сканирования сети.
    • Распространять вредоносное ПО на другие машины.
    • Перехватывать трафик (например, через ARP-спуфинг).

Репутационные и финансовые потери
Если ваш сервер взломают, это может привести к:

    • Утечке данных клиентов, что подорвёт доверие к вашей компании.
    • Штрафам за нарушение законов о защите данных (например, GDPR может наложить штраф до 20 млн евро или 4% годового оборота).
    • Простоям в работе, что приведёт к финансовым убыткам.

Основные угрозы для SSH

  1. Brute-force атаки
    Злоумышленники используют автоматизированные инструменты для подбора паролей. Если у вас слабый пароль или стандартные учётные данные (например, «root» с паролем «password»), сервер будет взломан очень быстро.
  2. Утечка ключей
    Если вы используете SSH-ключи для аутентификации, но приватный ключ попал в руки злоумышленника (например, из-за компрометации вашего компьютера), он сможет подключиться к серверу без пароля.
  3. Уязвимости в SSH
    Старые версии SSH (например, устаревшие реализации OpenSSH) могут содержать уязвимости, которые злоумышленники могут эксплуатировать. Например, в 2019 году была обнаружена уязвимость CVE-2019-6111, позволяющая перезаписывать файлы через SCP.
  4. Перехват трафика (man-in-the-middle)
    Если SSH настроен неправильно (например, отключена проверка ключей хоста), злоумышленник может подменить сервер, и вы подключитесь к фальшивому серверу, передав свои учётные данные.
  5. Социальная инженерия
    Злоумышленники могут обманом заставить администратора раскрыть пароль или ключ, например, через фишинговые атаки.

как защитить ssh сервер

Как защитить SSH

1️⃣ Отключаем root-доступ. Вход под пользователем root — это частая цель атак. Запретите его в /etc/ssh/sshd_config:

PermitRootLogin no

2️⃣ Меняем стандартный порт.

По умолчанию SSH работает на порту 22. Смена порта (например, на 2222) не остановит опытного хакера, но значительно снизит количество автоматизированных атак. В файле /etc/ssh/sshd_config измените строку:
Port 10022

(Внимание! Не забудьте открыть новый порт 10021 в фаерволе (ufw/iptables/firewalld)!!!

3️⃣ Используем SSH-ключи вместо паролей! Аутентификация по ключам гораздо безопаснее, чем по паролю. Отключите вход по паролю в /etc/ssh/sshd_config:

PasswordAuthentication no
PubkeyAuthentication yes

После этого сгенерируйте пару ключей:

ssh-keygen -t rsa -b 4096

И скопируйте публичный ключ на сервер:

ssh-copy-id user@server

Всё, теперь можно «заряжать» ключ в ssh-клиент и пользоваться!

4️⃣ Ограничиваем доступ по IP. Тут можно просто ограничить вход только с доверенных IP через AllowUsers или AllowGroups:

AllowUsers [email protected]

А можно настроить соответствующее правило в фаерволе. Вот пример для ufw:

sudo ufw allow from 192.168.1.0/24 to any port 10022
sudo ufw deny 10022

5️⃣ Включаем защиту от brute-force атак. В этом нам поможет утилита fail2ban, которая блокируют IP-адреса после нескольких неудачных попыток входа. Установка fail2ban:

apt install fail2ban # Debian/Ubuntu
yum install fail2ban # CentOS/RHEL

Прописываем настройки в файле: /etc/fail2ban/jail.local:

[sshd]
enabled = true
maxretry = 3
findtime = 10m
bantime = 1h

6️⃣ Отключаем X11 Forwarding и пустые пароли

X11Forwarding no
PermitEmptyPasswords no

После сохранения изменений в файле sshd_config, не забывайте перезапускать службу sshd, чтобы изменения вступили в силу.

$: sudo systemctl restart sshd

P.S.:

Защита SSH — это не просто рекомендация, а необходимость, особенно для серверов, доступных из интернета. Взлом SSH может привести к катастрофическим последствиям: от утечки данных до полной компрометации инфраструктуры. Внедрение базовых мер безопасности, таких как смена порта, использование ключей, настройка файрвола и мониторинг, значительно снижает риски. Однако важно помнить, что безопасность — это непрерывный процесс, и нужно регулярно обновлять настройки и следить за новыми угрозами.

The post Базовая защита SSH — обязательный минимум конфигурации first appeared on Как настроить?.]]>
https://ageomash.ru/bazovaya-zashhita-ssh-obyazatelnyj-minimum-konfiguraczii/feed/ 0
Смена имени сервера Windows без простоя - ageomash.ru https://ageomash.ru/smena-imeni-servera-windows-bez-prostoya/ https://ageomash.ru/smena-imeni-servera-windows-bez-prostoya/#respond Wed, 02 Apr 2025 12:03:49 +0000 https://ageomash.ru/?p=11780 У системного администратора разные задачи бывают. Одна из такие — когда нужно поменять имя сервера Windows, но при этом обеспечить плавную миграцию клиентов, то есть без массово их отвала и жалоб на недоступность сервера. Как это сделать?! Самый оптимальный вариант — это добавить альтернативное имя. Это позволит временно сохранить старое имя до тех пор, пока ... Читать далее

The post Смена имени сервера Windows без простоя first appeared on Как настроить?.]]>
как сменить имя сервера

У системного администратора разные задачи бывают. Одна из такие — когда нужно поменять имя сервера Windows, но при этом обеспечить плавную миграцию клиентов, то есть без массово их отвала и жалоб на недоступность сервера. Как это сделать?! Самый оптимальный вариант — это добавить альтернативное имя. Это позволит временно сохранить старое имя до тех пор, пока все клиентские устройства плавно не перетекут на новое.

В Windows Server для этого используется консольная утилита netdom.

Вот пример её использования:

netdom computername fs01 /ADD new-server.corporate.local

Эта команда автоматически создаст CNAME (алиас) в DNS и обновит SPN в Active Directory.

Если же у Вас сервер живёт не на серверной ОС а на обычно  Windows 10 или Windows  11, то там уже утилиты netdom нет. В этом случае придётся добавить новое имя вручную:

1️⃣ Создать CNAME-запись в DNS;
2️⃣ Добавить имя в реестре (AlternateComputerNames);
3️⃣ Обновить SPN для учётной записи компьютера.

Такой «финт» поможет избежать сбоев при переходе на новое имя сервера.

The post Смена имени сервера Windows без простоя first appeared on Как настроить?.]]>
https://ageomash.ru/smena-imeni-servera-windows-bez-prostoya/feed/ 0
Используем firewalld вместо iptables — реальный пример настройки - ageomash.ru https://ageomash.ru/ispolzuem-firewalld-vmesto-iptables-realnyj-primer-nastrojki/ https://ageomash.ru/ispolzuem-firewalld-vmesto-iptables-realnyj-primer-nastrojki/#respond Tue, 18 Mar 2025 14:50:01 +0000 https://ageomash.ru/?p=11773 Firewalld — это отличная альтернатива iptables. Её используют сейчас в большинстве дистрибутивов Linux: RHEL, CentOS, Fedora. Firewalld предоставляет простой, удобный и значительно более гибкий способ управления правилами файрволла, нежели привычный многим iptables, который уже значительно устарел. Да, для простейших случаев настройка iptables — дело вроде бы несложное. Но вот если брать более сложные сети и ... Читать далее

The post Используем firewalld вместо iptables — реальный пример настройки first appeared on Как настроить?.]]>
настройка firewalld

Firewalld — это отличная альтернатива iptables. Её используют сейчас в большинстве дистрибутивов Linux: RHEL, CentOS, Fedora. Firewalld предоставляет простой, удобный и значительно более гибкий способ управления правилами файрволла, нежели привычный многим iptables, который уже значительно устарел. Да, для простейших случаев настройка iptables — дело вроде бы несложное. Но вот если брать более сложные сети и большое количеством правил, то тут уже может серьёзно поплохеть. Иногда, чтобы изучить все настройки и понять, как это работает, нужно потратить значительно количество время. Давайте посмотрим в чем firewalld отличается iptables и как его настроить.

? Плюсы firewalld

  • Динамическая настройка — изменения применяются без перезапуска служб и потери соединений.
  • Зональная модель безопасности — можно настроить разные уровни защиты для интерфейсов.
  • Поддержка rich rules и сервисов — удобнее управлять сложными правилами.
  • Интеграция с D-Bus — позволяет управлять файрволлом программным образом.

? Минусы firewalld

  • Меньший контроль — iptables даёт более низкоуровневый доступ к правилам.
  • Сложнее отладки — из-за зональной модели иногда сложно понять, какие правила срабатывают.
  • Привычка к iptables — многим администраторам привычнее классическая iptables.

Примеры настройки firewalld

1⃣ Открываем порт. Открываем порт 80 для HTTP:

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload

2⃣ Закрываем порт. Закрываем порт 22 (SSH):

sudo firewall-cmd --permanent --remove-port=22/tcp
sudo firewall-cmd --reload

3⃣ Добавляем сервис. Firewalld поддерживает предопределённые сервисы. Например, открываем SSH:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

Посмотреть список доступных сервисов можно так:

firewall-cmd --get-services

4⃣ Используем зоны безопасности. Firewalld использует зоны для управления трафиком. Например, перемещаем интерфейс eth0 в зону «public»:

sudo firewall-cmd --permanent --zone=public --change-interface=eth0
sudo firewall-cmd --reload

Посмотреть текущую зону интерфейса:

firewall-cmd —get-active-zones

5⃣ Создаём кастомное правило. Блокируем весь трафик с IP 192.168.1.100:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" drop'
sudo firewall-cmd --reload

6⃣ Временные правила. Можно временно открыть порт (например, на 5 минут):

sudo firewall-cmd --add-port=8080/tcp --timeout=300

После истечения времени правило удалится автоматически.

? Конвертация iptables в firewalld. Если у вас уже настроен iptables, можно конвертировать его правила в формат firewalld:

iptables-save > rules.v4
iptables-restore < rules.v4

Затем вручную перенести правила в firewalld, используя firewall-cmd.

The post Используем firewalld вместо iptables — реальный пример настройки first appeared on Как настроить?.]]>
https://ageomash.ru/ispolzuem-firewalld-vmesto-iptables-realnyj-primer-nastrojki/feed/ 0
Как обнаружить скрытые процессы rootkits в Linux? - ageomash.ru https://ageomash.ru/kak-obnaruzhit-rootkits-linux/ https://ageomash.ru/kak-obnaruzhit-rootkits-linux/#respond Sat, 08 Mar 2025 05:50:34 +0000 https://ageomash.ru/?p=11774 Руткиты — rootkits — это специализированные вредоносные программы, которые маскируют своё присутствие в системе с целью выполнения в дальнейшем каких-либо скрытых действий. Они могут скрывать файлы, процессы и даже сетевые соединения, а так же подменять команды пользователя. Многие их них способны обходить антивирусные проверки. Я хочу поделиться с Вами своим опытом борьбы с руткитами. Возможно ... Читать далее

The post Как обнаружить скрытые процессы rootkits в Linux? first appeared on Как настроить?.]]>
поиск руткитов в линуксе

Руткиты — rootkits — это специализированные вредоносные программы, которые маскируют своё присутствие в системе с целью выполнения в дальнейшем каких-либо скрытых действий. Они могут скрывать файлы, процессы и даже сетевые соединения, а так же подменять команды пользователя. Многие их них способны обходить антивирусные проверки. Я хочу поделиться с Вами своим опытом борьбы с руткитами. Возможно что-то из этого Вы возьмёте себе на вооружение.

Как руткиты скрывают процессы — основные способы:

1. Подмена системных вызовов (syscalls). Rootkits перехватывают вызовы типа getdents(), readdir(), ps, top и т.п., скрывая нужные процессы.

2. Изменение ядра (Kernel Mode Rootkits). В этом случае руткиты загружаются как модули ядра (.ko-файлы) и модифицируют функции ядра, скрывая свою активность.

3. Хук системы /proc. Rootkits подменяют содержимое /proc/[PID], маскируя процесс от стандартных утилит.

4. Использование LD_PRELOAD. Библиотеки динамической загрузки подменяют поведение системных команд даже без изменения ядра.

Как обнаружить скрытые процессы в Линуксе?

1️⃣ Проверка /proc вручную:

ls -al /proc | grep -vE "^[d-]r--r--r--"

Если процесс не виден стандартными командами типа ps aux или top, но есть его директория в /proc — это уже должно Вас насторожить.

2️⃣ Сравнение выводов разных утилит:

ps aux | wc -l && ls /proc | grep -E '^[0-9]+$' | wc -l

Числа при сравнении должны совпадать. Если в /proc будет больше процессов, чем показывает вывод команды ps, то вполне возможно, что система заражена.

3️⃣ Использование утилиты chkrootkit:

chkrootkit | grep INFECTED

Простая проверка на наиболее распространённые и известные rootkits.

4️⃣ Использование rkhunter:

rkhunter --check

Утилита проверяет системные файлы на различные несанкционированные изменения.

5️⃣ Анализ ядра и загруженных модулей:

lsmod | grep -i rootkit

Некоторые руткиты могут маскироваться, но подозрительные модули можно выявить через lsmod.

Как можно защититься от руткитов в линуксе?

  • Использовать SELinux/AppArmor для ограничения доступа к системным ресурсам.
  • Регулярно проверять целостность файлов (aide, tripwire).
  • Запретить загрузку новых модулей ядра (echo 1 > /proc/sys/kernel/modules_disabled).
  • Следить за сетевой активностью (netstat -tulnp | grep LISTEN).
  • Использовать Linux-утилиты безопасности (auditd, Sysmon for Linux).
The post Как обнаружить скрытые процессы rootkits в Linux? first appeared on Как настроить?.]]>
https://ageomash.ru/kak-obnaruzhit-rootkits-linux/feed/ 0
Как установить срок действия учетной записи в Linux - ageomash.ru https://ageomash.ru/linux-srok-dejstviya-uchetnoj-zapisi/ https://ageomash.ru/linux-srok-dejstviya-uchetnoj-zapisi/#comments Thu, 16 Jan 2025 11:41:10 +0000 https://ageomash.ru/?p=11770 В некоторых случаях требуется установить срок действия учетной записи пользователя в ОС Linux для того, чтобы она автоматически отключалась после определенного времени действия. Это крайне необходимо для временных учетных записей или обеспечения безопасности. Сейчас я подробно расскажу как можно установить срок действия учетной записи с помощью командной консоли Линукс. Команды useradd, usermod и chage в ... Читать далее

The post Как установить срок действия учетной записи в Linux first appeared on Как настроить?.]]>
установить срок учетной записи Linux

В некоторых случаях требуется установить срок действия учетной записи пользователя в ОС Linux для того, чтобы она автоматически отключалась после определенного времени действия. Это крайне необходимо для временных учетных записей или обеспечения безопасности. Сейчас я подробно расскажу как можно установить срок действия учетной записи с помощью командной консоли Линукс.

Команды useradd, usermod и chage в консоли Linux позволяют гибко настраивать учетные записи , обеспечивая необходимый уровень контроля и защиты.

Использование useradd и usermod

При создании нового пользователя командой useradd, Вы  можете сразу установить срок действия учетной записи.

1️⃣ Создание пользователя с ограниченным сроком действия:

sudo useradd -e <YYYY-MM-DD> <имя_пользователя>

Например:

sudo useradd -e 2025-02-01 tempuser

2️⃣ Когда учётка уже создана, изменить срок действия пользователя можно командой usermod:

sudo usermod -e <YYYY-MM-DD> <имя_пользователя>

Использование команды chage

Команда chage позволяет управлять сроком действия пароля и учетной записи пользователя.

1️⃣ Просмотр текущих настроек учетной записи:
Чтобы узнать текущие параметры учетной записи, используйте следующую команду:

chage -l <имя_пользователя>

Эта команда выведет информацию о дате последнего изменения пароля, сроке действия и других параметрах.

2️⃣ Установка срока действия учетной записи:
Чтобы установить дату, после которой учетная запись будет отключена, используйте команду:

sudo chage -E <YYYY-MM-DD> <имя_пользователя>

Например, чтобы отключить учетную запись пользователя testuser 1 февраля 2025 года, выполните:

sudo chage -E 2025-02-01 testuser

3️⃣ Удаление срока действия учетной записи:
Если необходимо снять ограничение по сроку действия учетной записи, используйте:

sudo chage -E -1 <имя_пользователя>

Это отключит автоматическое отключение учетной записи.

The post Как установить срок действия учетной записи в Linux first appeared on Как настроить?.]]>
https://ageomash.ru/linux-srok-dejstviya-uchetnoj-zapisi/feed/ 1