安全加固

Nginx安全加固:

Nginx配置文件 (nginx.conf):/usr/local/nginx/nginx.conf

禁用autoindex:

autoindex:是Nginx的目录浏览功能,如果不禁用该功能,就可以通过URL访问查看目录中的文件

为了防止文件目录的泄露我们必须要禁用autoindexoff或者不配置

关闭服务器标记:

Nginx默认每个返回的页面携带版本信息,我们需要设置server_tokens off;关闭服务器标记(隐藏版本信息)

自定义缓存:

限制缓冲区溢出攻击,配置http_server{}如下:文章推荐

client_body_buffer_size 20k; //设置用于请求主体的缓冲区大小
client_header_buffer_size 1k; // 请求头分配一个缓冲区大小
client_max_body_size 1m; //设置NGINX能处理的最大请求主体大小
large_client_header_buffers 4 8k; //读取大型客户端请求头的缓冲区的最大数量和大小
# client_body_temp_path [temp]指定存储请求正文的临时文件的位置
# client_body_in_single_buffer [off/on]指令设置NGINX将完整的请求主体存储在单个缓冲区中
# client_body_in_file_only [off/clean/on] 禁用NGINX缓冲区并将请求体存储在临时文件中

设置(超时)timeout:

http{}设置:配置介绍

client_body_timeout 10;//指定客户端与服务端建立连接后发送 body 的超时时间
client_header_timeout 30;//指定客户端与服务端建立连接后发送 header 的超时时间
keepalive_timeout 60;//无状态协议,发送tcp请求,服务器响应[time]后断开连接
send_timeout 30; //服务端向客户端传输数据的超时时间。

配置日志:

系统有默认的格式日志,但是被注释了,取消注释就可以了

限制请求访问:

限制只允许GET|HEAD|POST等HTTP请求方法~~~

黑名单IP:

server{}配置选项中:

location /{
allow 192.168.2.0/24; //允许的IP
deny 192.168.1.0/24; //拒绝的IP
deny all; //拒绝其它IP
}

在Nginx配置文件中进行许多安全加固:

  • 屏蔽了目录和服务器标记

  • 定义了超时和缓存定义

  • 对访问机制进行了限制

CentOS安全加固:

检查预留账号:

$ cat /etc/passwd
$ cat /etc/shadow
$ cat /etc/group

系统中保留一些账号,(bin,sys,adm……)

为了安全起见,生产环境下的系统都会将这些没有用的 账户锁定

锁定账号:

$ passwd -l <username>	//锁定账号
$ passwd -u <username> //解锁账号

检查空口令:

$ awk -F ":" '($2=="!"){print $1}' /etc/shadow

如果发现空口令账号可以添加密码:

$ passwd <username>

密码策略:

$ cat /etc/login.defs  // 查看密码策略设置

PASS_MAX_DAYS		用户密码的使用天数
PASS_MIN_DAYS 最小时间间隔修改密码
PASS_MIN_LEN 密码最小长度
PASS_WARN_AGE 密码过期前N天提示

检查其它超级用户:

正所谓军队只能有一个最高领导人~Linux系统管理也是如此,只得有一个超级用户root,

$ awk -F ":" '($3=="0"){print $1}' /etc/passwd    # 检查用户ID为0的用户

限制能够su为root的用户:

$ cat /etc/pam.d/su

加固:

添加:auth required /lib/security/pam_wheel.so group=wheel

限制只有 wheel 组的用户可以su到root

文件操作属性:

将重要的文件添加不可改属性chattr +i <File_name>

SSH安全:

禁止root用户进行ssh登录~

$ vi /etc/ssh/sshd_config

设置PermitRootLoginno

账户爆破锁定系统:

$ vi etc/pam.d/system-auth

设置密码错误N次,锁定time秒

auth required pam_tally.so oneer=filad deny-<N> unlock_time=<time>

无操作退出登录:

$ vi /etc/profile TMOUT=<time>

time秒无效操作后自动退出登录

命令记录安全:

$ vi /etc/profiel

修改HISTSIZE=<N>属性值,限制历史记录N条命令记录

系统日志策略配置:

$ ps -aef | grep syslog //查看syslog服务是否开启
$ cat /etc/rsyslog.conf //查看syslogd配置 /var/log/cron //crom日志
/var/log/messages // 系统日志
/var/log/secure // 安全日志

