博客 (152)

在 VMware 虚拟机上安装 macOS 黑苹果系统的过程比较简单,分以下几个步骤进行:


1、用 Securable 工具检测电脑是否支持“虚拟技术”

2、下载并安装 VMware,写本文时最新版本 v12.5.5

3、下载 macOS 懒人版安装镜像,写本文时最新版本 v10.12.4

4、下载并安装 Unlocker,写本文时最新版本 v2.0.8,用于在 VM 中新建虚拟机时显示 Apple Mac OS X

5、新建虚拟机,用记事本打开虚拟机的配置文件 .vmx,底部加一行:smc.version = "0"

6、设置(详见下方链接图文教程) 

7、将镜像文件后缀名 .cdr 改为 .iso,加载到虚拟机的 CD/DVD 中,启动,运行磁盘工具进行分区

8、安装完成后推出 CD/DVD,安装 VMware Tools

9、如果觉得卡,进行一些操作


请参考:Hegel_SU 撰写的《VMware 12 安装 macOS S 10.12》详细图文教程

xoyozo 9 年前
5,304

本文不定时更新!


A: MySQL 执行 SHOW FULL PROCESSLIST 

Q: 查看连接数和慢查询,适用于 MySQL 数据库无法连接 1040


A: iftop -i eth0

Q: 查看占用带宽的IP(命令:iftop -i eth0 -F ip/24),添加到安全组、防火墙、宝塔的黑名单中。

