百独托管7500 紫田网络超高转化播放器收cps[推荐]速盾CDN 免实名免备防屏蔽阿里云 爆款特卖9.9元封顶提升alexa、IP流量7Q5团队
【腾讯云】中小企福利专场【腾讯云】多款产品1折起高防 随时退换 好耶数据小飞国外网赚带你月入万元炎黄网络4H4G10M 99每月
香港带宽CN2/美国站群优惠中客数据中心 服务器租用联盟系统移动广告平台 中易企业专场腾讯云服务器2.5折九九数据 工信部正规资质
腾讯云新用户大礼包代金券高价收cpa注册量高价展示【腾讯云】2核2G/9.93起租服务器找45互联 随时退换阿里云 短信服务 验证秒达

[国内信息] 真正的高防服务器,单机可抗600G真实流量攻击,打死立即退款.. [复制链接]
查看:170896 | 回复:1156

36

主题

5374

帖子

2902

积分

落伍者(两全齐美)

Rank: 2

贡献
2797
鲜花
2
注册时间
2010-1-15

落伍手机绑定

 楼主| 发表于 2019-2-18 10:15:04 | 显示全部楼层 来自 中国云南文山壮族苗族自治州
wdcp是WDlinux Control Panel的简称,是一套通过WEB控制和管理服务器的Linux服务器管理系统以及虚拟主机管理系统,旨在易于使用Linux系统做为我们的网站服务器系统,以及平时对Linux服务器的常用管理操作,均可在wdCP的后台里操作完成。

wdcp

wdcp支持两种安装方式:

1.源码编译, 此安装比较麻烦和耗时,一般是20分钟至一个小时不等,具体视配置情况而定。

2.RPM包安装, 简单快速,,下载快的话,几分钟就可以完成;

按照步骤

1.打开Xshell软件,用SSH账号及密码链接服务器;
wdcp
2.安装wdcp面板
SSH命令执行:
wget http://soft.kwx.gd/wdcp/lanmp_wdcp_ins.sh
获得安装脚本。
wdcp

3.执行SSH命令:
sh lanmp_wdcp_ins.sh
一键安装nginx+apache+php+mysql环境,且自带中文WEB管理面板。
wdcp
4.wdcp安装完后,会在ssh内显示默认的访问地址http://自己的ip:8080(IP是自己的IP地址),即可登录WD控制面板。

wdcp

5.安装完成之后,一般都是默认的用户名和密码,默认用户名:admin 默认密码:wdlinux.cnMySql默认的管理用户名:root 默认密码:wdlinux.cn,为了网络安全,强烈建议修改登录密码及数据库密码。

wdcp

6.自此,完成了wdcp的安装,是不是很简单呢?连我这个菜鸟都安装成功了,大侠们还等什么呢。
顶尖网络安全公司,提供T级定制防护,多层防火墙同步清洗,全网DDOS防御超6000G,为您的发展保驾护航。Www.kehuayun.Com
回复 支持 反对

使用道具 举报

36

主题

5374

帖子

2902

积分

落伍者(两全齐美)

Rank: 2

贡献
2797
鲜花
2
注册时间
2010-1-15

落伍手机绑定

 楼主| 发表于 2019-2-19 12:46:07 | 显示全部楼层 来自 中国云南文山壮族苗族自治州

在很多情况下,防火墙都会组织一些端口号的通讯,比如我们的tomcat,nginx,redis明明安装的没毛病,但在外部就是访问不了,那很有可能就是防护墙的原因了,我们可以在防火墙中开放一些端口供外部访问比如tomcat的8080 ,mysql的3306,redis的6379,nginx的80端口。我们打开配置文件就会发现,他默认只开放了22端口,我们就可以复制那一行,并在紧挨着他的下面插入,并改为我们想要开放的端口号。注意(必须是紧挨着的下一行啊)

怎么关闭防火墙



设置完成后,重启防火墙:

service iptables restart
查看防火墙状态:

service iptables status
当然,由于我们这是开发环境,所以我们完全可以关闭防火墙

service iptables stop
但是这样下次开机防火墙又会打开,所以我们可以永久关闭

chkconfig iptables off//进制防火墙自启动  
chkconfig iptables --list // 查看自启动状态列表
这两种方式都ok的。

顶尖网络安全公司,提供T级定制防护,多层防火墙同步清洗,全网DDOS防御超6000G,为您的发展保驾护航。Www.kehuayun.Com
回复 支持 反对

使用道具 举报

36

主题

5374

帖子

2902

积分

落伍者(两全齐美)

Rank: 2

贡献
2797
鲜花
2
注册时间
2010-1-15

落伍手机绑定

 楼主| 发表于 2019-2-20 11:21:11 | 显示全部楼层 来自 中国云南文山壮族苗族自治州
1、什么是堡垒机
堡垒机,是在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的***和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责。

我们又把堡垒机叫做跳板机,简易的跳板机功能简单,主要核心功能是远程登录服务器和日志审计。运维堡垒机的理念起源于跳板机。2000年左右,高端行业用户为了对运维人员的远程登录进行集中管理,会在机房里部署跳板机。跳板机就是一台服务器,维护人员在维护过程中,首先要统一登录到这台服务器上,然后从这台服务器再登录到目标设备进行维护。

堡垒机

