1.ngx_http_stub_status_module 是贰个Nginx 的内置 HTTP 模块,该模块可以提供 Nginx
的情况音信。私下认可意况下这一个模块是不被编写翻译进来的,所以在编写翻译 Nginx
时要内定加载该模块--with-http_stub_status_module

ngix_http_stub_status_module,httpstubstatus

1.ngx_http_stub_status_module 是三个 Nginx 的内置 HTTP
模块,该模块能够提供 Nginx
的景观消息。私下认可情状下这么些模块是不被编译进来的,所以在编写翻译 Nginx
时要钦命加载该模块--with-http_stub_status_module

`2.首先检查nginx是否安装ngx_http_stub_status_module模块“`

`假若没有安装,必要再度编译。“`

# nginx  -V | grep http_stub

ngx_http_stub_status_module (static)

# nginx   -v

Tengine version: Tengine/2.1.1 (nginx/1.6.2)

 

3,首先在``nginx``的``server``段配置对应的信息

server {

listen  80;

server_name  xxx;

location /ngx_status   自定义模块名称

{

stub_status on; 开启状态访问

access_log off;

`    #allow all;   “可以安装要求那多少个主机访问“`

#deny all;

}

}

4,重新加载``nginx,``访问测试

# service nginx reload

 

curl 127.0.0.1:80/ngx_status

Active connections: 135

server accepts handled requests request_time

13711907 25715823 5175039843

Reading: 0 Writing: 12 Waiting: 123

PHP中的一些安然无恙铺排。`说明:“`

`Active connections: 135  #//“正在活跃的连接数“`

server accepts handled requests

13711907 25715823 5175039843`#处理了13711907次连接,创建25715823次握手,共5175039843“请求。“`

Reading: 0 Writing: 1 Waiting: 1          ``# Reading:``读取客户端``header``数,``Writing:``返回客户端``header``数,``Waiting:``请求完成,等待下一次连接。

 

1.ngx_http_stub_status_module 是1个 Nginx 的嵌入 HTTP
模块,该模块能够提供 Nginx 的情状新闻。私下认可情形下那一个…

1.ngx_http_stub_status_module 是三个Nginx 的内置 HTTP 模块,该模块能够提供 Nginx
的情形新闻。暗中同意情形下那些模块是不被编写翻译进来的,所以在编写翻译 Nginx
时要钦点加载该模块--with-http_stub_status_module

PHP中的配置至关心珍视要,包括php.ini的布局,还有系统权限的布局,一下是自己计算的部分布署

`2.第1检查nginx是不是安装ngx_http_stub_status_module模块“`

`2.率先检查nginx是或不是安装ngx_http_stub_status_module模块“`

一、PHP的模块

./configure    \
--with-libdir=lib64     \
--prefix=/usr/   \
--exec-prefix=/usr    \
--bindir=/usr/bin    \
--sbindir=/usr/sbin    \
--sysconfdir=/etc    \
--datadir=/usr/share    \
--includedir=/usr/include    \
--libexecdir=/usr/libexec    \
--localstatedir=/var    \
--sharedstatedir=/usr/com    \
--mandir=/usr/share/man    \
--infodir=/usr/share/info    \
--cache-file=../config.cache    \
--with-config-file-path=/etc    \
--with-config-file-scan-dir=/etc/php.d     \
--with-mysql=/usr/local/mysql   \
--with-mysqli=/usr/local/mysql/bin/mysql_config   \
--with-iconv-dir   \
--with-freetype-dir=/usr/local/lib   \
--with-jpeg-dir=/usr/local/lib   \
--with-png-dir=/usr/local/lib   \
--with-zlib   \
--with-libxml-dir=/usr   \
--enable-xml   \
--disable-rpath   \
--enable-bcmath   \
--enable-shmop   \
--enable-sysvsem   \
--enable-inline-optimization   \
--with-curl   \
--enable-mbregex   \
--enable-fpm   \
--enable-mbstring   \
--with-mcrypt=/usr/local/lib   \
--with-gd   \
--enable-gd-native-ttf   \
--with-openssl   \
--with-mhash   \
--enable-pcntl   \
--enable-sockets   \
--with-xmlrpc   \
--enable-zip   \
--enable-soap   \
--enable-opcache   \
--with-pdo-mysql   \
--enable-embed=shared   \
--enable-debug   \
--enable-dtrace 

 上边是一对相比较常用的陈设选项

