启用开发者模式 设置--> 更新和安全--> 针对开发人员--> 勾选“开发人员模式” 安装Linux Bash组件 鼠标右键(桌面)--> 个性化--> 主题--> 阅读全文
作者: 裑軆ケ喥
常用软件问题
问题描述 问题解决 微信 Windows 版如何多开 在不登录的情况下,多次快速双击打开微信程序 会弹出多个登录窗口,依次在不同窗口登录即可 Google Chrome浏览器关闭自动更新检查 组策略管 阅读全文
Shell 脚本加密解密
gzexe加密解密 gzexe是Linux系统集成的工具,执行命令即可使用。 # 加密Shell脚本,源文件会改名为backup.sh~ [root@WEB1 ~]# gzexe ~/shell/ba 阅读全文
Windows 注册表优化
彻底隐藏文件
说明:U盘Auto病毒利用这一点,还会加上隐藏文件后缀名。
1 2 3 4 5 6 7 8 9 10 11 12 |
#--隐藏显示-- reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /t REG_DWORD /v CheckedValue /d "0x00000000" /f reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /t REG_DWORD /v Hidden /d "0x00000002" /f reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /t REG_DWORD /v Hidden /d "0x00000000" /f #--重启视窗进程-- taskkill /f /im explorer.exe & ping 127.1 -n 3 >nul & explorer.exe #--恢复显示-- reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /t REG_DWORD /v CheckedValue /d "0x00000001" /f reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /t REG_DWORD /v Hidden /d "0x00000001" /f reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /t REG_DWORD /v Hidden /d "0x00000001" /f |
关闭默认共享
说明:系统默认会开启每个卷的文件共享,如C$、ADMIN$($表示共享目录不可见);一般环境安全审计要求关闭默认共享,但在域环境可能需要通过RemoteRegistry服务来实现远程部署软件、在推送软件时需要使用到默认共享。
1 2 3 4 5 6 7 8 9 10 |
#--关闭默认共享-- reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /t REG_DWORD /v AutoShareServer /d "0x00000000" /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /t REG_DWORD /v AutoSharewks /d "0x00000000" /f #--查看共享会话,重启Server共享服务,查看共享列表-- net file & sc stop LanmanServer && sc start LanmanServer && net share #--开启默认共享-- reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /t REG_DWORD /v AutoShareServer /d "0x00000001" /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /t REG_DWORD /v AutoSharewks /d "0x00000001" /f |
加速菜单显示
1 2 3 4 5 6 7 8 9 10 |
#--调整菜单显示延迟-- reg add "HKCU\Control Panel\Desktop" /t REG_SZ /v MenuShowDelay /d "200" /f reg add "HKCU\Control Panel\Mouse" /t REG_SZ /v MouseHoverTime /d "200" /f #--重启视窗进程-- taskkill /f /im explorer.exe & ping 127.1 -n 3 >nul & explorer.exe #--恢复菜单显示延迟-- reg add "HKCU\Control Panel\Desktop" /t REG_SZ /v MenuShowDelay /d "400" /f reg add "HKCU\Control Panel\Mouse" /t REG_SZ /v MouseHoverTime /d "400" /f |
移除快捷方式箭头
1 2 3 4 5 6 7 8 9 10 |
#--移除箭头,会导致Win10的Win+X组合键失效-- reg delete "HKCR\lnkfile" /v IsShortcut /f reg delete "HKCR\piffile" /v IsShortcut /f #--重启视窗进程-- taskkill /f /im explorer.exe & ping 127.1 -n 3 >nul & explorer.exe #--恢复箭头-- reg add "HKCR\lnkfile" /t REG_SZ /v IsShortcut /f reg add "HKCR\piffile" /t REG_SZ /v IsShortcut /f |
移除资源管理器中的OneDrive
1 |
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f |
修改远程桌面端口
1 2 3 4 5 6 7 8 9 10 |
#--远程桌面端口53389-- reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /t REG_DWORD /v PortNumber /d 53389 /f reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v PortNumber /d 53389 /f #--重启远程桌面服务-- net stop TermService /y & ping 127.1 -n 3 >nul & net start TermService & netstat -ano | find /i "3389" #--恢复远程桌面默认端口-- reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /t REG_DWORD /v PortNumber /d 3389 /f reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v PortNumber /d 3389 /f |
系统登陆提示语
1 2 3 4 5 6 7 8 9 10 |
#--添加登陆提示语标题及文本-- reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /t REG_SZ /v legalnoticecaption /d "欢迎使用Windows 8.1操作系统" /f reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /t REG_SZ /v legalnoticetext /d "该系统由Desen掌管,请使用授权帐户登录;若您未被授权请联系wsh11080329@qq.com,谢谢使用。" /f #--注销登陆的用户-- shutdown /l /t 15 #--清空登陆提示语标题及文本-- reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /t REG_SZ /v legalnoticecaption /f reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /t REG_SZ /v legalnoticetext /f |
关闭IPv6协议
1 2 3 4 5 6 7 8 |
#--禁用IPv6协议-- reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /t REG_DWORD /v DisabledComponents /d "0x00ffffff" /f #--重启系统生效-- shutdown /r /t 15 #--启用IPv6协议-- reg delete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /f |
启用 windows 自动登录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#--登陆界面无须按 Ctrl+Alt+Delete 组合键-- reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /t REG_DWORD /v DisableCAD /d "1" /f #--自动登陆次数-- reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /t REG_DWORD /v AutoLogonCount /d "99999999" /f #--启用自动登陆-- reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /t REG_SZ /v AutoAdminLogon /d "1" /f #--默认登陆的域名或计算机名-- reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /t REG_SZ /v DefaultDomainName /d "DESENPAST.COM" /f reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /t REG_SZ /v DefaultDomainName /d "Windows10" /f #--默认登陆的域用户或本地用户-- reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /t REG_SZ /v DefaultUserName /d "DESENPAST\Administrator" /f reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /t REG_SZ /v DefaultUserName /d ".\Administrator" /f #--默认登陆的的用户密码-- reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /t REG_SZ /v DefaultPassword /d "Password" /f #--登陆界面隐藏Administrator用户-- reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /t REG_DWORD /v Administrator /d "0" /f |
关闭Windows Defender
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#--禁用Windows Defender服务-- reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender" /t REG_DWORD /v DisableAntiSpyware /d "0x00000001" /f #--重启系统生效-- shutdown /r /t 15 #--启用Windows Defender服务-- reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender" /v DisableAntiSpyware /f #--将相关服务更改为禁用 (其中 0x00000003 为手动)-- reg add "HKLM\SYSTEM\CurrentControlSet\Services\Sense" /t REG_DWORD /v Start /d "0x00000004" /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\WdNisSvc" /t REG_DWORD /v Start /d "0x00000004" /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\WinDefend" /t REG_DWORD /v Start /d "0x00000004" /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\SecurityHealthService" /t REG_DWORD /v Start /d "0x00000004" /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /t REG_DWORD /v Start /d "0x00000004" /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\SgrmBroker" /t REG_DWORD /v Start /d "0x00000004" /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\MpsSvc" /t REG_DWORD /v Start /d "0x00000003" /f #--鄙视微软-- # MpsSvc 服务运行状态下,所有程序打开都是各种卡、某些服务运行状态但程序却报服务运行异常。 #--补充: 禁用Windows更新-- reg add "HKLM\SYSTEM\CurrentControlSet\Services\wuauserv" /t REG_DWORD /v Start /d "0x00000004" /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\UsoSvc" /t REG_DWORD /v Start /d "0x00000004" /f #--恢复应用商店功能-- reg add "HKLM\SYSTEM\CurrentControlSet\Services\wscsvc" /t REG_DWORD /v Start /d "0x00000002" /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\SgrmBroker" /t REG_DWORD /v Start /d "0x00000002" /f #--服务名称及显示名称-- # Sense Windows Defender Advanced Threat Protection Service # WdNisSvc Windows Defender Antivirus Network Inspection Service # WinDefend Windows Defender Antivirus Service # SecurityHealthService Windows 安全中心服务 # MpsSvc Windows Defender Firewall # wscsvc Security Center # SgrmBroker System Guard 运行时监视器代理 # UsoSvc Update Orchestrator Service # wuauserv Windows Update |
设置暂停更新的最长天数
1 2 3 |
#--设置暂停更新的最大值为360天-- reg add "HKLM\SYSTEM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /t REG_DWORD /v FlightSettingsMaxPauseDays /d "360" /f |
Windows 照片查看器
- 下载并导入Windows_Photo_Viewer.reg
- 在图片文件属性中更改“打开方式”
- 下拉列表中选择“Windows 照片查看器”
早期的CMD限制手法
XP年代的脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
@cls @echo off color 5e # 注册表键值需要以管理员身份运行,另外需要复制ee.bat到C:\Windows目录下; # 管理员运行CMD使用命令:runas /user:administrator cmd # 在新的CMD窗口执行卸载:reg delete "HKLM\SOFTWARE\Microsoft\Command Processor" /v AutoRun /f reg add "HKLM\SOFTWARE\Microsoft\Command Processor" /t REG_SZ /v AutoRun /d "C:\WINDOWS\ee.bat" /f >nul cls title 开始Dos密码验证... set N=3 :start cls echo 请进行Dos密码验证,谢谢配合! echo. set PW= set /p PW=请输入Dos密码: set /a N-=1 if /i "%PW%"=="desen" goto ok if "%N%"=="0" echo 密码连续错误3次,请联系System Admin & ping 127.1 -n 3 >nul & exit echo 密码错误,您还有%N%机会 & ping 127.1 -n 2 >nul goto start :ok cls title Verified, Welcome to CMD-DOS! cmd /d cd /d %USERPROFILE% |
缺点说明:
- 输入密码明文,Windows的批处理工具不太好使;试过隐藏输入的方法但以BUG告终。
- 运行cmd /d便可绕过AutoRun脚本。
其他说明:可以使用Quick Batch File Compiler软件将批处理脚本封装成exe执行程序,但在CMD AutoRun中无法正常执行、会耗尽系统内存。
最佳做法
通过组策略来实现命令提示符访问权限,在域环境下可以为不同OU下的对象设置不同的域策略;建议下发组策略到用户配置、避免了域环境下管理员维护麻烦;系统帐号权限及文件访问权限合理规划,大大减少系统病毒感染及传播、越权访问文件、机密资料外泄的可能性,当然也可以从网络传输层面去做访问限制。
设置简要步骤:运行gpedit.msc打开组策略编辑器,用户配置-->管理模板-->系统-->阻止访问命令提示符(设置为已启用)
相关注册表键值:
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System]
"DisableCMD"=dword:00000001
对应的策略文件:C:\Windows\System32\GroupPolicy\User\Registry.pol
OpenVPN源码部署
软件下载 服务端及组件: wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz wget https://www. 阅读全文
设置安全外壳(SSH)
设置口令 命令模式 命令语句 用途描述 Router> Router# enable config terminal 从用户模式进入特权模式 进入配置模式 R1(config)# hostnam 阅读全文
OpenConnect Server源码部署
软件下载 服务端:wget ftp://ftp.infradead.org/pub/ocserv/ocserv-0.11.8.tar.xz 客户端:ftp://ftp.infradead.org/pu 阅读全文
Web服务器压测工具 for Linux
http_load 软件下载: http://www.acme.com/software/http_load/http_load-09Mar2016.tar.gz 软件介绍: 程序非常小,解压后也不到 阅读全文
Nginx错误日志分析及防护脚本
- 关于iptables定时策略、crontab设置请自行去了解,建议使用"nohup"方式执行crontab任务;
- 对于nginx error日志可以做大小限制进行截断以减少脚本读取日志文件耗时;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# !/bin/bash # 脚本用于nginx错误URL访问检测 # 若指定时间内来源IP地址错误URL超出合理范围, 则视为URL嗅探源并通过防火墙阻止访问 # 说明: 函数内部变量使用小写字母, 脚本头部变量使用大写字母 # 变量引用:${}可以拼接字符且兼容unix,$不可以拼接字符 # sh -x ngx_err_black.sh 进行跟踪调试 # 清理10分钟前的旧日志文件 for TYPE in {log,run} do find /data/shell/ -type f -name "*ngx*.$TYPE" -mmin +10 -exec rm -f {} \; done # 定义程序、日志相关变量, 日志路径可以参考以下示例自行设置 # error_page 400 403 404 500 502 504 /404.html; # location = /404.html { # access_log /data/nginx/log/error_request.log main; # } BINGIPTAB="/sbin/iptables" NGXLOG="/data/nginx/log/error_request.log" NGX00="/data/shell/$(date +%Y%m%d)_ngx00_$.log" NGX30="/data/shell/$(date +%Y%m%d)_ngx30_$.log" NGX60="/data/shell/$(date +%Y%m%d)_ngx60_$.log" IPTABLST="/data/shell/$(date +%Y%m%d)_ngx_$.lst" RUNLOG="/data/shell/$(date +%Y%m%d)_ngx_$.run" CHAIN_NM="IN_NGXTME" PORTS="80,443" GREP_VWORD="crayon-syntax-highlighter|wp-pagenavi|open-social|^$" GREP_VCODE="200|304|503" # 定义函数: 统计一段时间内某个IP地址访问出错的次数 function errsum(){ # 读取IP地址 IPADDR=$(echo ${line} | awk -F" " '{print $2}') # 读取IP首次汇总数据中访问失败的次数, 最小值计 0 NUMS=$(grep -w ${IPADDR} ${NGX00} | awk -F" " '{print $1}') if [ "$NUMS" = "" ]; then NUMS=0 fi # 读取IP此次汇总数据中访问失败的次数 NUME=$(echo ${line} | awk -F" " '{print $1}') # 一段时间内的IP总计访问失败的次数 NUMC=$(expr ${NUME} - ${NUMS}) # 将汇总数据中每个IP访问失败的次数进行记录 echo $IPADDR $NUME $NUMS $NUMC >> $RUNLOG } # 定义函数: 将访问失败过高的IP地址加入防火墙规则 function addrule(){ # 主判断:IP一段时间内访问失败的次数是否大于命令第一个参数值, 如果值为真则执行 # 注意:if [] 内的两个值要么都加"", 要么都不加, 避免报错(integer expression expected) if [ $NUMC -gt $1 ]; then # 检索系统当前防火墙规则中是否存在$CHAIN_NM链 $BINGIPTAB -nL $CHAIN_NM if [ $? -ne 0 ]; then # 如果规则链不存在, 则新建规则链并应用到INPUT链首行 $BINGIPTAB -N $CHAIN_NM $BINGIPTAB -I INPUT 4 -j $CHAIN_NM fi # 规则链存在, 判断链中条目数量是否超过1000条 chain_sum=$(${BINGIPTAB} --line-numbers -nL ${CHAIN_NM} | tail -n 1 | cut -d' ' -f 1) # 规则链存在但是列表为空, 则赋值为0; num 为输出表头 if [ "$chain_sum" = "num" ]; then chain_sum=0 fi if [ $chain_sum -gt 1000 ]; then # 如果链中规则数量大于1000条, 则删除首行规则 $BINGIPTAB -D $CHAIN_NM 1 fi # 检查现有规则中是否存在将要阻止的IP地址 if [ "$(${BINGIPTAB} -nL ${CHAIN_NM} | grep -w ${IPADDR} | grep DROP)" ]; then # 如果要阻止的IP地址已经在现有规则中, 查询行号并删除旧规则, 确保每个IP在链中只有一个条目 # 建议:如果有其他应用检测脚本要调用iptables, 请使用不同的链名称 # 说明:--kerneltz 在 RHEL/CentOS 6.x 中应替换为 --localtz 参数, 检查系统时间和时区设置 chain_num=$(${BINGIPTAB} --line-numbers -nL ${CHAIN_NM} | grep -w $(echo ${IPADDR}) | grep DROP | cut -d' ' -f 1) $BINGIPTAB -D $CHAIN_NM $chain_num # 插入新规则到链首行, 多次被black的IP将阻止15min内访问, 不指定日期则截止至 2038-01-19 $BINGIPTAB -A $CHAIN_NM -s $IPADDR -p tcp -m multiport --dports $PORTS \ -m time --timestart $(date +%H:%M:%S) --timestop $(date -d '+15 min' +%H:%M:%S) \ --datestop $(date +%Y-%m-%dT23:59:59) --kerneltz -j DROP else # 如果要阻止的IP地址不在现有规则中, 插入新规则到链首行 # 首次被black的IP将阻止10min内访问,不指定日期则截止至 2038-01-19 $BINGIPTAB -A $CHAIN_NM -s $IPADDR -p tcp -m multiport --dports $PORTS \ -m time --timestart $(date +%H:%M:%S) --timestop $(date -d '+10 min' +%H:%M:%S) \ --datestop $(date +%Y-%m-%dT23:59:59) --kerneltz -j DROP fi fi } # 执行第一次NGINX访问错误信息汇总, 打印某列数值的和: awk '{sum+=$1} END {print sum}' # grep -a 是为了避免Nginx日志变成bin格式。 grep -ahvE "${GREP_VWORD}" $NGXLOG | cut -d'"' -f 1,3 | awk '{print $1,$7}' | grep -vE "${GREP_VCODE}" | \ awk '{sum[$1]++} END {for (i in sum) {print sum[i],i | "sort -nr -k 1"}}' | awk '{if ($1 > 5) print $0}' > $NGX00 # 执行第二次NGINX访问错误信息汇总 sleep 30 grep -ahvE "${GREP_VWORD}" $NGXLOG | cut -d'"' -f 1,3 | awk '{print $1,$7}' | grep -vE "${GREP_VCODE}" | \ awk '{sum[$1]++} END {for (i in sum) {print sum[i],i | "sort -nr -k 1"}}' | awk '{if ($1 > 5) print $0}' > $NGX30 #检索30秒钟内访问出错次数超过6次的IP地址加入防火墙策略 cat $NGX30 | while read line do errsum addrule 6 done #清空RUNLOG内容避免重复记录被导入 echo > $RUNLOG # 执行第三次NGINX访问错误信息汇总 sleep 30 grep -ahvE "${GREP_VWORD}" $NGXLOG | cut -d'"' -f 1,3 | awk '{print $1,$7}' | grep -vE "${GREP_VCODE}" | \ awk '{sum[$1]++} END {for (i in sum) {print sum[i],i | "sort -nr -k 1"}}' | awk '{if ($1 > 5) print $0}' > $NGX60 #检索60秒钟内访问出错次数超过10次的IP地址加入防火墙策略 cat $NGX60 | while read line do errsum addrule 10 done |