堡垒机从功能上讲,它综合了核心系统运维和安全审计管控两大主干功能,从技术实现上讲,通过切断终端计算机对网络和服务器资源的直接访问,而采用协议代理的方式,接管了终端计算机对网络和服务器的访问。形象地说,终端计算机对目标的访问,均需要经过运维安全审计的翻译。打一个比方,运维安全审计扮演着看门者的工作,所有对网络设备和服务器的请求都要从这扇大门经过。因此运维安全审计能够拦截非法访问,和恶意***,对不合法命令进行命令阻断,过滤掉所有对目标设备的非法访问行为,并对内部人员误操作和非法操作进行审计监控,以便事后责任追踪。

安全审计作为企业信息安全建设不可缺少的组成部分,逐渐受到用户的关注,是企业安全体系中的重要环节。同时,安全审计是事前预防、事中预警的有效风险控制手段,也是事后追溯的可靠证据来源。

为什么企业需要堡垒机?
近年来数据安全事故频发,包括斯诺登事件、希拉里邮件丑闻以及携程宕机事件等,数据安全与防止泄露成为政府和企业都非常关心的议题,因此云堡垒机也应运而生。

案例一:

让我们共同回顾最具代表性的数据泄露引发的安全事故,美国著名的斯诺登事件。2013年6月,美国《华盛顿邮报》报道,美国国家安全局和联邦调查局于2007年启动了一个代号为“棱镜”的秘密监控项目,直接进入美国网际网路公司的中心服务器里挖掘数据、收集情报。洩露这些绝密文件的并非国家安全局的内部员工,而是国家安全局的外聘人员爱德华·斯诺登。

斯诺登事件若放在今天,将不可能发生,因为我们有了云堡垒机!其中的管理员角色可以设置敏感操作的事前拦截、事中断开、事后审计,并且可以做到全程无代理实时监控。类似斯诺登这样的外聘人员将无法接触到这些敏感信息,更不用说泄露出来了。并且某些云堡垒机支持录屏功能也可以帮助用户进行审计和追责。

案例二:

2015年5月28日上午11点至晚上8点,在某旅游出行平台官网及APP上登录、下单或交易时,跳转均出现问题,导致操作无法顺利完成。造成直接经济损失巨大,按照其上一季度的财报公布的数据,宕机的损失为平均每小时106.48万美元。

最终,平台回应此事称系由于员工误操作删除了服务器上的执行代码导致。不论是因为******还是员工误操作,真金白银800万美元的经验教训告诫我们对于数据的安全和备份必须要引起重视!云堡垒机能解决这2个问题,一是***面小,二是可定制双机备份。

以上事实说明,云堡垒机对安全的重要程度不言而喻。

比较优秀的用于搭建堡垒机的开源软件:jumpserver。主要功能有:认证、授权、审计、自动化、资产管理等。

商业堡垒机的功能比开源的要强大,比较出名的有:齐治,Citrix XenApp等。

2、 搭建简易堡垒机思路
堡垒机需要具有公网IP以及内网IP,其中内网IP用于和机房其他机器通信。公网IP是用于在外部登录,通过公网IP登录到堡垒机后,才能访问内网的机器,这一点和跳板机一样。

搭建堡垒机,首先需要限制端口,留出可以远程登录的端口,其他的端口都封闭掉。然后还需要配置白名单IP,规定只有哪些IP可以登录,以及禁止密码登录,只允许密钥登录等,做这些事情的目的是为了增加堡垒机的安全性。

除此之外,还需要限制登录的用户,限制为普通用户登录,和限制用户可以执行的命令等。

还需要在客户机器上做日志审计。

3、安装jailkit实现chroot
安装jailkit实现chroot的目的是为了限制登录的用户能够执行的命令,因为要防止登录的用户对堡垒机进行其他的操作。jailkit可以把用户限制在一个虚拟的系统中,这个虚拟系统的环境是chroot的,让用户无法直接操作真实系统。

编译安装jailkit:

[root@localhost ~]# cd /usr/local/src/
[root@localhost /usr/local/src]# wget https://olivier.sessink.nl/jailkit/jailkit-2.19.tar.bz2
[root@localhost /usr/local/src]# tar jxvf jailkit-2.19.tar.bz2
[root@localhost /usr/local/src]# cd jailkit-2.19
[root@localhost /usr/local/src/jailkit-2.19]# ./configure && make && make install
[root@localhost /usr/local/src/jailkit-2.19]# echo $?
0
[root@localhost /usr/local/src/jailkit-2.19]#
创建一个目录作为虚拟系统的根目录:

[root@localhost ~]# mkdir /home/jail
给虚拟系统初始化一些命令,让这个系统具有基本的文件结构、网络相关的以及常用命令等:

[root@localhost ~]# jk_init -v -j /home/jail/ basicshell
[root@localhost ~]# jk_init -v -j /home/jail/ editors
[root@localhost ~]# jk_init -v -j /home/jail/ netutils
[root@localhost ~]# jk_init -v -j /home/jail/ ssh
初始化完成后/home/jail/下会生成以下几个目录:

[root@localhost ~]# ls /home/jail/
bin  dev  etc  home  lib64  usr
[root@localhost ~]#
创建真实系统的用户:

[root@localhost ~]# useradd jailUser
[root@localhost ~]# passwd jailUser
更改用户 jailUser 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]#
创建虚拟系统的sbin目录,并拷贝虚拟系统的shell文件:

[root@localhost ~]# mkdir /home/jail/usr/sbin
[root@localhost ~]# cp /usr/sbin/jk_lsh /home/jail/usr/sbin/jk_lsh
创建虚拟系统的用户:

