【Вспомогательные инструменты】Linux&WindowsСценарий усиления базовой проверки
【Вспомогательные инструменты】Linux&WindowsСценарий усиления базовой проверки

Недавно я проводил базовые проверки безопасности системы и нашел в Интернете несколько сценариев, которыми поделились друзья. Организовано и доступно всем:

Первый — это сценарий усиления оболочки Linux.

Язык кода:javascript
копировать
#!/bin/bash

#Установить сложность пароля
if [ -z "`cat /etc/pam.d/system-auth | grep -v "^#" | grep "pam_cracklib.so"`" ];then
  sed -i '/password    required      pam_deny.so/a\password    required      pam_cracklib.so  try_first_pass minlen=8 ucredit=-1   lcredit=-1   ocredit=-1 dcredit=-1 retry=3 difok=5' /etc/pam.d/system-auth
fi
#Не удалось ввести пароль 3 раза, блокировка на 5 минут
sed -i 's#auth        required      pam_env.so#auth        required      pam_env.so\nauth       required       pam_tally.so  onerr=fail deny=3 unlock_time=300\nauth           required     /lib/security/$ISA/pam_tally.so onerr=fail deny=3 unlock_time=300#' /etc/pam.d/system-auth

#Изменить права доступа по умолчанию
sed -i '/UMASK/s/077/027/' /etc/login.defs

#Устанавливаем права доступа к важным файлам
chmod 644 /etc/passwd  
chmod 600 /etc/xinetd.conf 
chmod 600 /etc/inetd.conf  
chmod 644 /etc/group  
chmod 000 /etc/shadow  
chmod 644 /etc/services  
chmod 600 /etc/security
#chmod 750 /etc/        #Запуск службы nscd приводит к невозможности входа в систему после установки разрешений. #Системное значение по умолчанию 755 приемлемо  #Невозможно изменить. Если вы измените службу polkit, она не запустится.
chmod 750 /etc/rc6.d  
chmod 750 /tmp  
chmod 750 /etc/rc0.d/  
chmod 750 /etc/rc1.d/  
chmod 750 /etc/rc2.d/  
chmod 750 /etc/rc4.d  
chmod 750 /etc/rc5.d/  
chmod 750 /etc/rc3.d  
chmod 750 /etc/rc.d/init.d/  
chmod 600 /etc/grub.conf
chmod 600 /boot/grub/grub.conf
chmod 600 /etc/lilo.conf

#Проверяем настройки маски пользователя
sed -i '/umask/s/002/077/' /etc/csh.cshrc
sed -i '/umask/s/002/077/' /etc/bashrc
sed -i '/umask/s/002/077/' /etc/profile
csh_login=`cat /etc/csh.login | grep -i "umask"`
if [ -z "$csh_login" ];then
  echo -e "/numask 077" >>/etc/csh.login
fi


#FTPSecuritySettings #Если установлен FTP-сервис Эту настройку можно сделать
vsftpd_conf=`find /etc/ -maxdepth 2 -name vsftpd.conf`
if [ ! -z "$vsftpd_conf" ];then
  sed -i '/anonymous_enable/s/YES/NO/' $vsftpd_conf
fi

ftpuser=`find /etc/ -maxdepth 2 -name ftpusers`
if [ ! -z "$ftpuser" ] && [ -z "`cat $ftpuser | grep -v "^#" | grep root`"];then
  echo "root" >>$ftpuser
fi

sed -i '/^ftp/d' /etc/passwd

#Важные настройки атрибутов файлов
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
chattr +a /var/log/messages
#chattr +i /var/log/messages.*

#Проверить ядро dump настраивать
chk_core=`grep core /etc/security/limits.conf | grep -v "^#"`
if [ -z "$chk_core" ];then
  echo "*               soft    core            0"  >> /etc/security/limits.conf
  echo "*               hard    core            0"  >> /etc/security/limits.conf
fi

#Удалить потенциально опасные файлы Вы можете сначала проверить, есть ли какие-либо опасные файлы. Если нет, выполнять это не нужно.
hosts_equiv=`find / -maxdepth 3 -name hosts.equiv 2>/dev/null`
if [ ! -z "$hosts_equiv" ];then
  mv "$hosts_equiv" "$hosts_equiv".bak
fi

_rhosts=`find / -maxdepth 3 -name .rhosts 2>/dev/null`
if [ ! -z "$_rhosts" ];then
  mv "$_rhosts" "$_rhosts".bak
fi

_netrc=`find / -maxdepth 3 -name .netrc 2>/dev/null`
if [ ! -z "$_netrc" ];then
  mv "$_netrc" "$_netrc".bak
fi

#Проверьте конфигурацию параметров ядра системы, изменения вступят в силу только в этот раз,Перезагрузку необходимо переустановить
sysctl -w net.ipv4.conf.all.accept_source_route="0"
sysctl -w net.ipv4.conf.all.accept_redirects="0"
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts="1"
sysctl -w net.ipv4.conf.all.send_redirects="0"
sysctl -w net.ipv4.ip_forward="0"

#Откройте syncookie, чтобы облегчить синхронизацию наводнение
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

#Не отвечать на ICMP-запросы
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

#Оптимизация антисинхронных атак и увеличение размера несвязанной очереди
sysctl -w net.ipv4.tcp_max_syn_backlog="2048"

#Проверьте файлы с разрешениями suid и sgid и измените права доступа к файлам на 755 В настоящее время они не требуют смены разрешений и требуют регулярных проверок.
find /usr/bin/chage /usr/bin/gpasswd /usr/bin/wall /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /usr/bin/write /usr/sbin/usernetctl /bin/mount /bin/umount /bin/ping /sbin/netreport -type f -perm /6000 | xargs chmod 755

Затем есть пакетные сценарии Windows: (Здесь собраны два, вы можете изменить и интегрировать их в соответствии с вашей ситуацией)

1. Армирование в один клик

Язык кода:javascript
копировать
echo Теперь запустите усиление безопасности Windows. Нажмите любую клавишу для подтверждения.
pause
echo [version] >account.inf Модуль конфигурации авторизации по паролю учетной записи REM
echo signature="$CHICAGO$" >>account.inf
echo [System Access] >>account.inf
echo MinimumPasswordLength=6 >>account.inf REM Минимальная длина пароля учетной записи, которую нужно изменить, составляет 6.
echo PasswordComplexity=1 >>account.inf REM Включите требования к сложности пароля учетной записи.
echo MaximumPasswordAge=90 >>account.inf REM Максимальный срок хранения изменений паролей учетных записей составляет 90 дней.
echo PasswordHistorySize=5 >>account.inf REM Измените историю обязательных паролей на 5 раз.
echo EnableGuestAccount=0 >>account.inf REM Отключить гостевую учетную запись
echo LockoutBadCount=6 >>account.inf REM Установите порог блокировки учетной записи на 6 раз.
secedit /configure /db account.sdb /cfg account.inf /log account.log
del account.*

echo [version] >rightscfg.inf
REM Настройка авторизации
echo signature="$CHICAGO$" >>rightscfg.inf
echo [Privilege Rights] >>rightscfg.inf
echo seremoteshutdownprivilege=Administrators >>rightscfg.inf
REM принудительно завершает работу из удаленной системы, назначенной только группе «Администраторы».
echo seshutdownprivilege=Administrators >>rightscfg.inf
Система отключения REM закреплена только за группой «Администраторы».
echo setakeownershipprivilege=Administrators >>rightscfg.inf
REM Получение права собственности на файл или другой объект, назначенный только администраторам.
echo seinteractivelogonright=Administrators >> rightscfg.inf
REM Права локального входа в систему предоставляются только администраторам.
echo senetworklogonright=Administrators >>rightscfg.inf
REM разрешает доступ только администраторам из сети.
secedit /configure /db rightscfg.sdb /cfg rightscfg.inf /log rightscfg.log /quiet
del rightscfg.*

echo [version] >audit.inf REM Конфигурация журнала
echo signature="$CHICAGO$" >>audit.inf
echo [Event Audit] >>audit.inf
echo AuditSystemEvents=3 >>audit.inf REM
Включить аудит системных событий
echo AuditObjectAccess=3 >>audit.inf
REM Включить доступ к объектам аудита
echo AuditPrivilegeUse=3 >>audit.inf
REM Включить использование привилегий аудита
echo AuditPolicyChange=3 >>audit.inf
REM Включить изменения политики аудита
echo AuditAccountManage=3 >>audit.inf
REM Включить аудит управления учетными записями
echo AuditProcessTracking=3 >>audit.inf
REM Включить отслеживание процесса аудита
echo AuditDSAccess=3 >>audit.inf
REM Включить доступ к службе каталогов аудита
echo AuditLogonEvents=3 >>audit.inf
REM Включить аудит событий входа в систему
echo AuditAccountLogon=3 >>audit.inf
REM Включить аудит событий входа в учетную запись
echo AuditLog >>audit.inf
echo MaximumLogSize=8192 >>logcfg.inf REM настройки Максимальный размер файла журнала приложения — 8192 КБ.
echo AuditLogRetentionPeriod=0 >>logcfg.inf REMнастройки перезаписывают события по мере необходимости при достижении максимального размера журнала.
echo RestrictGuestAccess=1 >>logcfg.inf REMнастройки Ограничить ГОСТЕВОЙ доступ к журналам приложений
echo [Security Log] >>logcfg.inf REMнастройки Журнал безопасности
echo MaximumLogSize=8192 >>logcfg.inf REM файл журнала настройки безопасности максимум 8192КБ
echo AuditLogRetentionPeriod=0 >>logcfg.inf REMнастройки перезаписывают события по мере необходимости при достижении максимального размера журнала.
echo RestrictGuestAccess=1 >>logcfg.inf REMнастройки Ограничить ГОСТЕВОЙ доступ к журналам безопасности
echo [Application Log] >>logcfg.inf Журнал приложений REMнастройки
echo MaximumLogSize=8192 >>logcfg.inf файл журнала настройки безопасности максимум 8192КБ
echo AuditLogRetentionPeriod=0 >>logcfg.inf REMнастройки перезаписывают события по мере необходимости при достижении максимального размера журнала.
echo RestrictGuestAccess=1 >>logcfg.inf REMнастройки Ограничить ГОСТЕВОЙ доступ к журналам безопасности
secedit /configure /db audit.sdb /cfg audit.inf /log audit.log /quiet
del audit.*

REM Общая конфигурация
REM Очистить долю администратора в $
net share admin$ /del 
REM Очистить долю ipc$
net share ipc$ /del
REM Очистить общий доступ к диску C
net share c$ /del   
REM Очистить общий доступ к диску D
net share d$ /del   

REM Конфигурация IP-протокола
REM Включить защиту от SYN-атак
@echo Windows Registry Editor Version 5.00>>SynAttack.reg 
@echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services]>>SynAttack.reg 
@echo "SynAttackProtect"=dword:2>>SynAttack.reg
@echo "TcpMaxPortsExhausted"=dword:5>>SynAttack.reg
@echo "TcpMaxHalfOpen"=dword:500>>SynAttack.reg
@echo "TcpMaxHalfOpenRetried"=dword:400>>SynAttack.reg
@regedit /s SynAttack.reg
@del SynAttack.reg

REM Включить заставку
@echo Windows Registry Editor Version 5.00>>scrsave.reg 
@echo [HKEY_CURRENT_USER\Control Panel\Desktop]>>scrsave.reg 
@echo "ScreenSaveActive"="1">>scrsave.reg
@echo "ScreenSaverIsSecure"="1">>scrsave.reg
@echo "ScreenSaveTimeOut"="300">>scrsave.reg
@echo "SCRNSAVE.EXE"="d:\\WINDOWS\\system32\\logon.scr">>scrsave.reg
@regedit /s scrsave.reg
@del scrsave.reg

REM Настройка «Сетевого сервера Microsoft» — «Требуемое время простоя перед приостановкой сеанса» — 15 минут.
@echo Windows Registry Editor Version 5.00>>lanmanautodisconn.reg 
@echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>>lanmanautodisconn.reg 
@echo "autodisconnect"=dword:0000000f>>lanmanautodisconn.reg 
@regedit /s lanmanautodisconn.reg
@del lanmanautodisconn.reg

REM Отключить автозапуск
@echo Windows Registry Editor Version 5.00>>closeautorun.reg
@echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]>>closeautorun.reg
@echo  "NoDriveTypeAutoRun"=dword:000000ff>>closeautorun.reg
@regedit /s closeautorun.reg
@del closeautorun.reg

