NetworkAdmin.ru – Telegram
NetworkAdmin.ru
4.75K subscribers
226 photos
25 videos
2 files
500 links
Авторский блог про сетевое и системное администрирование.

Сайт: networkadmin.ru
Реклама: @dad_admin
Биржа: https://telega.in/c/networkadminru
Download Telegram
🗑️ Как добавить корзину для удалённых файлов в Linux

В Linux по умолчанию нет корзины для удалённых файлов, как в Windows. Но эту функцию можно легко добавить с помощью простого скрипта.

Шаги по настройке:

1️⃣Создаём скрипт для удаления

В домашней директории создаём файл trash.sh со следующим содержанием:
#!/bin/sh
TRASH_DIR="/tmp/trash"
TIMESTAMP=$(date +'%d-%b-%Y-%H:%M:%S')
for i in "$@"; do
FILE=$(basename "$i")
mv "$i" "${TRASH_DIR}/${FILE}.${TIMESTAMP}"
done


2️⃣Создаём директорию для корзины
mkdir /tmp/trash


3️⃣Добавляем алиас для rm

Откройте файл ~/.bashrc и добавьте строку:
alias rm='sh ~/trash.sh'


4️⃣Перечитываем .bashrc
source ~/.bashrc


Теперь при удалении файла командой:
rm filename.txt


Файл будет перемещён в /tmp/trash с добавлением даты и времени к имени, например:
filename.txt.20-Jan-2024-15:25:05


Такой подход позволяет легко восстанавливать случайно удалённые файлы. Формат даты можно изменить по своему вкусу с помощью команды date.

#Linux #Bash

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥8👎5
😅 Петля же будет…

#юмор

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
😁30🔥7
🗑️ Автоочистка устаревших DNS-записей

Для поддержания актуальности DNS-зон в Active Directory рекомендуется настроить автоматическую очистку устаревших динамических записей с помощью функций Aging и Scavenging.

Настройка Aging:

1️⃣Откройте консоль DNS (dnsmgmt.msc) на контроллере домена.
2️⃣Включите отображение расширенных свойств через меню "Вид" > "Дополнительно".
3️⃣В зоне прямого просмотра выберите нужную зону, откройте ее свойства и нажмите "Aging" на вкладке "Общие".
4️⃣Активируйте опцию "Scavenge stale resource records".
5️⃣Установите интервалы:

No-refresh interval: период, в течение которого обновление временной метки записи запрещено (рекомендуется половина срока аренды IP-адреса на DHCP-сервере).

Refresh interval: период, в течение которого разрешено обновление временной метки.

Настройка Scavenging:

1️⃣В свойствах DNS-сервера на вкладке "Дополнительно" включите "Enable automatic scavenging of stale records".

2️⃣Укажите период, через который устаревшие записи будут удаляться после признания их таковыми.

Рекомендации:

— Проверьте, чтобы критически важные записи (серверы, сетевое оборудование) были статическими и не подлежали автоматическому удалению.

— Перед первым запуском очистки рекомендуется экспортировать текущие записи в CSV-файл с помощью PowerShell для резервного копирования:
Get-DnsServerResourceRecord -ZoneName 'yourdomain.com' |
Select-Object HostName, Timestamp, RecordType, @{Name='RecordData';Expression={$_.RecordData.IPv4Address}} |
Export-Csv -Path "C:\Backup\DNSRecords.csv" -NoTypeInformation


#dns #ad #windows

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥5
👩‍💻 SH, BASH и DASH — в чём разница и что использовать?

Начинающие пользователи Linux часто указывают #!/bin/sh в начале скриптов, не задумываясь о значении этой строки. Но есть ещё #!/bin/bash и даже #!/bin/dash.

Разберёмся, что это за оболочки и когда их использовать.


1️⃣SH (оболочка Борна)
— Первая стандартная оболочка Unix.
— Минимальный набор возможностей, поддержка POSIX.
— В большинстве современных систем /bin/sh — это символическая ссылка на BASH или DASH.

2️⃣BASH (Bourne Again Shell)
— Самая популярная оболочка в Linux.
— Поддерживает все возможности SH + дополнительные функции (массовое присваивание переменных, массивы, циклы for с расширенной синтаксической поддержкой и т.д.).
— POSIX-совместимость опциональна (включается флагом --posix).

3️⃣DASH (оболочка Debian Almquist)
— Минимальная и быстрая оболочка.
— Совместима с POSIX.
— По умолчанию /bin/sh в Debian и Ubuntu указывает на DASH, что делает системы более быстрыми и экономными по ресурсам.