[root@localhost ~]# jk_jailuser -m -j /home/jail jailUser
编辑虚拟系统用户的密码文件内容如下:

[root@localhost ~]# vim /home/jail/etc/passwd
root:x:0:0:root:/root:/bin/bash
jailUser:x:1011:1011::/home/jailUser:/bin/bash  # 改成/bin/bash后才能被远程登录
完成以上操作后,远程登录一下jailUser这个账户:
搭建简易堡垒机

登录成功:
搭建简易堡垒机

如图可以看到,这个系统可以执行的命令只有118条。

能够成功登录后就可以生成密钥,添加密钥认证了,配置完密钥后,还需要在真实系统上编辑sshd_config文件把PasswordAuthentication的值改为no,这样就能禁止远程密码登录了。

真实系统上,还需要开启防火墙规则,除了远程登录端口外其他端口都需要封闭掉,这个很简单这里就不演示了。除此之外还需要配置白名单IP,这个在hosts.allow文件里配置,hosts.deny里也需要进行相应的配置,如下示例:

[root@localhost ~]# vim /etc/hosts.allow
sshd: 192.168.77.0/24 1.1.1.1 2.2.2.2  # 白名单ip配置在这里
[root@localhost ~]# vim /etc/hosts.deny
sshd: ALL  # 设置除了白名单ip外的ip都拒绝连接
4、 日志审计
我们还需要在客户机上做一个简单的日志审计,记录在该机器执行过的命令,以下操作是需要在所有被登录机器上做的:
1.首先配置hosts.allow以及hosts.deny文件,设置仅允许堡垒机的IP登录,其他的一律拒绝登录:

[root@localhost ~]# vim /etc/hosts.allow
sshd: 192.168.77.130  # 堡垒机的IP
[root@localhost ~]# vim /etc/hosts.deny
sshd: ALL  # 拒绝堡垒机以外的IP登录
然后在堡垒机上看看能否进行登录:
搭建简易堡垒机

如图,能够成功登录,代表没问题。

2.配置日志审计:

[root@localhost ~]# mkdir /usr/local/records # 创建日志文件存放的目录
[root@localhost ~]# chmod 777 !$
chmod 777 /usr/local/records
[root@localhost ~]# chmod +t !$
chmod +t /usr/local/records
[root@localhost ~]# vim /etc/profile  # 文件末尾增加以下内容
if [ ! -d  /usr/local/records/${LOGNAME} ]
then
    mkdir -p /usr/local/records/${LOGNAME}
    chmod 300 /usr/local/records/${LOGNAME}
fi
export HISTORY_FILE="/usr/local/records/${LOGNAME}/bash_history"
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'
[root@localhost ~]# source /etc/profile  # 让profile的配置生效
配置完成后,查看是否有生成相应的记录文件:

[root@localhost ~]# ls /usr/local/records/
root
[root@localhost ~]# ls /usr/local/records/root/
bash_history
[root@localhost ~]# cat /usr/local/records/root/bash_history
2018-01-18 21:09:56 ##### root pts/0 (192.168.77.1) #### source /etc/profile
2018-01-18 21:10:41 ##### root pts/0 (192.168.77.1) #### ls /usr/local/records/
2018-01-18 21:10:44 ##### root pts/0 (192.168.77.1) #### ls /usr/local/records/root/
2018-01-18 21:10:46 ##### root pts/0 (192.168.77.1) #### ls /usr/local/records/root/
[root@localhost ~]#
如上,可以看到,生成的bash_history 文件中已经记录了我刚刚敲过的命令,这样就能够记录哪个用户在哪个时间点上在这台机器上敲过的命令。

到此,一个简易的堡垒机就搭建完成了,也算不上真正意义的堡垒机吧,只能算是个跳板机。因为我们还没有使用专业的工具去搭建,所以还不太符合堡垒机的概念,但是如果机器不是那么多,只有几台,而且要求也没那么高的话,这种跳板机也就够用了。
顶尖网络安全公司,提供T级定制防护,多层防火墙同步清洗,全网DDOS防御超6000G,为您的发展保驾护航。Www.kehuayun.Com
回复 支持 反对

使用道具 举报

36

主题

5374

帖子

2902

积分

落伍者(两全齐美)

Rank: 2

贡献
2797
鲜花
2
注册时间
2010-1-15

落伍手机绑定

 楼主| 发表于 2019-2-23 10:58:26 | 显示全部楼层 来自 中国云南文山壮族苗族自治州
使用电脑的过程中,或多或少会越到各种各样的问题,今天小编打开电脑提示lsass.exe错误,网上查找了好多资料终于解决了。下面将解决方法分享给各位,希望对你有所帮助。

电脑系统开机提示lsass.exe系统错误的解决方法

  1、替换文件

  在开机出现“lsass.exe系统错误,安全帐户管理器初始化失败”时,大多数会黑屏,进不了系统,这种情况,只能在带命令提示符的安全模式或PE下去替换文件,但有时,也可能进入系统,或者可以进入安全模式,如果有这种机会,可以直接替换掉SAM文件。

  替换方法:进入C:\Windows\Repait文件,直接复制SAM文件,把它复制到C:\Windows\System32\Config文件下。

