centos及apache 安全加固

安全加固

Centos 7 安全加固
SSH 加密

yum -y install expect
mkpasswd

服务器上所有账号的密码都要采用毫无关联的强密码,密码为不少于16位的大小写字母数字特殊符号的组合。

修改SSH配置文件

  1. 改默认端口 22 -> 78787
  2. 禁止root帐号登录
  3. 指定允许登录帐号

SHH root
PermitRootLogin no
AllowUsers ccav

启用强制密码长度策略

vim /etc/login.defs
.....
PASS_MIN_LEN 13

检查是否存在除root之外UID为0的用户

awk -F: ‘($3 == 0) { print $1 }‘ /etc/passwd

检测登陆系统是否需要密码

awk -F: ‘($2 == ""){print $1}‘ /etc/passwd

帐户口令复杂度及定期更换

[[email protected]]# passwd xxxxxx

禁用NAT

echo 0 > /proc/sys/net/ipv4/ip_forward

Bash日志
设置环境变量为只读:

readonly HISTFILE
readonly HISTFILESIZE
readonly HISTSIZE
readonly HISTCMD
readonly HISTCONTROL
readonly HISTIGNORE

为history文件添加时间

export HISTTIMEFORMAT=‘%F %T’

设置history文件只能追加:

chatter +a ~/.bash_history

Apache

服务器Banner信息隐藏
复制代码

apache 配置文件
vim /etc/httpd/conf/httpd.conf
...
ServerTokens Prod
ServerSignature Off

PHP 配置文件
vim /etc/php.ini

...
expose_php = Off

复制代码

防止列目录泄露敏感信息

Options Indexes FollowSymLinks

改为

Options FollowSymLinks

指定目录禁止php解析

<Directory "/var/www/html/uploads">
php_flag engine off
</Directory>

限制管理员后台特定IP访问

<Directory "/var/www/html/admin">
Order Deny,Allow
Deny from all
Allow from 192.168.1.111
</Directory>

关闭对.htaccess的支持

AllowOverride None

禁止显示版本

server_tokens off;

或者通过源码编译的时候修改

vim /src/core/nginx.h
...
#define NGINX_VERSION "1.9.15"
#define NGINX_VER "nginx/" NGINX_VERSION

禁止上传目录禁止php文件
解析目录不可写,可写目录不解析
单个目录

location ~ /upload/.*.(php|php5)?$ {
deny all;
}

多个目录

location ~ ^/(administrator|upload)/..(php)$ {
deny all;
}

禁止访问所有目录下的敏感文件

location ~. *.(sql|log|txt|rar|zip|sh|py|svn|git) {
deny all;
}

禁用不必要的HTTP方法

if ($request_method !~ ^(GET|HEAD|POST)$)
{
return 405;
}

Nginx、php-fpm运行帐号及组为nobody

Lua + nginx

原文地址:https://blog.51cto.com/865516915/2424678

时间: 2024-11-01 13:15:30

centos及apache 安全加固的相关文章

CentOS下Apache安装SSL

CentOS下Apache安装SSL https是一个安全的访问方式,数据在传输过程中是加密的.https基于ssl. 一.安装apache和ssl模块1.安装apacheyum install httpd2.安装ssl模块yum install mod_ssl重启apache:service httpd restart安装完mod_ssl会创建一个默认的SSL证书,路径位于/etc/pki/tls ,此时可以立即通过https访问服务器了:https://IP/如果不使用默认的证书,也可以使用

CentOS下apache绑定域名

本文主要介绍在CentOS下apache绑定域名以及apache绑定多个域名,首先要找到apache的配置文件httpd.conf的位置.CentOS操作系统一般在 /etc/httpd/conf 下,有的Linux操作系统版本是在 /etc/Apache2/conf  或 /usr/local/etc/apache  文件夹里面,剩下需要做的是修改配置文件httpd.conf,一般配置文件最下面有如下绑定域名说明: # VirtualHost example:  # Almost any Ap

centos 下 apache 重启启动命令

apache 启动 usr/local/apache243/bin/apachectl start apache 重启 usr/local/apache243/bin/apachectl restart apache 关闭 usr/local/apache243/bin/apachectl restart apache 开机启动设置:每种服务器软件都有必要制成开机时自动启动,Apache服务器开机自动启动,只要在“/etc/rc.d/rc.local”文件,加上 Apache服务器的启动命令即可

centos 开启apache rewrite模式

mod_rewrite能使网页伪静态,对于搜索引擎友好,下面就是开启这个功能的说明!启用mod_rewrite模块在conf目录的httpd.conf文件中找到 LoadModule rewrite_module modules/mod_rewrite.so 将这一行前面的#去掉.2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride All Options Indexes FollowSymLinks AllowOverride

centos下 apache+mysql+php的安装

一.安装 MySQL 首先来进行 MySQL 的安装.打开超级终端,输入: [[email protected] ~]# yum install mysql mysql-server 安装完毕,让 MySQL 能够随系统自动启动: [[email protected] ~]# chkconfig --levels 235 mysqld on [[email protected] ~]# /etc/init.d/mysqld start 设置 MySQL 数据 root 账户的密码: [[emai

centos下 Apache、php、mysql默认安装路径

centos下 Apache.php.mysql默认安装路径 http://blog.sina.com.cn/s/blog_4b8481f70100ujtp.html apache: 如果采用RPM包安装,安装路径应在 /etc/httpd目录下 apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/apachectl web目录:/var/www/html 如果采用源代码安装,一般默认安装在/usr/local/apache2目录

Centos基于Apache的Tomcat负载均衡和集群

Centos基于Apache的Tomcat负载均衡和集群 一.背景原理1.tomcat 做个WEB服务器有它的局限性,处理能力低,效率低.承受并发小(1000左右).但目前有不少网站或者页面是JSP的.并采用了tomcat做为WEB,因此只能在此基础上调优.2.目前采取的办法是Apache + Mod_JK + tomcat 来解决一部分请求,用户访问的是apache,但有jsp页面的时候才会去请求tomcat.如果量一大,那么tomcat无法承受,那么只能做tomat集群,Apache + M

我的Apache安全加固

以下配置为我正式环境使用的.之前用Apache比较多:现在基本不用了.现分享吧. 1.针对 Spider的  <Location />  #SetEnvIfNoCase User-Agent "spider" bad_bot  BrowserMatchNoCase bingbot bad_bot  BrowserMatchNoCase Googlebot bad_bot       BrowserMatchNoCase 360Spider bad_bot   Browser

CentOS安装Apache的FastCGI模块(mod_fastcgi)

网上有很多篇关于Apache的fastcgi模块安装说明的文章,大部分都是基于Apache源码编译的,如果是通过yum install方式安装httpd的话,直接依葫芦画瓢必然会遇到各种各样的编译问题,通过查阅老外写的一些关于CentOS下Apache的FastCGI模块(mod_fastcgi)的安装文档,我大致重新整理了一下. 1. 安装编译相关的依赖包 # yum install httpd-devel apr apr-devel libtool 2. 下载mod_fastcgi源代码 #