Что выбрать?

▪️ SH — если нужен переносимый скрипт, который будет работать на любом POSIX-совместимом Unix-системе.
▪️ BASH — когда важен расширенный функционал и удобство, т.к. BASH есть почти во всех Linux-системах.
▪️ DASH — для лёгких скриптов, где важна скорость и минимальное использование системных ресурсов.

Если нет жёстких требований к совместимости или скорости, используйте BASH — это универсально и удобно. Но для массовых операций или запуска скриптов с частым вызовом функций быстрее будет DASH из-за его меньшего потребления ресурсов и более высокой скорости выполнения.

#linux #bash #dash

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥4
Как передавать большие файлы по нестабильным каналам с минимальной нагрузкой?

Для копирования больших файлов между Windows-хостами по медленному, нестабильному или критически загруженному каналу идеально подходит протокол BITS.

Преимущества:

▪️ Автоматическая регулировка скорости передачи, чтобы не мешать другим приложениям.

▪️ Поддержка докачки даже после разрыва соединения или перезагрузки ПК.

▪️ Совместимость с SMB и HTTP.

Пример команды PowerShell:

1️⃣ Создание асинхронного задания:
Start-BitsTransfer -Source C:\win11.vhdx -Destination \\srv\c$\image -Asynchronous -Priority low -DisplayName CopyVHDX


2️⃣ Проверка прогресса:
Get-BitsTransfer -Name CopyVHDX


3️⃣ Завершение копирования:
Get-BitsTransfer -Name CopyVHDX | Complete-BitsTransfer


Используйте BITS для эффективной передачи данных без лишней нагрузки на сеть.

#bits #powershell

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥3
📀 Резервное копирование с bup

Если ищете эффективное и экономичное решение для резервного копирования, обратите внимание на bup.

Эта программа использует алгоритмы rsync для фрагментации данных и проверки контрольных сумм, а также хранит данные в формате git-репозитория.


Это позволяет легко создавать инкрементные копии, экономя место, особенно если данные повторяются между разными хостами.

▪️ Установка на Debian:
git clone https://github.com/bup/bup  
cd bup
git checkout 0.33
apt-get build-dep bup
apt install python3-pip
pip install tornado
make && make install


▪️ Инициализация репозитория:
export BUP_DIR=/mnt/backup  
source ~/.bashrc
bup init


▪️ Создание бэкапа:
bup index /etc  
bup save -n local-etc /etc


▪️ Восстановление:
bup restore -C ./dest local-etc/latest/etc


#bup #backup #linux

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
🔔 Как отправить уведомление пользователю на удалённый Windows-компьютер?

Для оповещения пользователей на удалённых компьютерах можно использовать стандартные инструменты Windows.

Команду MSG или PowerShell-скрипты.


▪️ Команда MSG

Отправка сообщения конкретному пользователю:
MSG username /server:hostname "Сервер будет перезагружен через 10 минут. Закройте документы."

Здесь username — имя пользователя, а hostname — имя удалённого сервера.

Отправка сообщения всем пользователям сервера:
MSG * /server:hostname "Срочное сообщение всем!"

* указывает, что сообщение получат все активные пользователи сервера.

Ставьте 🔥, и следующий пост будет про PowerShell скрипт.

#msg #windows #microsoft

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥68👍3👎1
🔔 Как отправить красивые уведомления через PowerShell

Для отправки уведомлений пользователям удалённых Windows-компьютеров можно использовать скрипт PowerShell RemoteSendToastNotification.ps1.

▪️ Основные функции скрипта:

• Создание уведомлений с заголовком, текстом, иконками.
• Поддержка кнопок действий (например, открыть ссылку).
• Отправка на удалённые компьютеры через PowerShell Remoting.

▪️ Пример использования:

Уведомление о перезагрузке сервера:
.\RemoteSendToastNotification.ps1 -ComputerName "hostname" `
-Title "Внимание!" `
-Message "Сервер будет перезагружен через 10 минут. Сохраните данные." `
-IconPath "C:\Images\warning.png"


Интерактивное уведомление с кнопкой:
.\RemoteSendToastNotification.ps1 -ComputerName "hostname" `
-Title "Обновление системы" `
-Message "Нажмите для подробностей." `
-ActionButton @{ "Подробнее" = "https://example.com" }


#powershell #windows #microsoft

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥5
🎄 Уважаемые подписчики!