[root@localhost]# php -m
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
ereg
fetch_url
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
memcached
mhash
mongo
mysql
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvsem
tokenizer
trace
vld
xhprof
xml
xmlreader
xmlrpc
xmlwriter
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

 大家得以因此php -m 来查看,

① 、有个别不供给的模块,在大家编写翻译的时候就不用启用了

贰 、有个别私下认可启用的模块,在我们编译的时候要禁止使用

`假使没有安装,必要再行编写翻译。“`

`要是没有设置,要求重新编写翻译。“`

贰 、防止PHP版本泄漏

能够由此expose_php来关闭

[root@localhost ~]# curl -I  192.168.1.30
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 15 Jul 2015 19:16:10 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.5.23
[root@localhost ~]# vim /etc/php.ini
expose_php = Off

服务器的版本信息也更改,在编译nginx之前可以将nginx修改为apapche

# nginx  -V | grep http_stub

# nginx  -V | grep http_stub

三、记录PHP和Nginx的日志

display_errors = Off
display_startup_errors = On
log_errors = On
error_reporting = 0
error_log = /var/log/php_errors.log

别的还要记录apache或然Nginx的访问日志,那几个要在web server中布局

ngx_http_stub_status_module (static)

ngx_http_stub_status_module (static)

四 、限制文件上传

web程序最不安全的就在这些地方了,用户能够上传文件,比如图片、脚本,然后再通过此外艺术,对网站做一些破坏性的干活,所以上传的时候,要严苛检查文件的格式

file_uploads = On
upload_tmp_dir =/data/www/tmp
upload_max_filesize = 2M
max_file_uploads = 20

# nginx   -v

# nginx   -v

 ⑤ 、关闭远程财富的造访

假定那特性子被运转,将会禁止使用file_get_contents()、include、require中获取诸如FTP或网页内容那么些远程数据

 allow_url_fopen=Off

Tengine version: Tengine/2.1.1 (nginx/1.6.2)

Tengine version: Tengine/2.1.1 (nginx/1.6.2)

 六、POST的限制

post_max_size=2m

 

 

 七、dos控制

最大实施时间、用于拍卖请求数据的最大时间、以及最大可用内部存储器数、幸免hash构造

max_execution_time = 30
max_input_time = 30
memory_limit = 40M
max_input_vars = 1000

3,首先在``nginx``的``server``段配置对应的信息

3,首先在``nginx``的``server``段配置对应的信息

 ⑧ 、权限以及安全格局的配备

[root@localhost ~]# vim /etc/php.ini
disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
open_basedir=/var/www/html/
safe_mode_exec_dir = /usr/local/bin/

#确认以Apache或www这种非root用户运行Apache。/var/www/html目录下的owner也应是非root用户:
[root@localhost ~]# chown -R apache:apache /var/www/html/

#DocumentRoot下的文件应禁止运行或创建。设置该目录下的文件权限为0444(只读):
[root@localhost ~]# chmod -R 0444 /var/www/html/

#设置该目录下的所有文件夹权限为0445
[root@localhost ~]# find /var/www/html/ -type d -print0 | xargs -0 -I {} chmod 0445 {}

#配置文件加上写保护
[root@localhost ~]# chattr +i /etc/php.ini /etc/php.d/* /etc/my.ini /etc/httpd/conf/httpd.conf