2. Армирование

Язык кода:javascript
копировать
@echo off

chcp 936

echo TANOVO-CHECK>%~dp0\JianCha@1.txt

echo  ---user list status--- >>%~dp0\JianCha@1.txt
net user & net localgroup administrators >>%~dp0\JianCha@1.txt

echo.>>%~dp0\JianCha@1.txt
echo ---------------------------------passowrd policy----------------------- >>%~dp0\JianCha@1.txt
net accounts>>%~dp0\JianCha@1.txt

echo.>>%~dp0\JianCha@1.txt
echo ---------------------------------share------------------------------->>%~dp0\JianCha@1.txt
net share>>%~dp0\JianCha@1.txt

REM Система XP не поддерживает
echo ---------------------------------hotfix InstalledOn--------------------------->>%~dp0\JianCha@1.txt
wmic qfe get hotfixid,InstalledOn,InstalledBy>>%~dp0\JianCha@1.txt

REM REM использование системы XP
REM echo ---------------------------------hotfix InstalledOn--------------------------->>%~dp0\JianCha@1.txt
REM wmic qfe >>%~dp0\JianCha@1.txt


echo ---------------------------------port LISTEN---------------------------------->>%~dp0\JianCha@1.txt
netstat -ano | find "LISTEN">>%~dp0\JianCha@1.txt