电脑系统开机提示lsass.exe系统错误的解决方法

  2、如果在C:\Windows\System32\Config文件下,没有这个SAM文件,复制会顺利进行,如果这个SAM文件,只是损坏,但还存在,复制时,就会弹出提示框,询问是否覆盖文件,按是即可,如果在系统下无法覆盖, 被系统阻止,则到安全模式下去覆盖试试。

  注意:在替换文件时,把杀毒软件临时关闭一下,替换完后,重启电脑,就能进入系统了。

电脑系统开机提示lsass.exe系统错误的解决方法
电脑系统开机提示lsass.exe系统错误的解决方法

  3、进入带命令提示的安全模式下替换

  如果不能进入系统,也进入不了安全模式,或者在这两种模式下,替换不了文件,可以试试带命令提示的安全模式。

  在开机过了自检后,立即按F8键,进入高级模式,在高级模式界面,选择其中的“带命令提示的安全模式”这一项,按Enter回车键进入。

电脑系统开机提示lsass.exe系统错误的解决方法

  4、进入这种安全模式后,什么都没有,只有一个cmd命令提示框,先在这个框中输入cd c:\windows\system32\Config命令,回车。

  这条命令的意思是,切换到Config文件夹,cd是切换目录命令,后面为切换文件夹地址路径。

电脑系统开机提示lsass.exe系统错误的解决方法

  5、等切换目录成功后,再输入下一条copy c:\windows\repait\sam命令,按Enter键回车。

  这条命令的意思是,把c:\windows\repait\文件夹下的SAM文件,复制到当前文件夹(即替换c:\windows\system32\Config文件夹下的SAM文件)。

  替换完后,重启电脑,就能进入系统了。

电脑系统开机提示lsass.exe系统错误的解决方法

  6、PE下替换文件

  如果连带命令提示的安全模式了进不了,就只能用PE进入,进入PE有三种方法:

  一是硬盘PE,这种PE是直接安装在电脑系统上的,使用最方便,但一般人都没有安装。

  二是光盘PE,使用那种Ghost版的光盘,都带有PE系统。

  三是用U盘PE,这个最为流行,这个很方便,也便于携带。

  下面以U盘PE为例,介绍如何在U大侠PE下替换文件,先下载U大侠软件,然后在其它电脑上,把U盘制作成启动盘。

  制作好后,插在自已的电脑上,开机,现在的新机一般都可以按F12进入快速启动项,选择自已的U盘名称,或者前面带有USB-HDD字样的项来启动,如下图,如果不能按F12启动,根据自动的主板说明设置一下U盘启动。

电脑系统开机提示lsass.exe系统错误的解决方法

  7、进入U盘后,一个win8pe,适合新机型,一个win03pe,适合老式机型,根据自已的电脑选择一个,2-3年以内的电脑,选择win8pe,3年以上的,选择win03pe。如果选择后,有问题,进不了PE,可能重新开机再选择一次。

电脑系统开机提示lsass.exe系统错误的解决方法

  8、进入PE系统后,打开“我的电脑”,进入到C:\Windows\Repair文件夹,选择SAM文件,将它复制到C:\Windows\System32\Config文件夹下。

  在PE下,绝对不会有替换不了的问题,可以替换或删除Windows系统下所有无法删除或替换的文件。替换完后,重启电脑,就能进入系统了。

电脑系统开机提示lsass.exe系统错误的解决方法

  9、创建用户帐户

  不管上面用哪种方法,有可能发现,在C:\Windows\Repait文件夹下,并没有这个SAM文件, 这时该怎么办呢?

  这种状况,就只能重新创建用户帐户了,创建方法,开机按F8键,选择带命令提示的安全模式进入,在命令提示窗口,输入net user abc 123 /add命令,回车。

  net user = 创建用户命令,不需要改动;

  abc = 自定义用户名;

  123 = 自定义密码;

  /add = 参数,为添加的意思,不需要改动。

电脑系统开机提示lsass.exe系统错误的解决方法

  10、用户创建完成后,还需要提升为管理员权限,其命令为net localgroup Administrator abc /add格式,回车。

  net localgroup = 提升当前用户权限;

  Administrator = 升到管理员权限;

  abc = 刚才新建的帐户;

  /add = 参数,添加的意思;

  添加完用户帐户后,重启电脑,从新添的帐户进入系统。

电脑系统开机提示lsass.exe系统错误的解决方法
电脑系统开机提示lsass.exe系统错误的解决方法

  11、在进入带命公提示的安全模式后,发现没有正常的退出方式,直接硬关机,又怕损坏电脑,要怎么退出呢?

  后来才发现一个方法,先按Ctrl+Alt+Del键,调出任务管理器,在“文件”菜单下,选择“新建任务”这一项。

电脑系统开机提示lsass.exe系统错误的解决方法

  12、会弹出一个创建新任务窗口,这个窗口与“运行”程序的窗口功能是一样的,在“打开”的编辑框中,输入shutdown -s命令,回车。

  shutdown -s是一条关机命令,用它,就可以正常关闭带命令提示的安全模式了。

  如果不是关机,而是退出安全模式,再重启电脑,可以输入这条shutdown /r命令。

电脑系统开机提示lsass.exe系统错误的解决方法

  注意事项:

  在Repair文件夹下的sam文件是最初装系统时备份的,如果用它来恢复损坏的SAM文件,之前用户所有配置都会回到系统初装时的状态,用户所有配置要重新设置。
顶尖网络安全公司,提供T级定制防护,多层防火墙同步清洗,全网DDOS防御超6000G,为您的发展保驾护航。Www.kehuayun.Com
回复 支持 反对