С наступающим вас Новым годом!
Пусть он принесет вам радость, тепло и исполнение всех желаний.

🍾 — за Вас.

Хочу сообщить, что я ухожу на небольшие каникулы до 9 января. Вернусь к вам полным сил и вдохновения!


До встречи в новом году! 🗓
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾27👍14🎄13👎1
🧹 Как автоматически очистить диск при срабатывании триггера в Zabbix

Zabbix - мощный инструмент мониторинга, который помогает следить за состоянием ваших серверов. Одна из частых задач - мониторинг свободного места на диске. Рассмотрим сценарий: при малом количестве места на диске и сработал триггер Zabbix и нужно автоматически освободить место путем создания бэкапа файлов и перемещения их на другой сервер.

▪️ Настройка триггера в Zabbix:

Создайте триггер, который будет срабатывать при достижении порога свободного места на диске. Например, если свободное место на /dev/sda1 меньше 10%:


{server:vfs.fs.size[/,pfree].last()}<10


▪️ Скрипт для создания бэкапа и перемещения файлов: Создайте скрипт на сервере, который будет выполнять резервное копирование и перенос файлов:


#!/bin/bash

# Директория для архивирования
SOURCE_DIR="/dev/sda1/path/to/files"
BACKUP_DIR="/backup/$(date +%Y%m%d)"
REMOTE_SERVER="user@remote_server"
REMOTE_PATH="/remote/backup/path"

# Создаем директорию для бэкапа
mkdir -p $BACKUP_DIR

# Архивируем файлы старше 1 месяца
find $SOURCE_DIR -type f -mtime +30 -print0 | tar -czvf $BACKUP_DIR/backup_$(date +%Y%m%d).tar.gz --null -T -

# Переносим архив на удаленный сервер
scp $BACKUP_DIR/backup_$(date +%Y%m%d).tar.gz $REMOTE_SERVER:$REMOTE_PATH

# Удаляем файлы старше 1 месяца из исходной директории
find $SOURCE_DIR -type f -mtime +30 -delete

# Логирование
echo "Backup and cleanup completed on $(date)" >> /var/log/backup_cleanup.log


SOURCE_DIR - путь к директории на /dev/sda1, откуда будут архивироваться файлы.
BACKUP_DIR - локальная директория для временного хранения архивов.
REMOTE_SERVER и REMOTE_PATH - параметры удаленного сервера и пути, куда будут перемещаться архивы.


▪️ Автоматизация через Zabbix: Добавьте действие (action) в Zabbix, которое будет запускать скрипт при срабатывании триггера:

Перейдите в Configuration > Actions.
Создайте новое действие и настройте его так, чтобы оно выполнялось при срабатывании триггера на малое количество места.
В секции Operations укажите команду для выполнения скрипта:

/path/to/backup_noscript.sh


▪️ Тестирование и настройка уведомлений: Проверьте срабатывание триггера и убедитесь, что скрипт выполняется корректно. Дополнительно можно настроить уведомления о выполнении операции через почту или мессенджер.

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

#backup #linux #zabbix

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥5
🔄 Резервное копирование драйверов в Windows

Windows позволяет быстро экспортировать установленные драйверы. Это удобно при переустановке системы или создании резервной копии.

▪️ Экспорт всех драйверов:


Export-WindowsDriver –Online -Destination C:\drivers


Все сторонние драйверы вместе с файлами INF, SYS, CAT и DLL будут экспортированы в указанный каталог.

▪️ Установка драйверов из каталога:


pnputil.exe /add-driver C:\drivers\*.inf /subdirs /install


▪️ Экспорт одного драйвера (например, Realtek):

Найдите имя INF-файла:


Get-WindowsDriver -Online | where {($_.ProviderName -like "Realtek") -and ($_.ClassName -like "Net")}


Экспортируйте драйвер:

pnputil.exe /export-driver oem20.inf C:\drivers\realtek


#windows #backup #powershell

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45
🎧 Установка операционных систем из ISO по сети с помощью iVentoy

iVentoy - это расширение для популярного инструмента Ventoy, которое позволяет загружать и устанавливать операционные системы с ISO-образов по сети (PXE). С его помощью можно быстро развернуть ОС на нескольких машинах без необходимости использования физических носителей.

▪️ Преимущества iVentoy

• Удобство: Не нужно создавать отдельные загрузочные диски для каждого устройства.
• Гибкость: Поддержка множества ISO-образов на одном сервере.
• Скорость: Быстрая установка благодаря сетевому развертыванию.
• Простота настройки: Легко настроить и интегрировать в существующую инфраструктуру.