server {

server {

 玖 、使用防火墙限制传出连接

攻击者会使用wget之类的工具从您的Web服务器下载文件。使用iptables来阻挡Apache用户的不胫而走连接。ipt_owner模块会为本地数据包的生成者分配不一致角色。它只对OUTPUT
chain有效。上面发号施令允许vivek用户通过80端口进行表面访问

/sbin/iptables -A OUTPUT -o eth0 -m owner --uid-owner vivek -p tcp --dport 80 -m state --state NEW,ESTABLISHED  -j ACCEPT

/sbin/iptables --new-chain apache_user
/sbin/iptables --append OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables --append OUTPUT -m owner --uid-owner apache -j apache_user

# allow apache user to connec to our smtp server 
/sbin/iptables --append apache_user -p tcp --syn -d 192.168.1.100 --dport 25 -j RETURN

# Allow apache user to connec to api server for spam validation
/sbin/iptables --append apache_user -p tcp --syn -d  66.135.58.62 --dport 80 -j RETURN
/sbin/iptables --append apache_user -p tcp --syn -d  66.135.58.61 --dport 80 -j RETURN
/sbin/iptables --append apache_user -p tcp --syn -d  72.233.69.89 --dport 80 -j RETURN
/sbin/iptables --append apache_user -p tcp --syn -d  72.233.69.88 --dport 80 -j RETURN

#########################

## Add more rules here ##

#########################

# No editing below

# Drop everything for apache outgoing connection
/sbin/iptables --append apache_user -j REJECT

listen  80;

listen  80;

十、Auditing log

apache/nginx log

[root@localhost ~]# tail -f /var/log/httpd/error_log
[root@localhost ~]# grep 'login.php' /var/log/httpd/error_log
[root@localhost ~]# egrep -i "denied|error|warn" /var/log/httpd/error_log

php log

[root@localhost ~]# tail -f /var/log/httpd/php_scripts_error.log
[root@localhost ~]# grep "...etc/passwd" /var/log/httpd/php_scripts_error.log

php backdoors

[root@localhost ~]# grep -iR 'c99' /var/www/html/
[root@localhost ~]# grep -iR 'r57' /var/www/html/
[root@localhost ~]# find /var/www/html/ -name \*.php -type f -print0 | xargs -0 grep c99
[root@localhost ~]# grep -RPn "(passthru|shell_exec|system|base64_decode|fopen|fclose|eval)" /var/www/html/

 

server_name  xxx;

server_name  xxx;

其余的有些安全配置

location /ngx_status   自定义模块名称

location /ngx_status   自定义模块名称

1、安装Mod_security

ModSecurity是1个开源的骚扰检查和测试和防备的Web应用引擎。安装mod_security能够爱戴Apache和PHP应用免受XSS和其余攻击

{

{

2、安装防DDOS模块mod_evasive

能够界定在一定时间内的走访频率

 

英文最初的作品

stub_status on; 开启状态访问

stub_status on; 开启状态访问

access_log off;

access_log off;

`    #allow all;   “能够设置需求这一个主机访问“`

`    #allow all;   “能够设置须求那一个主机访问“`

#deny all;

#deny all;

}

}

}

}

4,重新加载``nginx,``访问测试

4,重新加载``nginx,``访问测试

# service nginx reload

# service nginx reload

 

 

curl 127.0.0.1:80/ngx_status

curl 127.0.0.1:80/ngx_status

Active connections: 135

Active connections: 135

server accepts handled requests request_time

server accepts handled requests request_time

13711907 25715823 5175039843

13711907 25715823 5175039843

Reading: 0 Writing: 12 Waiting: 123

Reading: 0 Writing: 12 Waiting: 123

`说明:“`

`说明:“`

`Active connections: 135  #//“正在活跃的连接数澳门金沙国际,“`

`Active connections: 135  #//“正在活跃的连接数“`

server accepts handled requests

server accepts handled requests

13711907 25715823 5175039843`#处理了13711907次连接,创建25715823次握手,共5175039843“请求。“`

13711907 25715823 5175039843`#处理了13711907次连接,创建25715823次握手,共5175039843“请求。“`

Reading: 0 Writing: 1 Waiting: 1          ``# Reading:``读取客户端``header``数,``Writing:``返回客户端``header``数,``Waiting:``请求完成,等待下一次连接。

Reading: 0 Writing: 1 Waiting: 1          ``# Reading:``读取客户端``header``数,``Writing:``返回客户端``header``数,``Waiting:``请求完成,等待下一次连接。

 
 

相关文章