使用道具 举报

36

主题

5374

帖子

2902

积分

落伍者(两全齐美)

Rank: 2

贡献
2797
鲜花
2
注册时间
2010-1-15

落伍手机绑定

 楼主| 发表于 2019-2-25 13:04:55 | 显示全部楼层 来自 中国云南文山壮族苗族自治州
nginx反向代理配置教程
顶尖网络安全公司,提供T级定制防护,多层防火墙同步清洗,全网DDOS防御超6000G,为您的发展保驾护航。Www.kehuayun.Com
回复 支持 反对

使用道具 举报

36

主题

5374

帖子

2902

积分

落伍者(两全齐美)

Rank: 2

贡献
2797
鲜花
2
注册时间
2010-1-15

落伍手机绑定

 楼主| 发表于 2019-2-26 15:44:22 | 显示全部楼层 来自 中国云南文山壮族苗族自治州
方法一
1. 建立下面的配置文件放在 nginx 的安装配置的 conf 目录下面,命名为 blocksip.conf:
比如假设需要屏蔽的是 192.168.1.1,则编辑 blocksip.conf 文件,添加如下内容

试用
deny 192.168.1.1,;

2.在 nginx 的配置文件 nginx.conf 中加入:

试用
include blocksip.conf;
3. 重启nginx服务:

试用
/usr/local/nginx/sbin/nginx -s reload
另外,blocksip.conf 文件的格式还有许多种,可以配置只允许的 IP 访问或者 IP 段访问:

deny IP; 拒绝 IP
allow IP; 允许 IP
block all ips (拒绝所有 IP)使用 deny all;
allow all ips (允许所有 IP 访问)allow all;
在文件中,也可以使用网段的形式配置,比如 192.168.1.0/24  24 表示 C 类网络,相应配置为:

试用
deny 192.168.1.0/24;
如果想实现除了指定的几个 IP 外,其他全部拒绝,则可以使在 ip.balcklist 中进行如下配置:

试用
allow ip 192.168.1.1
allow ip 192.168.1.2
deny all;  (表示除了192.168.1.1,192.168.1.2外其他的都拒绝)

方法二
单独网站屏闭 IP 的方法:

在 server"{}",在这个大括号内加入 deny IP 地址是限制某 IP 地址访问;allow IP地址是只允许某IP地址访问;

试用
#屏蔽单个IP的命令是
deny 192.168.1.1
# 封整个段即从10.0.0.0到10.255.255.255的命令
deny 10.0.0.0/8
# 封IP段即从127.16.0.0到172.16.0.0的命令
deny 172.16.0.0/16
# 封IP段即从到192.168.1.254的命令是
deny 192.169.1.0/24
例如,下面的例子屏蔽 192.168.1.0/24 的网段 IP:

试用
   #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;
        deny 192.168.1.0/24
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}






更多精彩文章请登录:https://www.sdisp.com.cn/news.asp
顶尖网络安全公司,提供T级定制防护,多层防火墙同步清洗,全网DDOS防御超6000G,为您的发展保驾护航。Www.kehuayun.Com
回复 支持 反对

使用道具 举报

36

主题

5374

帖子

2902

积分

落伍者(两全齐美)

Rank: 2

贡献
2797
鲜花
2
注册时间
2010-1-15

落伍手机绑定

 楼主| 发表于 2019-2-27 08:04:23 | 显示全部楼层 来自 中国云南文山壮族苗族自治州
Nginx安装
nginx-1.10.1.tar.gz安装,参考http://blog.csdn.net/tototuzuoquan/article/details/47381907

修改nginx.conf的配置文件

#user  nobody;

worker_processes  8;



error_log  logs/error.log;

error_log  logs/error.log  notice;

error_log  logs/error.log  info;



#pid        logs/nginx.pid;



events {

    worker_connections  1024;

}