▪️ Шаги по установке и настройке iVentoy

1️⃣ Подготовка сервера. Убедитесь, что сервер, который вы собираетесь использовать для сетевой загрузки, настроен и доступен по сети. Он должен иметь DHCP-сервер для назначения IP-адресов и TFTP-сервер для передачи файлов.

2️⃣ Установка Ventoy и iVentoy. Скачайте последнюю версию Ventoy с официального сайта и установите её на USB-накопитель или жесткий диск. Затем загрузите iVentoy и скопируйте его файлы в папку с Ventoy.


wget https://github.com/ventoy/Ventoy/releases/download/v1.0.xx/ventoy-x.x.xx-linux.tar.gz
tar -xvf ventoy-x.x.xx-linux.tar.gz
cd ventoy-x.x.xx
sudo sh Ventoy2Disk.sh -i /dev/sdX
wget https://github.com/ventoy/iVentoy/releases/download/v1.0.xx/iventoy-x.x.xx.tar.gz
tar -xvf iventoy-x.x.xx.tar.gz
cp -r iventoy /path/to/ventoy/


3️⃣ Настройка PXE-загрузки. Настройте DHCP-сервер для предоставления информации о загрузке PXE. Добавьте следующий блок в конфигурацию DHCP:

next-server <IP-адрес вашего TFTP-сервера>;
filename "pxelinux.0";

4️⃣ Добавление ISO-образов. Скопируйте необходимые ISO-образы в каталог /ventoy/iso. Убедитесь, что образы поддерживаются Ventoy.

5️⃣ Запуск iVentoy. Перезагрузите сервер и запустите iVentoy. Выберите нужный ISO-образ через сетевую загрузку на клиентских машинах.


sudo ./iventoy --start


#install #oc

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
🕹️ Тестирование пропускной способности интернета через командную строку

Тестирование скорости интернета - важная задача для диагностики сетевых проблем и проверки качества соединения. В Windows и Linux это можно сделать прямо из командной строки, используя различные утилиты и команды. Рассмотрим, как это сделать на обеих платформах.

📱 Тестирование в Windows

1️⃣ Использование PowerShell и Measure-Command:
В Windows PowerShell можно использовать команду Measure-Command, чтобы измерить время, необходимое для загрузки файла.


Measure-Command { Invoke-WebRequest -Uri "http://speedtest.tele2.net/1MB.zip" -OutFile "1MB.zip" }


Эта команда загружает файл размером 1MB и измеряет время, за которое это происходит. На основе этого времени можно вычислить скорость загрузки.

2️⃣ Использование wget или curl:
В Windows 10 и новее wget и curl доступны из коробки.


curl -o nul -w "%{speed_download}\n" http://speedtest.tele2.net/1MB.zip


Команда curl загрузит файл и выведет скорость загрузки.

📱 Тестирование в Linux

1️⃣ Использование wget:
В Linux утилита wget позволяет загружать файлы из интернета и измерять скорость загрузки.


wget --output-document=/dev/null http://speedtest.tele2.net/1MB.zip


После выполнения команды wget покажет среднюю скорость загрузки.

2️⃣ Использование curl:
curl также можно использовать для тестирования скорости.


curl -o /dev/null -w "\nSpeed: %{speed_download} bytes/sec\n" http://speedtest.tele2.net/1MB.zip


Эта команда загрузит файл и покажет скорость в байтах в секунду.

3️⃣ Использование speedtest-cli:
Утилита speedtest-cli позволяет легко тестировать скорость интернета, подключаясь к ближайшему серверу.


sudo apt install speedtest-cli
speedtest-cli


Команда выведет скорость загрузки и отдачи.

#network #windows #linux

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
⚡️ Рунет умер. Пользователи из России массово жалуются на проблемы со связью. Сбоят операторы связи, соцсети, маркетплейсы, не открываются вообще никакие сайты.

Сейчас вроде бы все оживает..Но аккуратнее в следующий раз с желаниями

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁30🤡4👍3😱1
👑 Изменение приоритета сетевых адаптеров на хосте Windows через PowerShell

Изменение приоритета сетевых адаптеров в Windows позволяет указать, какое соединение должно использоваться по умолчанию. Это особенно полезно, если у вас есть несколько сетевых подключений и вы хотите оптимизировать их использование.

Шаги для изменения приоритета сетевых адаптеров через PowerShell:

1️⃣ Получение списка сетевых адаптеров. Для начала нужно получить список всех сетевых интерфейсов и их текущие метрики. Это можно сделать с помощью команды:


Get-NetIPInterface


Эта команда выведет таблицу с информацией о всех сетевых интерфейсах, включая их индекс, имя (Alias), состояние, тип интерфейса и текущую метрику (InterfaceMetric).

2️⃣ Изменение метрики сетевого интерфейса. Для изменения приоритета сетевого адаптера нужно изменить его метрику. Чем ниже значение метрики, тем выше приоритет интерфейса. Используйте следующую команду для изменения метрики:


Set-NetIPInterface -InterfaceAlias "Имя адаптера" -InterfaceMetric 10


Замените "Имя адаптера" на имя нужного сетевого интерфейса, а 10 - на желаемое значение метрики. Например:


Set-NetIPInterface -InterfaceAlias "Ethernet" -InterfaceMetric 10


3️⃣ Проверка изменений. После изменения метрики рекомендуется проверить настройки, чтобы убедиться, что изменения были применены:


Get-NetIPInterface


Проверяем, что метрика интерфейса изменилась на нужное значение.

Изменение приоритета сетевых адаптеров - это быстрый и удобный способ управления сетевыми подключениями. Этот метод позволяет точно настраивать приоритеты и обеспечивает большую гибкость в управлении сетью без необходимости использования графического интерфейса.

#network #windows

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍182
👩‍💻 Установка срока действия учетной записи в Linux

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

Использование команды 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 <имя_пользователя>


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

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

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

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


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


Например:


sudo useradd -e 2025-02-01 tempuser


2️⃣ Изменение срока действия для существующего пользователя:


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


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

#linux #users

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍181
🏳️ Мониторинг в Zabbix с использованием Bash-скриптов

Zabbix предоставляет широкие возможности для мониторинга систем, и одним из самых гибких инструментов является ключ system.run. Он позволяет выполнять любые Bash-скрипты на мониторируемых хостах и возвращать их результаты для последующего анализа.

1️⃣ Настройка элемента данных

Для начала необходимо создать элемент данных, который будет запускать Bash-скрипт:

1. В веб-интерфейсе Zabbix перейдите в раздел "Конфигурация" -> "Хосты".
2. Выберите хост и перейдите в раздел "Элементы данных".
3. Нажмите "Создать элемент данных" и заполните поля:
• Имя: Назовите элемент, например, "Custom Bash Script".
• Ключ: Укажите system.run["/path/to/your/noscript.sh"].
4.. Тип информации: Выберите тип возвращаемых данных (например, числовое значение).


2️⃣ Пример Bash-скрипта для мониторинга

Простой скрипт, который проверяет количество активных соединений к веб-серверу:


#!/bin/bash
netstat -an | grep ':80' | wc -l


Этот скрипт подсчитывает количество активных соединений к порту 80 и возвращает результат.

3️⃣ Расширенные возможности

Для более сложного мониторинга, например, статуса кластера, можно использовать следующий Bash-скрипт:


#!/bin/bash

CLUSTER_NODES=("node1" "node2" "node3")
STATUS=""

for NODE in "${CLUSTER_NODES[@]}"
do
NODE_STATUS=$(ssh $NODE 'systemctl is-active cluster-service')
STATUS+="$NODE: $NODE_STATUS\n"
done

echo -e $STATUS


Этот скрипт подключается к каждому узлу кластера через SSH и проверяет статус службы cluster-service. Результаты возвращаются в формате "имя узла: статус".

#monitoring #zabbix

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍191
👤 Восстановление доверительных отношений с доменом после отката Windows

При откате Windows к старому снапшоту или резервной копии, можно столкнуться с ситуацией, когда компьютер выпадает из домена. Это приводит к ошибке при попытке входа под доменным пользователем:

"Не удалось установить доверительные отношения между рабочей станцией и доменом."

Когда компьютер добавляется в домен, для него создается учетная запись с паролем. Этот пароль хранится как на компьютере, так и в базе Active Directory (AD). Если после восстановления из снапшота пароли не совпадают, компьютер не может установить защищенный канал с доменом.

Для восстановления доверительных отношений с доменом и синхронизации пароля компьютера с AD можно использовать PowerShell:

▪️ Проверка статуса доверительных отношений:


Test-ComputerSecureChannel -Verbose


Эта команда проверит, существуют ли проблемы с доверительными отношениями между рабочей станцией и доменом.

▪️ Восстановление доверительных отношений:


Test-ComputerSecureChannel -Repair -Credential networkadminru\\admin


Замените networkadminru\\admin на ваши учетные данные администратора домена. Эта команда попытается восстановить доверительные отношения, синхронизируя пароль компьютера с AD.

Таким образом можно быстро восстановить работоспособность компьютера в домене и избежать дальнейших проблем с доступом.

#domain #windows

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
👀 Логирование пользовательских сессий в Linux

Для логирования пользовательских сессий, включая команды и действия на сервере, одним из инструментов является auditd. Он предоставляет детальное логирование и позволяет отслеживать действия пользователей в системе.

1️⃣ Установка и настройка auditd

Установка auditd:


sudo apt update
sudo apt install auditd audispd-plugins


Настройка правил логирования: Правила логирования определяются в файле /etc/audit/audit.rules. Добавим правило для логирования всех команд пользователей:


echo '-a always,exit -F arch=b64 -S execve -k commands' | sudo tee -a /etc/audit/audit.rules


2️⃣ Скрипт для сбора и перемещения логов. Bash-скрипт, который будет собирать логи, сортировать их по пользователю и дате, и перемещать на удаленный сервер.


#!/bin/bash

LOG_DIR="/var/log/audit"
DEST_SERVER="user@remote-server:/path/to/logs"
TEMP_DIR="/tmp/audit_logs"

# Создание временной директории
mkdir -p $TEMP_DIR

# Сбор логов по пользователям
ausearch -k commands | while read -r line; do
USER=$(echo "$line" | grep -oP '(?<=uid=)[0-9]+')
TIMESTAMP=$(echo "$line" | grep -oP '(?<=time=)[0-9]+' | head -n 1)
DATE=$(date -d @$TIMESTAMP "+%Y-%m-%d_%H-%M-%S")
USERNAME=$(id -nu $USER)

# Создание файла лога
echo "$line" >> "$TEMP_DIR/${USERNAME}_${DATE}.log"
done

# Перемещение логов на удаленный сервер
scp $TEMP_DIR/* $DEST_SERVER

# Очистка временной директории
rm -rf $TEMP_DIR


Данный скрипт можно добавить в крон на сервере и тогда с установленной периодичностью данные будут автоматически перещаться.

#linux #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Арестован за маленькую пропускную способность

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁28
🛡 Настройка безопасного SSH-соединения

Чтобы минимизировать риски и усилить защиту сервера, необходимо настроить SSH-соединение с дополнительными мерами безопасности. Сегодня рассмотрим ключевые шаги для улучшения безопасности SSH.

1️⃣ Отключение входа по паролю. Использование паролей может быть уязвимо к атакам типа brute-force. Настройка входа по SSH-ключам делает подключение гораздо более защищенным.

Создание SSH-ключа:


ssh-keygen -t rsa -b 4096


Добавление ключа на сервер:


ssh-copy-id user@server_ip


После успешного добавления ключа, в файле /etc/ssh/sshd_config измените строку: PasswordAuthentication no

2️⃣ Изменение стандартного порта SSH. Для предотвращения автоматизированных сканирований лучше изменить стандартный порт с 22 на менее очевидный.

Для этого Измените строку в файле /etc/ssh/sshd_config: Port 2222

3️⃣ Ограничение входа по IP-адресам. Если возможно, настройте брандмауэр для разрешения подключения к SSH только с определенных IP-адресов.

Используйте ufw для настройки правил:


sudo ufw allow from 192.168.1.100 to any port 2222
sudo ufw enable


4️⃣ Настройка двухфакторной аутентификации (2FA). Установка двухфакторной аутентификации добавляет дополнительный уровень защиты.

Установите Google Authenticator:


sudo apt install libpam-google-authenticator


Настройте PAM для использования 2FA, добавив строку в /etc/pam.d/sshd: auth required pam_google_authenticator.so

5️⃣ Ограничение числа попыток подключения. Используйте fail2ban для защиты от атак грубой силы.

Установите fail2ban:


sudo apt install fail2ban


Настройте его в /etc/fail2ban/jail.local:


[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3


6️⃣ Отключение входа для root. Чтобы защитить сервер, запретите прямой вход root-пользователя.

В файле /etc/ssh/sshd_config измените: PermitRootLogin no

Комбинация использования SSH-ключей, изменения порта, ограничения доступа и дополнительных мер, таких как 2FA и fail2ban, делает сервер значительно менее уязвимым к атакам.

#linux #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🤔3