简单的LNMP安全加固的更多相关文章

  1. 0123简单配置LNMP

    简单配置LNMP不怕出现错误,就怕错误不知道出现在哪里?看日值tail -f /var/log/message -- 系统整个的日志tail -f /var/log/nginx/error.log - ...

  2. centos7 简单搭建lnmp环境

    1:查看环境: 1 2 [root@10-4-14-168 html]# cat /etc/redhat-release CentOS release 6.5 (Final) 2:关掉防火墙 1 [r ...

  3. android加固系列—2.加固前先要学会破解,调试内存值修改程序走向

    [版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5138585.html] 因公司项目需要对app加固,经过本人数月的研究,实现了一套完整的仿第三 ...

  4. WDCP LNMPA和LNMP 504 Gateway time-out错误的解决方法

    Nginx的特点是处理静态很给力,Apache的特点是处理动态很稳定,两者结合起来便是LNMPA,nginx处理前端,apache处理后端,这样处理静态会很快,处理动态会很稳定.当我以为安装完成以后便 ...

  5. 网易易盾最新一代Java2c加固究竟有什么厉害之处?

    导语:几个月前,网易易盾正式推出Java2c加固.它以独有的"静态保护"技术,使得应用程序中的代码出现"下沉",达到不可逆的效果,兼顾"冷热启动时间& ...

  6. APK加固之静态脱壳机编写入门

    目录: 0x00APK加固简介与静态脱壳机的编写思路 1.大家都知道Android中的程序反编译比较简单,辛苦开发出一个APK轻易被人反编译了,所以现在就有很多APK加固的第三方平台,比如爱加密和梆梆 ...

  7. lnmp环境快速搭建及原理解析

    刚开始学习php的时候是在wamp环境下开发的,后来才接触到 lnmp 环境当时安装lnmp是按照一大长篇文档一步步的编译安装,当时是真不知道是在做什么啊!脑袋一片空白~~,只知道按照那么长的一篇文档 ...

  8. centos7 安装php7+mysql5.7+nginx+redis

    .1.先修改yum源  https://webtatic.com rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest- ...

  9. 一次Debug过程的思考

    前一段时间,部门接入了新业务,由于业务量小,架构非常简单,采用了最简单的LNMP架构,整个项目是交给一个刚毕业的RD负责的,这是背景. 上线前半天,服务平稳运行.下午的时候,开始收到大量报警:No h ...

随机推荐

  1. C#中使用Path、Directory、Split、Substring实现对文件路径和文件名的常用操作实例

    场景 现在有一个文件路径 E:\\BTSData\\2019-11\\admin_20180918_1_1_2 需要获取最后的文件名admin_20180918_1_1_2 需要获取文件的上层目录20 ...

  2. dotnetcore执行shell脚本

    我们可以使有dotnetcore跨平台的特性,优雅的实现在dotnetcore执行shell (bash).  代码如下: using System; using System.Collections ...

  3. UE4入门学习笔记开篇

    做了3年的Unity, 现在开始转入到做UE4,一来就进入一个超大项目组中学习,度过了最初2个月的生涩和紧张后,现在准备开始慢慢总结,慢慢学习,逐步深入理解和研究UE. 做了3年的游戏开发后,个人感悟 ...

  4. SecureCRT远程连接The remote system refused the connection问题

    今天用SecureCRT远程连接Linux(Centos 7)时,连不上,报错The remote system refused the connection.于是就百度,首先查看sshd服务有没有启 ...

  5. STM32F407外部晶体改为25M后检测不到芯片的解决办法

    问题描述 分享一个之前遇到的STM32F4晶体频率问题,导致单片机死机的解决办法.使用一款新的F4开发板,直接使用的正点原子STM32F407工程模板代码,管脚配置正确,下载到外部晶体为25MHz的开 ...

  6. 计算机组成原理——I/O接口以及I/O设备数据传送控制方式

    接口可以看作是两个部件之间交接的部分.硬件与硬件之间有接口,硬件与软件之间有接口,软件与软件之间也有接口. 这里我们所说的I/O接口,一边连接着主机,一边连接着外设. I/O接口的功能 I/O接口的基 ...

  7. 利用 uDig 生成 GeoServer 可用的 SLD 渲染文件

    利用 uDig 生成 GeoServer 可用的 SLD 渲染文件 uDig简介 uDig是一个 open source (EPL and BSD) 桌面应用程序框架,构建在Eclipse RCP和G ...

  8. 50-overlay 如何实现跨主机通信?

    上一节我们在 host1 中运行了容器 bbox1,今天将详细讨论 overlay 网络跨主机通信的原理. 在 host2 中运行容器 bbox2: bbox2 IP 为 10.0.0.3,可以直接 ...

  9. Vm虚拟机最小化安装linux并配置NAT网络连接(全图)

  10. 利用Haproxy搭建 HTTP 请求走私(Request smuggling)环境

    Haproxy 介绍 HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. 请求走私(Request smuggling)概念证 ...