http {

    include       mime.types;

    default_type  application/octet-stream;



    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent" "$http_x_forwarded_for"';



    access_log  /usr/local/nginx/logs/access.log   main;

   

    charset utf-8;



    server_names_hash_bucket_size 128;

    client_header_buffer_size 64k;

    large_client_header_buffers 4 64k;

    client_max_body_size 200m;



    ##cache######

    proxy_connect_timeout 5;

    proxy_read_timeout 60;

    proxy_send_timeout 5;

    proxy_buffer_size 16k;

    proxy_buffers 4 64k;

    proxy_busy_buffers_size 128k;

    proxy_temp_file_write_size 128k;

##设置临时目录,其中/data/tpl_nginx_cache_dir/temp和/data/tpl_nginx_cache_dir/cache在同级目录下,若这个目录没有,请自行创建(目录名称啥的没有要求限制),这里我创建在了/data下面。

proxy_temp_path /data/tpl_nginx_cache_dir/temp;

    ##设置缓存目录为二级目录,共享内存区大小,非活动时间,最大容量,注意临时目录要跟缓存目录在同一个分区

    proxy_cache_path /data/tpl_nginx_cache_dir/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;

    ##cache######



    sendfile        on;

    #tcp_nopush     on;



    #keepalive_timeout  0;

    keepalive_timeout  65;



    #开启Gzip压缩

    gzip  on;

    #不压缩临界值,大于1k的才压缩,一般不用改

    gzip_min_length 1k;

    #buffer相关设置

    gzip_buffers 4 16;

    #用了反向代理的话,末端通信是HTTP/1.0,默认是Http/1.1

    #gzip_http_version 1.0;

    #压缩级别,1~10,数字越大压缩的越好,时间也越长

    gzip_comp_level 3;

    #进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了

    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;

    #跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding",我不需要这玩意,自己对照情况看着办吧

    gzip_vary off;

    #IE6对Gzip不怎么友好,不给它Gzip了

    gzip_disable "MSIE [1-6]\.";

      

    #下面的ip表示的是部署不同tomcat的ip和tomcat的端口

       upstream LoadBalanceMachine {

           server 192.168.1.249:8080 weight=1;

           server 192.168.1.249:9002 weight=1;

       }

      

    #下面的意思是监听192.168.1.249服务器上的80端口。

       server {

           listen 80;

              server_name 192.168.1.249;

              charset utf-8;

            

              location / {

                  #root html;

                     #index index.html index.htm;

                     proxy_pass http://LoadBalanceMachine;

                     client_max_body_size  200m;

            #下面必须设置,下面的意思是让LoadBalanceMachine解析的时候被解析到实际的ip

                     proxy_set_header        Host $host;

            proxy_set_header        X-Real-IP $remote_addr;

            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

              }

            

        #下面这个是配置云专题门户的,对于本地部署版本的专题,可以不配置这个内容

              location ^~ /project1{

            proxy_pass http://LoadBalanceMachine;

#下面必须设置,下面的意思是让LoadBalanceMachine解析的时候被解析到实际的ip

                     proxy_set_header        Host $host;

            proxy_set_header        X-Real-IP $remote_addr;

            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

        }

            

        #下面这个是配置云专题门户的,对于本地部署版本的专题,可以不配置这个内容

              location ~ .*/project1/ {

            rewrite ^/(.*)/project1/(.*)$ http://LoadBalanceMachine/project1/$2;

           }

            

        #下面的意思表示的意思是部署专题project2。这个名称是自己部署的专题的

              location ^~ /project2 {

            proxy_pass http://LoadBalanceMachine;

            #下面必须设置,下面的意思是让LoadBalanceMachine解析的时候被解析到实际的ip

                     proxy_set_header        Host $host;

            proxy_set_header        X-Real-IP $remote_addr;

            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

              }



        #这个必须要写

              location ~ .*/project2/ {

                     rewrite ^/(.*)/project2/(.*)$ http://LoadBalanceMachine/project2/$2;

              }



        #下面的配置是对静态资源做nginx静态缓存的过程。

              location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {

                  proxy_pass http://LoadBalanceMachine;

                  proxy_redirect off;

            proxy_set_header Host $host;

                  ##设置缓存共享区块,也就是keys_zone名称。

            proxy_cache cache_one;

                  ##设置http状态码为200,302缓存时间为1小时。

            proxy_cache_valid 200 302 1h;

            proxy_cache_valid 301 1d;

            proxy_cache_valid any 1m;

                  ##设置过期时间,为30天

            expires 30d;

              }

            

        #配置静态缓存的时候,下面的必须配置的,当访问.action结尾的内容的时候,访问到实际位置的action

              location ~ .*\.(action)(.*) {

                  proxy_pass http://LoadBalanceMachine;

            #下面必须设置,下面的意思是让LoadBalanceMachine解析的时候被解析到实际的ip

                  proxy_set_header        Host $host;

            proxy_set_header        X-Real-IP $remote_addr;

            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

              }

            

        #配置静态静态缓存的时候,下面的必须配置的,当访问.action结尾的内容的时候,访问到实际位置的action

              location ~ .*\.(jsp)(.*) {

                  proxy_pass http://LoadBalanceMachine;

            #下面必须设置,下面的意思是让LoadBalanceMachine解析的时候被解析到实际的ip

                  proxy_set_header        Host $host;

            proxy_set_header        X-Real-IP $remote_addr;

            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

              }

       }

      

}



Redis安装
redis-3.2.6.tar.gz安装,参考方式:

用源码工程来编译安装

1、  到官网下载最新stable版,这里使用的是:redis-3.2.6.tar.gz

2、  cd /usr/local  

3、  make redis-src

4、  tar -zxvf    redis-3.2.6.tar.gz  -C  ./redis-src/

2、解压源码并进入目录cd  /usr/local/redis-src/redis-3.2.6

3、 先执行make,检查是否报错

如果报错提示缺少gcc,则安装gcc :  yum install -y gcc

如果报错提示:Newer version ofjemalloc required

则在make时加参数:make MALLOC=libc (如果没有报错,直接使用make命令)



4、安装redis,指定安装目录,如 /usr/local/redis

make PREFIX=/usr/local/redis install



5、拷贝一份配置文件到安装目录下

切换到源码目录,里面有一份配置文件redis.conf,然后将其拷贝到安装路径下

cp redis.conf /usr/local/redis/



6、启动redis

cd /usr/local/redis

bin/redis-server redis.conf   (如果想后台进程运行,修改:daemonize yes)



vim redis.conf 将下面的变量修改为:

daemonize yes



将bind的id换成真实的ip地址,比如:

bind 192.168.1.1



在集群配置中,要对redis配置密码,修改的配置是将redis.conf这个文件的下面的变量配置成如下的:

requirepass cloudTplWebapp    (这里设置一个密码:cloudTplWebapp)


7、连接redis

另开一个xshell,然后:

#cd /usr/local/redis/

[root@hadoop redis]# bin/redis-cli


127.0.0.1:6379>