echo ---------------------------------system policy-------------------------------->>%~dp0\JianCha@1.txt
Auditpol.exe /get /category:*>>%~dp0\JianCha@1.txt

REM Английская версия
echo ---------------------------------user,password Expired------------------------
echo administrator's user,password   
net user administrator|find "expires" 
echo guest's user,password
net user guest|find "expires"
REM Английская версия
echo ---------------------------------user active----------------------------------
echo administrator's status
net user administrator|find "active"
echo guest's status
net user guest|find "active"

REM REM Китайская версия
REM echo ---------------------------------user,password Expired------------------------>>%~dp0\JianCha@1.txt
REM echo administrator's user,password>>%~dp0\JianCha@1.txt
REM net user administrator|find "зрелость" >>%~dp0\JianCha@1.txt
REM echo guest's user,password>>%~dp0\JianCha@1.txt
REM net user guest|find "зрелость">>%~dp0\JianCha@1.txt
REM REM Китайская версия
REM echo ---------------------------------user active---------------------------------->>%~dp0\JianCha@1.txt
REM echo administrator's status>>%~dp0\JianCha@1.txt
REM net user administrator|find "давать возможность">>%~dp0\JianCha@1.txt
REM echo guest's status>>%~dp0\JianCha@1.txt
REM net user guest|find "давать возможность">>%~dp0\JianCha@1.txt

