Сейчас вроде бы все оживает..Но аккуратнее в следующий раз с желаниями
#юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
😁30🤡4👍3😱1
Изменение приоритета сетевых адаптеров в Windows позволяет указать, какое соединение должно использоваться по умолчанию. Это особенно полезно, если у вас есть несколько сетевых подключений и вы хотите оптимизировать их использование.
Шаги для изменения приоритета сетевых адаптеров через PowerShell:
Get-NetIPInterface
Эта команда выведет таблицу с информацией о всех сетевых интерфейсах, включая их индекс, имя (Alias), состояние, тип интерфейса и текущую метрику (InterfaceMetric).
Set-NetIPInterface -InterfaceAlias "Имя адаптера" -InterfaceMetric 10
Замените "Имя адаптера" на имя нужного сетевого интерфейса, а 10 - на желаемое значение метрики. Например:
Set-NetIPInterface -InterfaceAlias "Ethernet" -InterfaceMetric 10
Get-NetIPInterface
Проверяем, что метрика интерфейса изменилась на нужное значение.
Изменение приоритета сетевых адаптеров - это быстрый и удобный способ управления сетевыми подключениями. Этот метод позволяет точно настраивать приоритеты и обеспечивает большую гибкость в управлении сетью без необходимости использования графического интерфейса.
#network #windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤2
В некоторых случаях может потребоваться установить срок действия учетной записи пользователя в Linux, чтобы она автоматически отключалась после определенного времени. Это полезно для временных учетных записей или обеспечения безопасности. Сегодня рассмотрим, как установить срок действия учетной записи с помощью командной строки.
Использование команды chage
Команда
chage позволяет управлять сроком действия пароля и учетной записи пользователя.Чтобы узнать текущие параметры учетной записи, используйте следующую команду:
chage -l <имя_пользователя>
Эта команда выведет информацию о дате последнего изменения пароля, сроке действия и других параметрах.
Чтобы установить дату, после которой учетная запись будет отключена, используйте команду:
sudo chage -E <YYYY-MM-DD> <имя_пользователя>
Например, чтобы отключить учетную запись пользователя testuser 1 февраля 2025 года, выполните:
sudo chage -E 2025-02-01 testuser
Если необходимо снять ограничение по сроку действия учетной записи, используйте:
sudo chage -E -1 <имя_пользователя>
Это отключит автоматическое отключение учетной записи.
Использование useradd и usermod
При создании нового пользователя также можно сразу установить срок действия учетной записи.
sudo useradd -e <YYYY-MM-DD> <имя_пользователя>
Например:
sudo useradd -e 2025-02-01 tempuser
sudo usermod -e <YYYY-MM-DD> <имя_пользователя>
Установка срока действия учетной записи - это один из способов управления временными пользователями и повышения безопасности системы. Команды
chage, useradd и usermod позволяют гибко настраивать учетные записи в Linux, обеспечивая необходимый уровень контроля и защиты.#linux #users
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18⚡1
Zabbix предоставляет широкие возможности для мониторинга систем, и одним из самых гибких инструментов является ключ
system.run. Он позволяет выполнять любые Bash-скрипты на мониторируемых хостах и возвращать их результаты для последующего анализа.Для начала необходимо создать элемент данных, который будет запускать Bash-скрипт:
1. В веб-интерфейсе Zabbix перейдите в раздел "Конфигурация" -> "Хосты".
2. Выберите хост и перейдите в раздел "Элементы данных".
3. Нажмите "Создать элемент данных" и заполните поля:
• Имя: Назовите элемент, например, "Custom Bash Script".
• Ключ: Укажитеsystem.run["/path/to/your/noscript.sh"].
4.. Тип информации: Выберите тип возвращаемых данных (например, числовое значение).
Простой скрипт, который проверяет количество активных соединений к веб-серверу:
#!/bin/bash
netstat -an | grep ':80' | wc -l
Этот скрипт подсчитывает количество активных соединений к порту 80 и возвращает результат.
Для более сложного мониторинга, например, статуса кластера, можно использовать следующий 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤1
При откате Windows к старому снапшоту или резервной копии, можно столкнуться с ситуацией, когда компьютер выпадает из домена. Это приводит к ошибке при попытке входа под доменным пользователем:
"Не удалось установить доверительные отношения между рабочей станцией и доменом."
Когда компьютер добавляется в домен, для него создается учетная запись с паролем. Этот пароль хранится как на компьютере, так и в базе Active Directory (AD). Если после восстановления из снапшота пароли не совпадают, компьютер не может установить защищенный канал с доменом.
Для восстановления доверительных отношений с доменом и синхронизации пароля компьютера с AD можно использовать PowerShell:
Test-ComputerSecureChannel -Verbose
Эта команда проверит, существуют ли проблемы с доверительными отношениями между рабочей станцией и доменом.
Test-ComputerSecureChannel -Repair -Credential networkadminru\\admin
Замените networkadminru\\admin на ваши учетные данные администратора домена. Эта команда попытается восстановить доверительные отношения, синхронизируя пароль компьютера с AD.
Таким образом можно быстро восстановить работоспособность компьютера в домене и избежать дальнейших проблем с доступом.
#domain #windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
Для логирования пользовательских сессий, включая команды и действия на сервере, одним из инструментов является
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
#!/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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Чтобы минимизировать риски и усилить защиту сервера, необходимо настроить SSH-соединение с дополнительными мерами безопасности. Сегодня рассмотрим ключевые шаги для улучшения безопасности SSH.
Создание SSH-ключа:
ssh-keygen -t rsa -b 4096
Добавление ключа на сервер:
ssh-copy-id user@server_ip
После успешного добавления ключа, в файле
/etc/ssh/sshd_config измените строку: PasswordAuthentication noДля этого Измените строку в файле
/etc/ssh/sshd_config: Port 2222Используйте
ufw для настройки правил:
sudo ufw allow from 192.168.1.100 to any port 2222
sudo ufw enable
Установите Google Authenticator:
sudo apt install libpam-google-authenticator
Настройте PAM для использования 2FA, добавив строку в /etc/pam.d/sshd: auth required pam_google_authenticator.so
Установите fail2ban:
sudo apt install fail2ban
Настройте его в
/etc/fail2ban/jail.local:
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
В файле
/etc/ssh/sshd_config измените: PermitRootLogin noКомбинация использования SSH-ключей, изменения порта, ограничения доступа и дополнительных мер, таких как 2FA и fail2ban, делает сервер значительно менее уязвимым к атакам.
#linux #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🤔3
Интересный трюк для защиты от создания нежелательных файлов. Если вы хотите гарантированно предотвратить создание определенного файла, вы можете сделать вместо него символьную ссылку на
/dev/null.Предположим, вы хотите предотвратить сохранение истории команд MySQL в файле .mysql_history. Для этого создайте символьную ссылку на /dev/null:
ln -s /dev/null $HOME/.mysql_history
Теперь любая попытка записи в файл истории будет перенаправляться в /dev/null, что фактически означает, что данные не сохранятся.
Символьная ссылка на /dev/null гарантирует, что любые данные, которые будут пытаться записаться в указанный файл, сразу же уничтожатся. Это надежный способ избежать случайного или нежелательного сохранения информации.
Другой возможный подход - создать пустой файл с нужным именем и установить права доступа, запрещающие его изменение. Однако, этот метод может привести к неожиданным результатам. Некоторые сервисы могут отказаться работать или создать файл с другим именем рядом.
Использование символьной ссылки на /dev/null является простым и надежным решением, которое помогает избежать этих проблем.
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥1👌1
В некоторых случаях может возникнуть необходимость запретить доступ к определенным сайтам на компьютерах с Windows. Это можно сделать с помощью PowerShell, используя изменения в файле
hosts или настройки брандмауэра Windows. Рассмотрим оба подхода.Файл hosts позволяет перенаправить запросы на определенные домены на локальный IP-адрес (127.0.0.1), effectively блокируя доступ к этим сайтам. Добавление записи в файл hosts:
$hostsPath = "C:\Windows\System32\drivers\etc\hosts"
$sitesToBlock = @(
"127.0.0.1 networkadmin.ru",
"127.0.0.1 www.networkadmin.ru"
)
Add-Content -Path $hostsPath -Value $sitesToBlock
Это перенаправит все запросы к networkadmin.ru на локальный IP-адрес, effectively блокируя доступ.
Брандмауэр Windows позволяет создавать правила, запрещающие доступ к определенным доменам. Создание правила через PowerShell:
New-NetFirewallRule -DisplayName "BlockExample" -Direction Outbound -RemoteAddress networkadmin.ru -Action Block
Эта команда создаст правило, блокирующее исходящие соединения с networkadmin.ru
Просмотр существующих правил:
Get-NetFirewallRule | Where-Object { $_.DisplayName -eq "BlockExample" }
Удаление правила:
Remove-NetFirewallRule -DisplayName "BlockExample"
#network #windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22😁3❤1🤡1
Иногда для диагностики или тестирования требуется временно отключить ядра процессора, чтобы проверить, как поведёт себя система при снижении доступных ресурсов. В Linux это можно сделать с помощью утилиты
chcpu, а на Windows - через настройки системы или с помощью PowerShell.
lscpu | grep list
On-line CPU(s) list: 0-3
Это означает, что доступны 4 ядра с номерами от 0 до 3.
chcpu -d 2,3
CPU 2 disabled
CPU 3 disabled
lscpu | grep list
On-line CPU(s) list: 0,1
Off-line CPU(s) list: 2,3
Теперь в системных утилитах, таких как
htop или top, будут видны только активные процессоры. При нагрузочном тестировании производительность заметно снизится, хотя не обязательно пропорционально уменьшенному количеству ядер - всё зависит от используемых приложений.
chcpu -e 2,3
CPU 2 enabled
CPU 3 enabled
bcdedit:
bcdedit /set numproc 2
После выполнения команды необходима перезагрузка и будет использовать только два ядра.
bcdedit /deletevalue numproc
#linux #windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
С помощью
iptables можно настроить эффективную защиту, которая будет блокировать доступ для тех, кто пытается стучаться к закрытым портам. Рассмотрим пример для сервера, где запущен OpenVPN на портах TCP и UDP 34881. Настроим временный бан на 10 минут для любых IP-адресов, обращающихся к закрытым портам.
# Блокируем IP с повторным доступом к закрытым портам
iptables -A INPUT -m recent --rcheck --seconds 600 --name BANPORT -j DROP
# Добавляем IP в список блокировки при доступе к любым портам, кроме 34881
iptables -A INPUT -p tcp -m multiport ! --dports 34881 -m recent --set --name BANPORT -j DROP
# Разрешаем доступ только к порту 34881
iptables -A INPUT -p tcp --syn -m multiport --dports 34881 -j ACCEPT
# Блокируем IP с повторным доступом к закрытым портам
iptables -A INPUT -m recent --rcheck --seconds 600 --name BANPORT -j DROP
# Добавляем IP в список блокировки при доступе к любым портам, кроме 34881
iptables -A INPUT -p udp -m multiport ! --dports 34881 -m recent --set --name BANPORT -j DROP
# Разрешаем доступ только к порту 34881
iptables -A INPUT -p udp -m multiport --dports 34881 -j ACCEPT
Использование модуля multiport позволяет удобно задавать список портов через запятую. Например, если у вас несколько разрешённых портов, вы можете указать их так: --dports 22,80,443.
cat /proc/net/xt_recent/BANPORT
echo -1.1.1.1 > /proc/net/xt_recent/BANPORT
echo > /proc/net/xt_recent/BANPORT
#linux #security
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍10❤3
Media is too big
VIEW IN TELEGRAM
Cимулятор интернет-провайдера
Tower Networking Inc. - это реалистичный симулятор управления сетевой инфраструктурой в многоквартирном жилом комплексе. Вам предстоит прокладывать кабели, настраивать маршрутизаторы, подключать свитчи и патч-панели, тестировать сети и устранять неисправности. Но есть парочка нюансов:
🔴 Доступна только в Steam
🔴 Только для Windows
В общем, если вам хочется ещё больше сетевых проблем - скачивайте и наслаждайтесь "рабочими буднями" даже в свободное время!
И да, ты можешь играть в сисадмина пока работаешь сисадмином!🧠
Играем здесь🖼️
#game
🧑💻 NetworkAdmin
Tower Networking Inc. - это реалистичный симулятор управления сетевой инфраструктурой в многоквартирном жилом комплексе. Вам предстоит прокладывать кабели, настраивать маршрутизаторы, подключать свитчи и патч-панели, тестировать сети и устранять неисправности. Но есть парочка нюансов:
В общем, если вам хочется ещё больше сетевых проблем - скачивайте и наслаждайтесь "рабочими буднями" даже в свободное время!
И да, ты можешь играть в сисадмина пока работаешь сисадмином!
Играем здесь
#game
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥1
По умолчанию в десктопных версиях Windows политика Execution Policy блокирует выполнение PowerShell скриптов, чтобы предотвратить запуск потенциально опасного кода. Для создания безопасной среды администраторы могут подписывать все скрипты с помощью сертификатов.
Шаги для подписания PowerShell скриптов
$file = "C:\Scripts\noscript.ps1"
$cert = Get-ChildItem Cert:\CurrentUser\My | Where-Object { $_.Subject -like "*CodeSigning*" }
Set-AuthenticodeSignature -FilePath $file -Certificate $cert
Убедитесь, что открытый ключ сертификата добавлен в список доверенных корневых сертификатов (Trusted Root CA) или в раздел Trusted Publishers на клиентских устройствах. Для централизованного развертывания можно использовать GPO.
Set-ExecutionPolicy AllSigned -Force
После выполнения всех шагов компьютеры смогут запускать только те скрипты, которые подписаны доверенными сертификатами.
Если содержимое скрипта будет изменено, подпись станет недействительной, и политика заблокирует его запуск.
#windows #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥3
Netcat (или просто nc) - старая, но невероятно полезная утилита командной строки в Linux. Это универсальный инструмент для работы с сетью, который позволяет устанавливать TCP-соединения, отправлять и принимать UDP-пакеты, сканировать порты, проверять настройки фаервола и даже передавать файлы. Сегодня расскажу про основные возможности
netcat и примеры его использования.
nc -vz 10.10.10.10 139
Connection to 10.10.10.10 139 port [tcp/*] succeeded!
-v - выводит отладочную информацию
-z - активирует режим сканирования без установления соединения
nc -vz 10.10.10.10 1-1023 2>&1 | grep succeeded
Connection to 10.10.10.10 135 port [tcp/*] succeeded!
Connection to 10.10.10.10 139 port [tcp/*] succeeded!
Connection to 10.10.10.10 445 port [tcp/*] succeeded!
Этот способ удобен тем, что он работает без установки дополнительных инструментов, а вывод сразу фильтруется, оставляя только успешные соединения.
nc -zvu 192.168.1.1 53
Connection to 192.168.1.1 53 port [udp/domain] succeeded!
Однако netcat не лучший инструмент для сканирования UDP-портов, так как статус может быть неточным. Для таких задач лучше использовать
nmap, zmap или masscan.
nc -lvp 11222
Ncat: Listening on 0.0.0.0:11222
Теперь с другого сервера можно попробовать подключиться:
nc -v 10.10.10.20 11222
Connection to 10.10.10.20 11222 port [tcp/*] succeeded!
Если соединение установлено, значит, фаервол не блокирует этот порт. Это удобный способ диагностики при настройке сетевых правил.
На сервере (приём файла):
nc -lvp 11222 > received.txt
На клиенте (отправка файла):
nc -v 10.10.10.20 11222 < info.txt
Таким способом можно передавать любые файлы, не только текстовые.
Сервер (приём образа диска):
nc -lvp 11222 > /backup/sda.img.gz
Клиент (отправка образа):
dd if=/dev/sda | gzip -c | nc 10.10.10.20 11222
Однако удобнее использовать SSH:
dd if=/dev/sda | ssh root@10.10.10.20 "dd of=/dev/sda"
while true; do nc -lp 80 < /var/www/html/index.html; done
После этого по IP-адресу сервера будет открываться указанная HTML-страница.
#linux #utils
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Если есть необходимость в ограничении скорости сетевого интерфейса или конкретного процесса на локальном сервере, отличным выбором станет open-source инструмент TrafficToll. Это простой в использовании инструмент, написан он на Python и позволяет гибко управлять сетевым трафиком.
apt install python3-pip
pip3 install traffictoll
download: 1mbps
upload: 1mbps
download-minimum: 100kbps
upload-minimum: 100kbps
download и upload: максимальная скорость загрузки и отправки данных.
download-minimum и upload-minimum: минимальная гарантированная скорость.
Создайте файл конфигурации, например,
eth0.yaml, и запустите TrafficToll:
tt eth0 eth0.yaml
Теперь сетевой интерфейс eth0 будет ограничен скоростью в 1 МБ/с. Если вы попробуете скачать или загрузить данные через этот интерфейс, скорость будет соответствовать установленным ограничениям.
TrafficToll позволяет не только ограничивать скорость для интерфейсов, но и применять ограничения к отдельным процессам. Примеры таких настроек вы найдёте в официальной документации инструмента.
Примечание: В конфигурации единицы измерения указываются в нижнем регистре (mbps, kbps), хотя корректное написание подразумевает использование заглавных букв (MBps). Тем не менее, инструмент работает и с текущей нотацией.
Тестирования сетевой производительности.
Ограничения сетевой скорости для задач, требующих определённого уровня контроля.
Постоянных ограничений для конкретных процессов или интерфейсов.
Ссылка на GitHub
#network #utils
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Аудит безопасности в Windows позволяет отслеживать важные события, связанные с входами в систему, изменениями прав пользователей и подозрительной активностью. Настроим автоматический аудит с помощью PowerShell.
auditpol /get /category:*
Если нужные категории отключены, активируем их:
auditpol /set /category:"Logon/Logoff" /success:enable /failure:enable
auditpol /set /category:"Account Management" /success:enable /failure:enable
auditpol /set /category:"Policy Change" /success:enable /failure:enable
Эти команды включат логирование успешных и неудачных входов, изменений учётных записей и изменений в политиках безопасности.
Вывести последние 10 записей журнала можно так:
Get-WinEvent -LogName Security | Select-Object -First 10
Фильтруем события, например, неудачные входы (Event ID 4625):
Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4625 } | Format-Table TimeCreated, Message -AutoSize
Скрипт, который отправит уведомление по email:
$events = Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4625 }
if ($events.Count -ge 5) {
Send-MailMessage -To "admin@networkadmin.ru" -From "server@networkadmin.ru" -Subject "Обнаружены попытки взлома" -Body "Более 5 неудачных попыток входа" -SmtpServer "smtp.networkadmin.ru"
}
Этот скрипт можно добавить в планировщик заданий и запускать раз в 5 минут.
Конфигурация компьютера → Политики → Конфигурация Windows → Параметры безопасности → Локальные политики → Политика аудита
Настроим аудит:
Аудит входа в систему → Успех/Отказ
Аудит управления учётными записями → Успех
Аудит изменений политики → Успех
Применяем политику:
gpupdate /force
#windows #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22💩1
PowerShell позволяет удалённо мониторить компьютеры в сети без необходимости физического доступа. С его помощью можно собирать информацию о загруженности процессора, оперативной памяти, состоянии дисков, работающих процессах и многом другом.
Test-Connection -ComputerName PC-001 -Count 2
Аналог ping, но с возможностью использования в скриптах. Если нужно проверить группу компьютеров:
$computers = @("PC-001", "PC-002", "PC-003")
$computers | ForEach-Object { Test-Connection -ComputerName $_ -Count 1 -Quiet }
Вернёт $true/$false для каждого устройства.
Get-WmiObject Win32_Processor -ComputerName PC-001 | Select-Object LoadPercentage
Для оперативной памяти:
Get-WmiObject Win32_OperatingSystem -ComputerName PC-001 |
Select-Object TotalVisibleMemorySize, FreePhysicalMemory
Вернёт общий объём RAM и количество свободной памяти.
Get-WmiObject Win32_LogicalDisk -ComputerName PC-001 -Filter "DriveType=3" |
Select-Object DeviceID, VolumeName, @{Name="FreeSpace(GB)";Expression={$_.FreeSpace/1GB -as [int]}}
Покажет свободное место в ГБ для каждого логического диска.
Get-Process -ComputerName PC-001 | Sort-Object CPU -Descending | Select-Object -First 10
Топ-10 процессов по загрузке CPU.
Завершить зависший процесс на удалённом ПК:
Invoke-Command -ComputerName PC-001 -ScriptBlock { Stop-Process -Name notepad -Force }
Get-WinEvent -LogName System -ComputerName PC-001 | Select-Object -First 10
Выведет 10 последних событий из журнала System.
Фильтрация только ошибок (Critical, Error, Warning):
Get-WinEvent -LogName System -ComputerName PC-001 |
Where-Object { $_.Level -le 3 } | Select-Object TimeCreated, Id, Message -First 10
Invoke-Command -ComputerName PC-001,PC-002 -ScriptBlock { Get-Service | Where-Object {$_.Status -eq 'Stopped'} }
Выведет список остановленных сервисов.
while ($true) {
Get-WmiObject Win32_Processor -ComputerName PC-001 | Select-Object LoadPercentage
Start-Sleep -Seconds 5
}
Будет обновлять данные каждые 5 секунд.
#windows #monitoring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
iptables):
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p udp --dport 22 -j DROP
iptables -A INPUT -m recent --rcheck --seconds 60 --name KNOCKED -j ACCEPT
iptables -A INPUT -p tcp --dport 2222 -m recent --set --name KNOCKED -j DROP
Автоматизировать можно с помощью
knockd или fwknop.Используем iptables TARPIT (затягивает соединение):
iptables -A INPUT -p tcp --dport 23 -j TARPIT
Теперь порт 23 (Telnet) будет притормаживать атакующих, вместо того чтобы сразу отклонять соединение.
Или можно возвращать ложный REJECT:
iptables -A INPUT -p tcp --dport 22 -j REJECT --reject-with tcp-reset
Вместо стандартного "порта нет", сервер отправит "порт есть, но сбрасывает соединение", что может запутать.
Простой бан подозрительных сканеров:
iptables -A INPUT -m recent --rcheck --seconds 60 --name PORTSCAN -j DROP
iptables -A INPUT -p tcp --syn -m recent --set --name PORTSCAN -j DROP
server {
listen 443 ssl;
server_name myserver.com;
location /ssh {
proxy_pass http://127.0.0.1:2222;
}
}
Теперь SSH-доступ будет идти через HTTPS (порт 443), а не через стандартный 22-й.
#security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤1
Windows позволяет изменить редакцию с младшей на старшую, сохранив все установленные программы, документы и настройки. Это удобно, ведь зачастую желания тратить время на переустановку операционной системы нет.
Для десктопных версий Windows (например, переход с Home на Pro) используется встроенная утилита
changepk.exe.Пример команды:
changepk.exe /ProductKey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX — это ключ продукта. Можете использовать ваш лицензионный ключ или универсальный ключ. Универсальный ключ обычно применяется при установке Windows, если вы выбираете пункт "Пропустить ввод ключа".
1. Откройте командную строку с правами администратора.
2. Выполните команду с вашим ключом.
3. Перезагрузите систему по запросу.
Узнать текущую редакцию:
DISM /online /Get-CurrentEdition
Посмотрить доступные редакции для апгрейда:
DISM /online /Get-TargetEditions
Выполнить апгрейд до нужной редакции:
DISM /online /Set-Edition:ServerDatacenter /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula
#utils #windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16