tomcat-redis-session-manager开源项目的使用
1、开源项目地址:https://github.com/jcoleman/tomcat-redis-session-manager

2、下载代码之后需要进行重新编译,生成所需要的jar,任意创建maven项目,将src下的代码拷贝到具体位置,如下:



maven的pom.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>



    <groupId>com.ufind.session</groupId>

    <artifactId>tomcat-redis-session</artifactId>

    <version>1.0-SNAPSHOT</version>



    <dependencies>

        <dependency>

            <groupId>org.apache.tomcat</groupId>

            <artifactId>tomcat-catalina</artifactId>

            <version>7.0.27</version>

        </dependency>

        <dependency>

            <groupId>redis.clients</groupId>

            <artifactId>jedis</artifactId>

            <version>2.7.2</version>

        </dependency>

    </dependencies>



    <build>

        <plugins>

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>3.0</version>

                <configuration>

                    <source>1.7</source>

                    <target>1.7</target>

                    <encoding>UTF-8</encoding>

                </configuration>

            </plugin>

        </plugins>

    </build>



</project>



3、然后打开terminal,执行mvn clean 和mvn install 将编译好的代码打包为:tomcat-redis-session-1.0-SNAPSHOT.jar

4、将tomcat-redis-session-1.0-SNAPSHOT.jar、jedis-2.7.3.jar、commons-pool2-2.3.jar三个jar包分别放在tomcat1和tomcat2实例下的lib目录下。



图 32 jar包所在位置

5、修改tomcat实例下conf/contex.xml文件

<?xml version='1.0' encoding='utf-8'?>