命令 grep -l "x.x.x.x" /www/wwwlogs/*.log 可以在 wwwlogs 目录下的所有 .log 文件中查找指定的恶意 IP。


A: goaccess -f xxx.log

Q: 实时分析网站日志,查看请求最多的IP


A: net.xoyozo.weblog 日志分析工具

Q: 自制的 Web 日志分析工具,可按多种方式排序,纠出可疑访问


A: 重启 web 服务器

Q: 有时候能解决 CPU 和内存消耗的问题,如果一会儿又升高,则需要找另外的原因


Q: 500 服务器内部错误

502 Bad Gateway

504 Gateway Time-out

A: 查看 php 日志,可能的路径:

/usr/local/php/var/log/php-fpm.log

/www/server/php/[版本]/var/log/php-fpm.log


Q: RDS MySQL IOPS 使用率高的原因和处理

A: 根据时间点查看慢查询


Q: Discuz! 论坛界面错乱、表情不显示、模块缺失、登录失败、发帖失败等等

A: 进入管理中心 - 工具 - 更新缓存,能解决大部分问题


Q: Discuz! 浏览帖子提示“没有找到帖子

A: 进入数据库,修复表 pre_forum_post 或分表


Q: CPU 100% 或内存 100%,负载100+

A: 原因有很多,以下是一些建议:

Windows 在任务管理器中查看进程

当前是否有正常的大流量访问(譬如民生类论坛的某个帖子突然火了)特别是重启无效的情况

对比网站日志大小可大致确定哪个网站被大量恶意请求。

观察:命令 top

排查:通过关闭网站来确定是某网站的问题,通过关闭功能确定是某功能的问题,如果 nginx 崩溃请参下条

案例:通过修改 mobcent 文件夹名确定是安米的文件被疯狂请求导致的,更新插件和 mobcent 包解决问题。

如果都是正常访问,top 看到很多 php-fpm,而且个个占用 CPU 还不小,那么根据服务器硬件配置来修改 php 的并发量,如宝塔面板在 php 设置 - 性能调整 页,300 并发方案的推荐配置是:

max_children:300
start_servers:30
min_spare_servers:30
max_spare_servers:180

另外,memcached 或 redis 的配置也可以进行相应的修改。

另一个案例是 kswapd0 进程占满 CPU,原因是内存不足导致 swap 分区与内存频繁交换数据。同样调整 php 的设置即可。

也可以通过 iftop 来查询占用带宽较多的 IP 并封禁(出方向),如果 CPU 能降下来,那这个 IP 就是罪魁祸首。

* 使用 WAF 的审计 WAF 日志,未使用 WAF 的审计 Web 日志。


Q: 阿里云 ECS 的 CPU 突然达到 100%,并持续到次日 0:00 左右

A: 可能 ECS 是 t5 规格,受 CPU 积分制度限制,积分耗尽时 CPU 不工作。解决方法是更换其它规格产品或升配。


Q: ASP.NET 所在服务器 CPU 突然达到 50% 或 100%,并持续

A: 首先确定哪个网站,再依次排查网站各功能。可能是 HttpWebRequest 请求远程数据时长时间未返回结果导致的程序阻塞。


Q: nginx 服务停止

A: 查看 nginx 日志

WDCP 路径:/www/wdlinux/nginx-1.0.15/logs/error.log


Q: 公网出带宽 100%,其它指标正常

A: Windows 在任务管理器-性能-资源监视器-网络 查看占用带宽的进程PID,然后在任务管理器-详细信息中的找到对应的用户(如果为每个网站分别创建了用户,就能知道是哪个网站占用了带宽);如果是被 PID 为 4 的 System 占用大部分带宽,也可以尝试重启 IIS 来解决。

CentOS 使用 nethogs 查看占用带宽的进程PID和USER,如果为每个网站分别创建了用户,就能知道是哪个网站占用了带宽,否则只能一个个关闭网站来判断,不知道大家有没有好的方法?当然还可以直接用 iftop 命令查看占用带宽的 IP。另外,查看每个网站在那个时间段的日志文件的大小也能大概看出是哪个网站被采集了。


A: Linux 显示每个用户会话的登入和登出信息

utmpdump /var/log/wtmp

参考:http://www.tulaoshi.com/n/20160331/2050641.html


Q: RDS 的 CPU 100%

A: 如果是突然持续占满(同时伴随 ECS 资源使用率下降,页面出现 502),很大可能是受攻击(或社交网站推送突发事件等),查看“慢查询”,添加相关索引;如果是 Discuz! 论坛,可尝试修复优化表 pre_common_session。

如果是数日缓步上升,或新项目上线,考虑 SQL 慢查询,思路:MySQL / SQL Server

MySQL:SHOW FULL PROCESSLIST

SQL Server:sp_who


Q: php 网站的服务器,内存在数天内缓慢上升

A: 大概是 php-fpm 占用过多,或进程数太多

更改 php 的配置(如 max_spare_servers),执行:service php-fpm reload


Q: 进程 cloudfs 占用内存过多

A: 参:https://xoyozo.net/Blog/Details/cloudfs-cache


Q: RDS 磁盘占用过大

A: 参:https://xoyozo.net/Blog/Details/how-to-use-rds


Q: ECS 受到 DDoS 攻击怎么办?

A: 参:https://xoyozo.net/Blog/Details/aliyun-ddos-without-bgp


Q: 如果 ECS 和 RDS 各项指标都没有异常,但网页打开慢或打不开502,TTFB 时间很长,是什么原因?(ECS 的 CPU 100%,RDS 的连接数上升,也可参考此条)

A: 数据库有坏表,尝试优化/修复表(慢 SQL 日志中锁等待时间较长的表?),或主备切换。show full processlist 时看到许多

DELETE FROM pre_common_session WHERE  sid='******'  OR lastactivity<******  OR (uid='0' AND ip1='*' AND ip2='*' AND ip3='*' AND ip4='*' AND lastactivity>******)


Q: Discuz! 创始人(站长)密码被改

A: 数据库找到 pre_ucenter_members 表,复制其它的已知登录密码的账号,复制其 password 和 salt 两个字段的值到创始人账号中,创始人账号即可用该密码登录了。


Q: 通过 iftop 观察到,Discuz! 网站从 RDS 数据库到 ECS 网站服务器私网流量非常大,远大于公网流量

A: 可能是缓存出问题了,尝试卸载重装 Redis 来解决。


Q: 宝塔面板中安装的 Redis 经常自动停止

A: 尝试卸载重装 Redis 来解决。


Q: 马甲客户端出现“您的网络有些问题”

A: 原因有许多,其中一个就是新建了一个数据表,然后 /source/class/table/ 下面丢失了对应的文件,具体可以找官方排查原因。


Q: 排查服务器安全需要检查哪些日志?

A: Web日志、登录日志(/var/log/secure)等。


Q: 带宽波形以几分钟为周期呈锯齿状波动是什么原因?

A: 该现象主要由防火墙流量管控机制与检测周期设置共同作用所致。防火墙基于预设的带宽阈值执行安全防护策略,当检测到流量峰值超过设定阈值时,将自动触发限流策略拒绝后续请求。待流量回落至安全阈值后,系统自动恢复服务访问权限。若防火墙的带宽采样检测周期设置过长(如以分钟为单位的检测间隔),将导致系统对实时流量变化的响应出现迟滞。这种周期性的检测机制会使带宽监控数据在阈值临界点附近呈现规律性的锯齿状波动特征。

优化建议:可通过调整防火墙的流量检测周期至更小时间粒度(如10-15秒),或采用动态流量整形策略,以实现更平滑的带宽控制效果。

补充说明:对于阿里云监控数据的调用,建议注意接口调用频率管控。高频调用云监控API接口将触发阿里云的API计费策略,可能产生额外的资源消耗成本。


其它案例

  1. 某台 ECS 上的多个网站出现 502,查询到 CPU / 内存 / 带宽 都比平时高,但都未满。用 iftop 看到连接的一个远程 Redis 占用内网带宽非常高。尝试重启远程 Redis 未果。尝试重启 ECS 上的 nginx 未果。尝试重启 ECS 未果。进入 ECS 的宝塔面板,重启 PHP 有效。

xoyozo 9 年前
9,795

VS2017 安装程序变革比较大,最近安装了 15.1 (26403.3) 版本后提示重启,重启后再次打开安装程序还是提示需要重启,导致无法进入下一步执行添加、删除、修复组件的操作。

blob.png

试用了几天以后没有发现这个情况会对开发工作产生影响,那么如果要修改安装组件怎么办呢?我们可以打开 Visual Studio 2017,新建项目,在左侧的“已安装”选项卡的底部点击“打开 Visual Studio 安装程序”:

blob.png

又可以愉快地玩耍啦!

点不了“修改”?请关闭 Microsoft Visual Studio 2017 的所有实例,然后继续此操作。

blob.png

xoyozo 9 年前
7,337

兼容建议:(2017年初)

连淘宝都放弃 IE6 了,就不需要再坚持了;

IE7 跟错了老大(Vista),已经没有市场了;

当前市场份额最大的操作系统还是 Win7,所以 IE8 是必须要兼容的,就算国人都安装了国产浏览器,内核也未必会升到 IE9-11。

当然每个站的访客群体不同,具体还得参考网站统计数据来确定兼容级别。

为了友好,建议你在不打算兼容的浏览器上提供升级提示和新版下载链接。

如果是纯移动端,那么大胆地用 HTML5 就行了。

以下例举我遇到过的兼容问题:

浏览器版本 注意事项
IE6-7 <input type="radio" /> 必须设置 name 才能被选中
IE6-7 不支持 console.log
IE6-7 不支持 JSON.stringify
所有 IE 不支持 <input /> 新的 type 类型,查看详情
xoyozo 9 年前
5,182

最近做到微信语音时用到,将微信的媒体文件(.amr)下载到自己服务器上,并转码为 .mp3 格式。

引用“NAudio.dll”或直接搜索 NuGet 包,将音频文件转码为 .mp3 只需要:

var data = new MediaFoundationReader("..\\amr\\test.amr");
MediaFoundationEncoder.EncodeToMP3(data, "..\\test.mp3", 码率默认192000);

若出现异常:

无法加载 DLL“mfplat.dll”: 找不到指定的模块。

原因是没有安装音频解码组件,以 Windows Server 2012 R2 为例:

打开“服务器管理器”,添加角色和功能,勾选“桌面体验”(可能在“用户界面和基础结构”,默认还会勾上“墨迹和手写服务”)

安装完成需要重启计算机。

若出现异常:

不支持给定的 URL 的字节流类型。 (异常来自 HRESULT:0xC00D36C4)

原因可能是没有能够播放 .amr 的解码器,或音频驱动!

如果还是搞不定,本站搜索 ffmpeg 吧!

xoyozo 9 年前
12,191

知其然,才能使其安——王震

 

常见的攻击手法

SQL 注入

文件上传

弱口令

Nday 攻击

XSS

社会工程学

等等……

 

被黑原因总结

不知道 不及时 不在意
不知道自用系统安全动态 不及时更新系统安全补丁 不在意个人信息安全
不知道常见黑客攻击手段 不及时修复漏洞 不在意用户数据安全
不知道该如何修复 不及时排查被黑系统 不在意各种安全软件提示、提醒
不知道今后该如何防御   不在意细节

 

那些年,醉人的“三字经”

网站渗透娱乐版 针对企业的实战版

进谷歌 找注入

没注入 就旁注

没旁注 用0day

没0day 猜目录

没目录 就嗅探

爆账户 找后台

传小马 放大马

拿权限 挂页面

放暗链 清数据

搞企业 先扫描

默认密 都知道

社工库 找一找

邮箱号 先列好

九头蛇 跑一跑

搞不定 放大招

发邮件 凭伪造

没邮箱 搞网站

二级域 皆可爆

老漏洞 没修好

新漏洞 刷一票

干研发 Git 找

原代码 全都要

CDN 可以跳

防火墙 可以撬

堡垒机 可以绕

云防护 可以秒

是企业 没有哪家搞不了

 

攻击手法统计

Nday攻击:45%

漏洞攻击:35%

其他攻击:15%

0day攻击:5%

 

一些箴言

80%的安全问题都是已知的安全问题,但是能抵御已知安全问题的网站只有20%

弱口令虽然看起来很弱,但是忽视弱口令只会让你的网站变得更弱

没有百分之百的安全,你所做的一切不是为了让自己无坚不摧,只是让自己不再弱不禁风

80%的系统安全问题都是可以通过升级补丁来解决,但是能做到这点的人只有20%

SQL注入存在十几年了,依然是主流攻击手段,可见安全比的不是谁更先进,而是谁更细心

不要得罪你的开发人员,这就跟你吃饭不要得罪服务员一样,你不知道他下一秒会不会在你的菜里吐口水

 

还有一句

永远不要觉得你安装的安全防护软件真的可以保护你的安全

 

服务器安全注意事项

不安装不必要的软件

排查所有系统弱口令

关闭不常用的端口

控制目录权限

不在服务器上下载、打开非官方提供软件

不在服务器上打开他人发来的网页链接

 

如何排查暗链?

利用查看网站的源代码来检查黑链

使用站长工具“网站死链检测”功能来检查黑链

用 FTP 查看网站文件的修改时间来检查黑链

接入 webscan.360.cn 检测

 

后门排查

Windows 下,D 盾、安全狗、主机卫士

Linux 下,Seay 一句话扫描脚本、主机卫士 Linux 版

用 FTP 查看网站文件的修改时间来排查恶意后门

接入 webscan.360.cn 等在线检测

 

安全类书籍推荐

《Web 安全深度剖析》——张炳帅 著

《白帽子讲 Web 安全》——吴瀚清 著

《Web 前端黑客技术揭秘》——钟晨呜(余弦)著

《黑客攻防技术宝典 Web 实战篇》——国外某黑客 著

 

联系方式

官网:www.flsec.com

xoyozo 9 年前
4,969

IIS:

进入 IIS 管理器,
打开“Web 平台安装程序”
在“产品”选项卡中选择“服务器”项
添加“IIS:IP 和域限制”
安装

关闭并重新打开 IIS 管理器
打开“IP 地址和域限制”
右侧“添加拒绝条目”

 

itables:

查看当前规则:

iptables -L

或直接编辑

vim /etc/sysconfig/iptables

添加规则:

封单个IP:

iptables -I INPUT -s 888.888.888.888 -j DROP

封IP段:

iptables -I INPUT -s 888.888.888.0/24 -j DROP

解封:

iptables -D INPUT -s 888.888.888.888 -j DROP

xoyozo 9 年前
5,994

最理想的部署方式是 ClickOnce,但是证书问题会导致安装时提示:

 

Windows 已保护你的电脑

Windows SmartScreen 筛选器已阻止启动一个未识别的应用。运行此应用可能会导致你的电脑存在安全风险。

 

 

这需要一个从 CA 获取的数字证书(http://www.doc88.com/p-785388554071.html)

 

 

百科:                                 http://baike.baidu.com/view/1390498.htm

ClickOnce 部署教程:            http://www.cnblogs.com/weixing/p/3358740.html

Makecert.exe(证书创建工具): https://msdn.microsoft.com/zh-cn/library/bfsktky3.aspx

如何:为 ClickOnce 应用程序向客户端计算机添加一个受信任的发行者:https://msdn.microsoft.com/zh-cn/library/ms172241.aspx

 

执行命令:makecert -r -n "CN=嗨秒网" -sv himiao.pvk himiao.cer

 

Password: LRQelk0l****************FTtJvufI

 

-r                创建自我签名证书。

-n  name         指定主题的证书名称。 此名称必须符合 X.500 标准。 最简单的方法是在双引号中指定此名称,并加上前缀 CN=;例如,-n "CN=myName"。

-sv  pvkFile     指定主题的 .pvk 私钥文件。 如果该文件不存在,系统将创建一个。

 

 

执行命令:Cert2spc himiao.cer himiao.spc

 

执行命令:pvk2pfx -pvk himiao.pvk -spc himiao.spc -pfx himiao.pfx -pi LRQelk0l****************FTtJvufI –po LRQelk0l****************FTtJvufI –f

 

xoyozo 10 年前
5,512

《Windows Server 2008 R2 Web 服务搭建流程》

前提一、安装完系统后,各分区的权限均设为:
    IIS_IUSRS        完全拒绝(不是什么都不勾,而是勾满右侧的拒绝)
一、创建网站用户,如 netXoyozoWww,密码永不过期,仅隶属于 IIS_IUSRS 组。
二、创建网站根目录 net.xoyozo.www,权限添加用户 netXoyozoWww, 允许“读取和执行”、“列出文件夹内容”、“读取”。
        创建上传目录 upload,用户 netXoyozoWww 的权限再允许“修改”、“写入”。
三、IIS 中添加网站,网站名称如 net.xoyozo.www,指定物理路径,点击连接为,特定用户,测试设置……
        主机名 www.xoyozo.net
四、应用程序池,把 net.xoyozo.www 改成实际需要的 .NET 版本;高级设置,标识,自定义帐户 netXoyozoWww
五、选中网站,日志,更改目录,应用
六、展示网站目录树,选中 upload,处理程序映射,编辑功能权限,取消“脚本”前的勾。
    此操作的结果会在该目录下创建 web.config 文件,切勿删除!尚未研究出被上传文件替换的解决方案。程序应严格控制上传路径,阻止修改或替换 web.config 文件

另:
    查看端口命令:netstat -an
 

xoyozo 12 年前
3,851

《SQL Server 2012 数据库服务搭建流程》

安装 .net 3.5 并重启!

知识一、安装,选 64 位版本,安装功能:
    实例:数据库引擎服务及子项全选,其它暂时用不到
    共享:管理工具-完整
知识NN、若实例安装到其它磁盘,确保目录有“NETWORK SERVICE”权限!!!
知识二、卸载,参:http://technet.microsoft.com/zh-cn/library/hh231731.aspx
    必须严格按照说明卸载,否则会出现卸载不干净,重装装不上的问题。
    若不幸遇上 0x851A001A,参:http://social.msdn.microsoft.com/Forums/zh-CN/8f4d5cf8-4ab8-4a37-81df-7c294f994515/sql-server-2012-install-error-851a001a
    用户名好像是:NT Service\MSSQLSERVER
知识三、18456错误:
    服务器身份验证:SQL Server 和 Windows 身份验证模式
    具体设置在:SSMS - Windows 身份验证模式 登录后 - 对象资源管理器 - 选中当前服务器 - 右键属性 - 安全性
    SQL Server 配置管理器 - SQL Server 服务 - 重启
知识四、修改端口:
    SQL Server 配置管理器 - SQL Server 网络配置 - 相应实例的协议 - TCP/IP - IP 地址 - 将所有1433改掉
    SQL Server 配置管理器 - SQL Server 服务 - 重启
知识五、sa - 登录 - 禁用
知识六、维护计划:
    开启 SQL Server 代理,并在服务里设置自动(延时)
    SSMS - 当前服务器 - 管理 - 维护计划 - 右键 维护计划向导 每天4:03:02
    工具箱-拖入:收缩数据库-重新组织索引-重新生成索引-更新统计信息-清除历史记录-备份数据库(完整)-“清除维护”任务

    编辑每项任务,在“所有用户数据库”中勾选“忽略未处理联机状态的数据库”,这是关键,如果不勾选,一旦某个数据库被设置为脱机,备份就会出错。

    在新建的维护计划上右键,执行,完成以后,右键“查看历史记录”,如有错误作相应修改
    完整备份+差异备份方式:http://www.cnblogs.com/zhangq723/archive/2012/03/13/2394102.html 从“下面我来讲一下”开始做

需要开放远程连接的,在防火墙设置允许通过的程序,如:
D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Binn\sqlservr.exe




创建或还原数据库

一、(还原时)改:
    常规 - 目标 - 数据库(B)
    文件 - 表格“还原为”列 - 改文件名如:dbTest.mdf / dbTest_log.ldf
二、(还原时)dbTest - 安全性 -  用户 - 删除原用户,默认那些用户不要删
三、(还原后)属性 - 文件 - 数据库文件 - 逻辑名称,初始大小全是0
    如不需要日志,则:属性 - 选项 - 恢复模式 - 简单
四、安全性 - 登录名 - 新建登录名:
    常规 - 填写登录名 - SQL Server 身份验证 - 取消“强制实施密码策略” - 默认数据库
    用户映射 - 映射对应数据库 - 勾:db_owner / public (若只读则勾:db_datareader / public)
    用户映射确定后再检查一次,第一次有可能未设置成功

xoyozo 11 年前
6,086