首页 开发编程 正文

php怎么解除授权

大规模DDos流量清洗关于服务器被人攻击的处理,主要要限制服务器端口访问,关于对外开放端口限制和检测的访问,企业安全端口扫描实践基本上就是在外面扫描你服务器ip,主要对外开放的危险端口有所有udp端口(比如最近大规模针对github的攻击,在服务上查看开放的监听端口情况使用命令:3、部署时候精良先通过CDN或者自己用nginx返乡代理...

php怎么解除授权,有什么办法解决吗?

大规模DDos流量清洗

关于服务器被人攻击的处理,当然先要分两种情况,如果是大规模DDos抢注攻击的话,一般对付办法不多,根本办法是通过运营商做流量清洗,分布式部署系统分流。用一些基于公有云的防护手段(费钱,效果一般般),一些安全公司昂贵的设备(作用也不大,有钱就可以多买)。

一般性防护手段

一般性防护手段,通过硬防或者软防火墙比如iptables,主要要限制服务器端口访问,除了必须的80,443以外其他端口一律不对外开放。

关于对外开放端口限制和检测的访问,我的原创文章都提过几篇介绍过:

「安全扫描」看好你的大门,企业安全端口扫描实践

基本上就是在外面扫描你服务器ip,看都开了那些端口,对不该开放端口开放的话就封禁掉。主要对外开放的危险端口有 所有udp端口(比如最近大规模针对github的攻击,就用对外开放的memcache udp 11211 udp端口进行的反射式攻击),tcp重点关注端口: 21(ftp),22(ssh) 23(telnet),2181(zookeeper),3306(mysql),6379(redis),8161和61616(mq),11211(memcache),27017/27018(mongodb),9200(elasticsearch)还有其他的根据企业部署情况来增加。

在服务上查看开放的监听端口情况使用命令:

netstat -ntualp

Local地址 类似于 0.0.0.0:3306和 :::22的监听的服务器就要重点关注,一般除了web都不应该对外开放。

对web服务:

1、注意升级所用程序的版本,有漏洞的要及时升级(比如dedecms,struts2的漏洞等),部署的时候注意权限设置,不给多余的权限。

2、部署必要的waf系统,安利下笔者有个开源免费的waf,有需要的可以联系我。

3、部署时候精良先通过CDN或者自己用nginx返乡代理来对用户,不直接把php 应用、tomcat应用服务器对外,这样即可以提高访问效率,增加访问并发,还可以低于短期大流量访问的冲击。

如果服务器被人攻击,挂马了,怎么排除和解决

常见异常情况:异常的流量、异常tcp链接(来源端口,往外发的端口)、异常的访问日志(大量的ip频繁的访问个别文件)。

如果部署了监控系统的话(强烈建议部署zabbix,并增加对系统添加专门安全items),可以方便通过zabbix监控图和趋势对比了解这些信息:

利用last,lastb发现异常的用户登录情况,ip来源。

利用lastlog,/var/log/message,/var/log/secure,日志等,是否权限已经被攻陷。

用history 发现shell执行情况信息。

用top,ps,pstree等发现异常进程和服务器负载等情况。

用netstat -natlp发现异常进程情况。用w命令发现当前系统登录用户的情况。

如果发现异常用户,立即修改用户密码,pkill -kill -t tty 剔除异常用户。然后进行进一步处理。

发现异常进程,立即禁止,冻结禁止。

发现一个恶意进程后通过 ls -al /proc/Pid (Pid为具体的进程号),发现进程的启动路径,启动的文件所在目录等信息。

如果发现异常连接数,通过iptables封禁相关端口或者ip

iptables -I INPUT -s ip -j DROP

iptables -I OUTPUT -p tcp --dport 25 -j DROP

iptables -I INPUT -p tcp --dport 25 -j DROP

对清理移动木马,杀掉进程

首先清理掉木马创建的cron 计划项和启动项。

ls -al /etc/proc/Pid/ 找的恶意木马文件。

恶意进程的执行目录和文件

最后用一条命令 kill -9 所有的进程ID && rm -rf 所有涉及的文件和目录。

更多信息可以关注笔者的文章或者咨询笔者:

「系统安全」当网站发生异常,出现安全事故,如何进行排查处置?

「WEB安全」单行命令查杀Webshell(php为例)

nginx反向代理如何配置?

在介绍 Nginx 如何做反向代理之前,我先给大家讲讲什么是反向代理。

01 正向代理 VS 反向代理

正向代理:需要我们知道被代理服务器的 IP 或者域名,即将配置到代理服务器上,然后我们通过访问代理服务器,最终访问到目标服务器。

反向代理:我们只需要知道代理服务器的 IP 就可以了,代理服务器根据请求进行跳转并返回内容,至于最终是哪台服务器做的处理,我们并不知道。

02 举个例子

正向代理:我住在北京,但是想回老家买套房,但是我没办法亲自回老家考察,于是我就派我的管家回老家考察;管家就是正向代理服务器;正向代理服务器代表了客户端,在正向代理的过程中,服务端只和代理服务器打交道(房东只和我的管家谈),并不知道真正的客户端是谁。

反向代理:我住在北京,但是想回老家买套房,但是我没办法亲自回老家考察,于是我打个电话联系了老家的房屋中介去办这件事儿;房屋中介就是反向代理;这里的反向代理,代表的是房东,在反向代理的过程中,客户端只和反向代理服务器打交道,并不知道真正的服务端是谁。

总之,正向代理和客户端是一伙儿的,隐藏了客户端,反向代理和服务端是一伙儿的,隐藏了服务端。

03. 使用 Nginx 实现反向代理

Nginx 就是一个开源的、高性能的、可靠的 Http 中间件;它经常被用作 Http 代理、反向代理、负载均衡等等。

使用 Nginx 做反向代理也特别的简单,我们下载并安装好 Nginx 之后,只需要在其配置文件 nginx.conf 中配置代理的目标服务器的地址即可。

3.1 比如我们有三台应用服务器分别是:

10.130.0.1:8080

10.130.0.2:8080

10.130.0.3:8080

3.2 那么在配置文件中的 http 中增加 upstream,并配置三台环境的地址;

#增加 upstream 的配置,其中 myserver 是自己起的名字

upstream myserver{

server 10.130.0.1:8080; #有几套环境,就配置几条

server 10.130.0.2:8080;

server 10.130.0.3:8080;

}

3.3 并在 http.server.location 中增加 proxy_pass 的配置;

location / {

root html;

index index.html index.htm;

proxy_pass http://myserver; #增加,其中 http://myserver 的 myserver 要和上文对应

}

经过这么几步简单的配置,我们就做好了一个反向代理服务器了,当客户端访问代理服务器 http://IP/xxx/xxx (接口地址)时,Nginx 就可以将我们的请求分别转发到 10.130.0.1、10.130.0.2、10.130.0.3 三台服务器上。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注;关注我后,可私信发送数字【1】,获取海量学习资料。

有比除了自考外更好的提升学历的方式吗?

01

统招专升本(一般全日制)

统招专升本(江苏省称之普通高校专转本,河北省称之普通高校专接本,广东省称之普通高校专插本,其余省份皆称之为普通高校专升本),教育部统称普通专升本,普高专升本,应届专升本,全日制专升本等。正式文件中表述为普通高校专升本/专转本/专插本。

普通专升本选拔考试属于省级统一招生标准选拔性考试,由各省教育厅领导,各省教育考试院统一组织管理,各设区市招考机构具体组织实施,考试选拔对象为全日制普通高校的高职高专(专科)应届毕业生。实质是大学专科阶段教育与本科阶段的专业教育的衔接,实行的是3+2模式,即:在普通专科全日制学习三年,再考入普通本科全日制学习二年的模式(临床医学为三年)。

统招专升本是指在一般高级校园专科应届毕业生中挑选优异学生升入本科进行两年制的进修学习,修完所需学分,毕业时颁布一般高级教育本科学历证书和学位证书,派发本科工作报到证。

统招专升本归于国家计划内一致招录,列入当年一般高校招生计划,享用与一般四年制本科同等待遇。学习方法为一般全日制。

02

自考专升本

自考专升本其官方名称是独立本科段,就是说由专科升本科的阶段,由于其灵活性,所以被称之为专套本、自考衔接本、自考专升本等名词。即专科升本科阶段的高等教育自学考试。

自考专升本是自考性质的本科。自考专升本由于其学习方法自在,报考时刻和专业不受约束,文凭含金量、认可率仅次于统招,所以很受欢迎。学习方法是自学。

03

成考专升本

成考专升本,成人高考组成部分,属国民教育系列,列入国家招生计划,国家承认学历,参加全国招生统一考试,各省、自治区统一组织录取。是为我国各类成人高等院校选拔合格的毕业生以进入更高层次学历教育的入学考试。

成人高级学历教育分为三个层次:专科起点升本科(简称专升本)、高中起点升本科(简称高起本)、高中起点升高职(高专)(简称高职、高专)。每年一次报考时机。每年8月报名,10月参与成人高考考试。学习方法为函授或业余。

04

网络教育专升本

网络教育也是国家一种高级教育制度,其性质大体和成人高考差不多,也是需求入学考试。但区别是校园自己出题和阅卷,并有全国性质的一致上机考试(即全国高校网络教育公共基础课一致考试),分春秋季招生。学习方法是网络教育。

专升本是网络教育学习的一个层次。专科起点的考生,在报考网络教育本科时,有必要具有国民教育系列专科及以上学历。考生在学习期限内修完教学计划规则的课程,修满学分,将由报考院校颁布相应的毕业证书,证书上标有“网络教育”字样。经过各科考试后如果满意院校条件即可请求学位证书(成人学士学位)。

05

电大专升本

俗称的电大并不是指某一所详细的校园,它是由中心播送电视大学,省级播送电视大学,地市级、县级播送电视大学分校和工作站组成的掩盖中国大陆的长途教育系统。

与其他成人高校一样,首要面向高考落榜或由于其他种种原因损失学习时机的社会人员,和需求进步学历层次的在职人员。与高级教育自学考试相似,宽进严出,学习方法有脱产(即全日制,相似一般高校)、半脱产(半工半读)、业余等多种挑选。

不同的是,自考以自学为主,电大则是经过计算机网络、卫星电视等现代传媒技能进行学习,参与国家组织的一致考试,取得专科或本科学历。

服务器被攻击后有哪些应对措施?

一般思路

系统遭受攻击并不可怕,可怕的是面对攻击束手无策,下面就详细介绍下在服务器遭受攻击后的一般处理思路。

1.切断网络

所有的攻击都来自于网络,因此,在得知系统正遭受黑客的攻击后,首先要做的就是断开服务器的网络连接,这样除了能切断攻击源之外,也能保护服务器所在网络的其他主机。

2.查找攻击源

可以通过分析系统日志或登录日志文件,查看可疑信息,同时也要查看系统都打开了哪些端口,运行哪些进程,并通过这些进程分析哪些是可疑的程序。这个过程要根据经验和综合判断能力进行追查和分析。下面的章节会详细介绍这个过程的处理思路。

3.分析入侵原因和途径

既然系统遭到入侵,那么原因是多方面的,可能是系统漏洞,也可能是程序漏洞,一定要查清楚是哪个原因导致的,并且还要查清楚遭到攻击的途径,找到攻击源,因为只有知道了遭受攻击的原因和途径,才能删除攻击源同时进行漏洞的修复。

4.备份用户数据

在服务器遭受攻击后,需要立刻备份服务器上的用户数据,同时也要查看这些数据中是否隐藏着攻击源。如果攻击源在用户数据中,一定要彻底删除,然后将用户数据备份到一个安全的地方。

5.重新安装系统

永远不要认为自己能彻底清除攻击源,因为没有人能比黑客更了解攻击程序,在服务器遭到攻击后,最安全也最简单的方法就是重新安装系统,因为大部分攻击程序都会依附在系统文件或者内核中,所以重新安装系统才能彻底清除攻击源。

6.修复程序或系统漏洞

在发现系统漏洞或者应用程序漏洞后,首先要做的就是修复系统漏洞或者更改程序bug,因为只有将程序的漏洞修复完毕才能正式在服务器上运行。

7.恢复数据和连接网络

将备份的数据重新复制到新安装的服务器上,然后开启服务,最后将服务器开启网络连接,对外提供服务。

二、检查并锁定可疑用户

当发现服务器遭受攻击后,首先要切断网络连接,但是在有些情况下,比如无法马上切断网络连接时,就必须登录系统查看是否有可疑用户,如果有可疑用户登录了系统,那么需要马上将这个用户锁定,然后中断此用户的远程连接。

1.登录系统查看可疑用户

通过root用户登录,然后执行“w”命令即可列出所有登录过系统的用户,如图1所示。

通过这个输出可以检查是否有可疑或者不熟悉的用户登录,同时还可以根据用户名以及用户登录的源地址和它们正在运行的进程来判断他们是否为非法用户。

2.锁定可疑用户

一旦发现可疑用户,就要马上将其锁定,例如上面执行“w”命令后发现nobody用户应该是个可疑用户(因为nobody默认情况下是没有登录权限的),于是首先锁定此用户,执行如下操作:

[root@server ~]# passwd -l nobody

锁定之后,有可能此用户还处于登录状态,于是还要将此用户踢下线,根据上面“w”命令的输出,即可获得此用户登录进行的pid值,操作如下:

[root@server ~]# ps -ef"grep @pts/3

531 6051 6049 0 19:23 ? 00:00:00 sshd: nobody@pts/3

[root@server ~]# kill -9 6051

这样就将可疑用户nobody从线上踢下去了。如果此用户再次试图登录它已经无法登录了。

3.通过last命令查看用户登录事件

last命令记录着所有用户登录系统的日志,可以用来查找非授权用户的登录事件,而last命令的输出结果来源于/var/log/wtmp文件,稍有经验的入侵者都会删掉/var/log/wtmp以清除自己行踪,但是还是会露出蛛丝马迹在此文件中的。

三、查看系统日志

查看系统日志是查找攻击源最好的方法,可查的系统日志有/var/log/messages、/var/log/secure等,这两个日志文件可以记录软件的运行状态以及远程用户的登录状态,还可以查看每个用户目录下的.bash_history文件,特别是/root目录下的.bash_history文件,这个文件中记录着用户执行的所有历史命令。

四、检查并关闭系统可疑进程

检查可疑进程的命令很多,例如ps、top等,但是有时候只知道进程的名称无法得知路径,此时可以通过如下命令查看:

首先通过pidof命令可以查找正在运行的进程PID,例如要查找sshd进程的PID,执行如下命令:

1 2 [root@server ~]# pidof sshd 13276 12942 4284

然后进入内存目录,查看对应PID目录下exe文件的信息:

1 2 [root@server ~]# ls -al /proc/13276/exe lrwxrwxrwx 1 root root 0 Oct 4 22:09 /proc/13276/exe -> /usr/sbin/sshd

这样就找到了进程对应的完整执行路径。如果还有查看文件的句柄,可以查看如下目录:

[root@server ~]# ls -al /proc/13276/fd

通过这种方式基本可以找到任何进程的完整执行信息,此外还有很多类似的命令可以帮助系统运维人员查找可疑进程。例如,可以通过指定端口或者tcp、udp协议找到进程PID,进而找到相关进程:

1 2 3 4 5 6 7 8 9 [root@server ~]# fuser -n tcp 111 111/tcp: 1579 [root@server ~]# fuser -n tcp 25 25/tcp: 2037 [root@server ~]# ps -ef|grep 2037 root 2037 1 0 Sep23 ? 00:00:05 /usr/libexec/postfix/master postfix 2046 2037 0 Sep23 ? 00:00:01 qmgr -l -t fifo -u postfix 9612 2037 0 20:34 ? 00:00:00 pickup -l -t fifo -u root 14927 12944 0 21:11 pts/1 00:00:00 grep 2037

在有些时候,攻击者的程序隐藏很深,例如rootkits后门程序,在这种情况下ps、top、netstat等命令也可能已经被替换,如果再通过系统自身的命令去检查可疑进程就变得毫不可信,此时,就需要借助于第三方工具来检查系统可疑程序,例如前面介绍过的chkrootkit、RKHunter等工具,通过这些工具可以很方便的发现系统被替换或篡改的程序。

五、检查文件系统的完好性

检查文件属性是否发生变化是验证文件系统完好性最简单、最直接的方法,例如可以检查被入侵服务器上/bin/ls文件的大小是否与正常系统上此文件的大小相同,以验证文件是否被替换,但是这种方法比较低级。此时可以借助于Linux下rpm这个工具来完成验证,操作如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 [root@server ~]# rpm -Va ....L... c /etc/pam.d/system-auth S.5..... c /etc/security/limits.conf S.5....T c /etc/sysctl.conf S.5....T /etc/sgml/docbook-simple.cat S.5....T c /etc/login.defs S.5..... c /etc/openldap/ldap.conf S.5....T c /etc/sudoers ..5....T c /usr/lib64/security/classpath.security ....L... c /etc/pam.d/system-auth S.5..... c /etc/security/limits.conf S.5..... c /etc/ldap.conf S.5....T c /etc/ssh/sshd_config

对于输出中每个标记的含义介绍如下:

S 表示文件长度发生了变化

M 表示文件的访问权限或文件类型发生了变化

5 表示MD5校验和发生了变化

D 表示设备节点的属性发生了变化

L 表示文件的符号链接发生了变化

U 表示文件/子目录/设备节点的owner发生了变化

G 表示文件/子目录/设备节点的group发生了变化

T 表示文件最后一次的修改时间发生了变化

如果在输出结果中有“M”标记出现,那么对应的文件可能已经遭到篡改或替换,此时可以通过卸载这个rpm包重新安装来清除受攻击的文件。

不过这个命令有个局限性,那就是只能检查通过rpm包方式安装的所有文件,对于通过非rpm包方式安装的文件就无能为力了。同时,如果rpm工具也遭到替换,就不能通过这个方法了,此时可以从正常的系统上复制一个rpm工具进行检测。

企业微社区用discuz还是phpwind?

phpwind也好discuz也罢,都是免费的,所谓的商业授权,其实没人来管的,特别是被收购之后,盈利已经不是他们的主要目的,作为两家大企业的背后社区技术支持才是重点,所以不必考虑授权问题,放心用

本文转载自互联网,如有侵权,联系删除