<!--

  Licensed to the Apache Software Foundation (ASF) under one or more

  contributor license agreements.  See the NOTICE file distributed with

  this work for additional information regarding copyright ownership.

  The ASF licenses this file to You under the Apache License, Version 2.0

  (the "License"; you may not use this file except in compliance with

  the License.  You may obtain a copy of the License at



      http://www.apache.org/licenses/LICENSE-2.0



  Unless required by applicable law or agreed to in writing, software

  distributed under the License is distributed on an "AS IS" BASIS,

  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  See the License for the specific language governing permissions and

  limitations under the License.

-->

<!-- The contents of this file will be loaded for each web application -->

<Context>



    <!-- Default set of monitored resources -->

    <WatchedResource>WEB-INF/web.xml</WatchedResource>



    <!-- Uncomment this to disable session persistence across Tomcat restarts -->

    <!--

    <Manager pathname="" />

    -->



    <!-- Uncomment this to enable Comet connection tacking (provides events

         on session expiration as well as webapp lifecycle) -->

    <!--

    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />

    -->

  

<!—

tomcat-redis-session共享配置,下面的host表示的是redis的ip地址。

port:表示的意思是redis的端口。

password:表示的意思是redis的password (这里就是5.2.2中Redis配置的password的值,如果不配置密码

database:选择的redis的db是0)

-->

    <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />

       <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"

                      host="192.168.1.1"

                      port="6379"

                      database="0"

                      password="cloudTplWebapp"

                      maxInactiveInterval="60" />

</Context>

分别修改:/data/tomcat1/bin和  /data/tomcat2/bin 下的catalina.sh,修改JVM参数信息和指定JDK

export "JAVA_OPTS=-Xms512m -Xmx1024m -XXermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=1024m"

export "JAVA_HOME=/data/jdk8-for-tomcat7/jdk1.8.0_121"



最后,重启一下tomcat。
顶尖网络安全公司,提供T级定制防护,多层防火墙同步清洗,全网DDOS防御超6000G,为您的发展保驾护航。Www.kehuayun.Com
回复 支持 反对

使用道具 举报

36

主题

5374

帖子

2902

积分

落伍者(两全齐美)

Rank: 2

贡献
2797
鲜花
2
注册时间
2010-1-15

落伍手机绑定

 楼主| 发表于 2019-3-4 09:15:32 | 显示全部楼层 来自 中国云南文山壮族苗族自治州
一、简介

在通常情况下,使用 nginx 基于 ip 限制访问请求频率等限制内容,我们会需要对特定ip进行限制排除操作,因此本文引入了基于nginx geo 与 nginx map 进行此类情景相关配置;


在没有人为操作删除的情况下(without-http_geo_module),nginx默认模块中已经加载了ngx-http-geo-module相关内容;


ngx-http-geo-module可以用来创建变量,变量值依赖于客户端 ip 地址;


ngx-http-map-module可以基于其他变量及变量值进行变量创建,其允许分类,或者映射多个变量到不同值并存储在一个变量中;


ngx-http-map-module相关内容同样在默认nginx中已存在,除非由人为移除( --without-http_map_module)

二、相关指令格式

Nginx geo 格式说明

Syntax ( 语法格式 ): geo [$address] $variable { ... }
Default ( 默认 ): -
Content ( 配置段位 ): http
Nginx map 格式说明

Syntax ( 语法格式 ): map String $variable { ... }
Default ( 默认 ):-
Content ( 配置段位 ): http

三、白名单配置示例

http{

# ... 其他配置内容


#定义白名单ip列表变量
geo $whiteiplist {
default 1 ;
#myself
127.0.0.1/32 0;
#remote ip
64.223.160.0/19 0;
}

#使用map指令映射将白名单列表中客户端请求ip为空串
map $whiteiplist $limit{
1 $binary_remote_addr ;
0 "";
}

#配置请求限制内容
limit_req_zone $limit zone=foo:1m rate=10r/m;
}

server{
location /yourApplicationName {
proxy_pass http://192.168.1.111:8095/app;
# 在 server 中进行限制配置引用 zone = foo
limit_req zone=foo burst=5 nodelay;
}
}
白名单配置可用于对合作客户,搜索引擎等请求过滤限制

#(特殊情况处理)

#如果想仅限制指定的请求,如:只限制Post请求,则:

http{

# 其他请求..

#请求地址map映射
map $request_method $limit {
default "";
POST $binary_remote_addr;
}

#限制定义
limit_req_zone $limit zone=reqlimit:20m rate=10r/s;

}

#然后在server中进行引用。

server{
... #与普通限制一致
}






#在此基础上,想进行指定方法的白名单限制处理,则:

http{

#...

#定义白名单列表
map $whiteiplist $limitips{
1 $binary_remote_addr;
0 "";
}


#基于白名单列表,定义指定方法请求限制
map $request_method $limit {
default "";
# POST $binary_remote_addr;
POST $limitips;
}

#对请求进行引用
limit_req_zone $limit zone=reqlimit:20m rate=10r/s;

#在server中进行引用
server{
#... 与普通限制相同
}


# 对应用中指定请求路径不设置限制,如对请求路径为 即api目录下的请求不做
# 限制,则可写为
server{
location /app {
proxy_pass http://192.168.1.111:8095/app;
limit_req zone=foo burst=5 nodelay;
}
location /app/api {
proxy_pass http://192.168.1.111:8095/app/api
}
}

# 因nginx会优先进行精准匹配,所以以上写法即接触了对api目录下属路径的限制

顶尖网络安全公司,提供T级定制防护,多层防火墙同步清洗,全网DDOS防御超6000G,为您的发展保驾护航。Www.kehuayun.Com
回复 支持 反对

使用道具 举报

36

主题

5374

帖子

2902

积分

落伍者(两全齐美)

Rank: 2

贡献
2797
鲜花
2
注册时间
2010-1-15

落伍手机绑定

 楼主| 发表于 2019-3-5 10:18:30 | 显示全部楼层 来自 中国云南文山壮族苗族自治州
Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱 (IMAP/POP3)代理服务器。它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Windows。根据调查统计,6%的网站使用Nginx Web服务器。Nginx是少数能处理C10K问题的服务器之一。跟传统的服务器不同,Nginx不依赖线程来处理请求。相反,它使用了更多的可扩展的事 件驱动(异步)架构。Nginx为一些高流量的网站提供动力,比如WordPress,人人网,腾讯,网易等。这篇文章主要是介绍如何提高运行在 Linux或UNIX系统的Nginx Web服务器的安全性。

顶尖网络安全公司,提供T级定制防护,多层防火墙同步清洗,全网DDOS防御超6000G,为您的发展保驾护航。Www.kehuayun.Com
回复 支持 反对

使用道具 举报

36

主题

5374

帖子

2902

积分

落伍者(两全齐美)

Rank: 2

贡献
2797
鲜花
2
注册时间
2010-1-15

落伍手机绑定

 楼主| 发表于 2019-3-6 09:11:38 | 显示全部楼层 来自 中国云南文山壮族苗族自治州
登录SSL证书控制台。
在SSL证书页面,点击已签发标签,定位到需要下载的证书并单击证书卡片右下角的下载打开证书下载对话框。

在证书下载对话框中定位到Nginx/Tengine服务器,并单击右侧操作栏的下载将Nginx版证书压缩包下载到本地。
解压Nginx证书。
您将看到文件夹中有2个文件:
证书文件(以.pem为后缀或文件类型)
秘钥文件(以.key为后缀或文件类型)

说明 .pem扩展名的证书文件采用Base64-encoded的PEM格式文本文件,您可根据需要修改成其他扩展名。
证书的格式详见主流数字证书都有哪些格式。

在Nginx安装目录下创建cert目录,并将下载的证书文件和秘钥文件拷贝到cert目录中。
说明 如果您在申请证书时选择 手动创建CSR文件,请将对应的私钥文件放到 cert目录中。
打开Nginx安装目录 > conf文件夹 > nginx.conf文件,在nginx.conf文件中找到以下属性:
试用

# HTTPS server
  server {
  listen 443;
  server_name localhost;
  ssl on;
  ssl_certificate cert.pem;
  ssl_certificate_key cert.key;
  ssl_session_timeout 5m;
  ssl_protocols SSLv2 SSLv3 TLSv1;
  ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
  ssl_prefer_server_ciphers on;
  location / {
修改nginx.conf文件如下:
试用

以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。
server {
listen 443;
server_name localhost;  # localhost修改为您证书绑定的域名。
ssl on;   #设置为on启用SSL功能。
root html;
index index.html index.htm;
ssl_certificate cert/domain name.pem;   #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/domain name.key;   #将domain name.key替换成您证书的私钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #修改protocols。
ssl_prefer_server_ciphers on;   
location / {
root html;   #站点目录。
index index.html index.htm;   #添加属性。
}
}
保存nginx.conf文件后退出。
重启Nginx服务器。
安装证书相关文档:
顶尖网络安全公司,提供T级定制防护,多层防火墙同步清洗,全网DDOS防御超6000G,为您的发展保驾护航。Www.kehuayun.Com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2024-11-26 09:33 , Processed in 0.067837 second(s), 25 queries , Gzip On.

返回顶部