echo ---------------------------------system install------------------------------->>%~dp0\JianCha@1.txt
systeminfo|find "OS">>%~dp0\JianCha@1.txt

echo ---------------------------------service-------------------------------------->>%~dp0\JianCha@1.txt
net start>>%~dp0\JianCha@1.txt

echo ---------------------------------screen_Saver--------------------------------->>%~dp0\JianCha@1.txt
echo if screensaveractive == 1 , screen_Saver is active>>%~dp0\JianCha@1.txt
reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveaAtive>>%~dp0\JianCha@1.txt
reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure>>%~dp0\JianCha@1.txt
reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut>>%~dp0\JianCha@1.txt

secedit /export /cfg LocalGroupPolicy&type LocalGroupPolicy >>%~dp0\JianCha@1.txt


echo -----firewall-in-rules----- >>%~dp0\JianCha@1.txt
netsh advfirewall firewall show rule name=all dir=in type=dynamic status=enabled >>%~dp0\JianCha@1.txt
echo -----firewall-out-rules----- >>%~dp0\JianCha@1.txt
netsh advfirewall firewall show rule name=all dir=out type=dynamic status=enabled >>%~dp0\JianCha@1.txt


pause

Наконец, я делюсь двумя таблицами:

проверка безопасности линукса

Проверка безопасности Windows

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose