简单的LNMP安全加固
安全加固
Nginx安全加固:
Nginx配置文件 (nginx.conf):/usr/local/nginx/nginx.conf
禁用autoindex:
autoindex:是Nginx的目录浏览功能,如果不禁用该功能,就可以通过URL访问查看目录中的文件
为了防止文件目录的泄露我们必须要禁用autoindex
:off或者不配置
关闭服务器标记:
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
设置PermitRootLogin
为no
账户爆破锁定系统:
$ 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安全加固的更多相关文章
- 0123简单配置LNMP
简单配置LNMP不怕出现错误,就怕错误不知道出现在哪里?看日值tail -f /var/log/message -- 系统整个的日志tail -f /var/log/nginx/error.log - ...
- centos7 简单搭建lnmp环境
1:查看环境: 1 2 [root@10-4-14-168 html]# cat /etc/redhat-release CentOS release 6.5 (Final) 2:关掉防火墙 1 [r ...
- android加固系列—2.加固前先要学会破解,调试内存值修改程序走向
[版权所有,转载请注明出处.出处:http://www.cnblogs.com/joey-hua/p/5138585.html] 因公司项目需要对app加固,经过本人数月的研究,实现了一套完整的仿第三 ...
- WDCP LNMPA和LNMP 504 Gateway time-out错误的解决方法
Nginx的特点是处理静态很给力,Apache的特点是处理动态很稳定,两者结合起来便是LNMPA,nginx处理前端,apache处理后端,这样处理静态会很快,处理动态会很稳定.当我以为安装完成以后便 ...
- 网易易盾最新一代Java2c加固究竟有什么厉害之处?
导语:几个月前,网易易盾正式推出Java2c加固.它以独有的"静态保护"技术,使得应用程序中的代码出现"下沉",达到不可逆的效果,兼顾"冷热启动时间& ...
- APK加固之静态脱壳机编写入门
目录: 0x00APK加固简介与静态脱壳机的编写思路 1.大家都知道Android中的程序反编译比较简单,辛苦开发出一个APK轻易被人反编译了,所以现在就有很多APK加固的第三方平台,比如爱加密和梆梆 ...
- lnmp环境快速搭建及原理解析
刚开始学习php的时候是在wamp环境下开发的,后来才接触到 lnmp 环境当时安装lnmp是按照一大长篇文档一步步的编译安装,当时是真不知道是在做什么啊!脑袋一片空白~~,只知道按照那么长的一篇文档 ...
- centos7 安装php7+mysql5.7+nginx+redis
.1.先修改yum源 https://webtatic.com rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest- ...
- 一次Debug过程的思考
前一段时间,部门接入了新业务,由于业务量小,架构非常简单,采用了最简单的LNMP架构,整个项目是交给一个刚毕业的RD负责的,这是背景. 上线前半天,服务平稳运行.下午的时候,开始收到大量报警:No h ...
随机推荐
- abp模块生命周期设计思路剖析
abp中将生命周期事件抽象为4个接口: //预初始化 public interface IOnPreApplicationInitialization { void OnPreApplicationI ...
- JS---动画函数封装:设置任意的一个元素,移动到指定的目标位置
动画函数封装:设置任意的一个元素,移动到指定的目标位置 <!DOCTYPE html> <html lang="en"> <head> < ...
- Supermap/Cesium 开发心得----飞天动线的实现
在实际开发中,我遇到这样的问题,只给了两地点的坐标,要求会出从A地到B地的在天上飞的那种动态线 本质上动线的效果就是构造实体Entity中的polyline来实现,设置好材质,颜色和运动频率 具体实现 ...
- IntelliJ IDEA 安装、配置和使用Lombok插件
Lombok 可用来帮助开发人员消除 Java 的重复代码,尤其是对于简单的 Java 对象(POJO),比如说getter/setter/toString等方法的编写.它通过注解实现这一目的.官网: ...
- Sqlite—数据库备份与恢复
数据库备份 例如:备份 /www/wwwroot 下面的 task.db 数据库 1.进入数据库 [root@localhost ~]# sqlite3 /www/wwwroot/task.db 2. ...
- LAMP环境搭建与配置(1)
安装和配置MySQL.Apache.PHP 概念 LAMP是Linux Apache MySQL PHP 的简写,把Apache.MySQL以及PHP安装在Linux系统上,组成一个环境来运行PHP的 ...
- 《Hands-On System Programming with Go》之目录操作
开一个新书<Hands-On System Programming with Go>,系统的了解一下, 这方面的东东,以前用C语言实现过, 现在用GO,重新来!! package main ...
- IT兄弟连 HTML5教程 W3C盒子模型
日常生活中所见的盒子也就是能装东西的一种箱子,如果家里的东西很多,那么就需要按类别装到不同的箱子中.网页中的内容表现也是一样的,如果页面内容比较多,又想让页面更整洁.更美观.有很好的用户体验,则也需要 ...
- mysql存储4字节的表情包数据报异常_Emoji表情包_Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F
本文章转载自:https://www.cnblogs.com/coprince/p/7485968.html 原文如下: 问题描述:从新浪微博抓取消息保存到MySQL数据中,对应数据库字段为varch ...
- C# -- 使用ODBC连接数据库
C# -- 使用ODBC连接数据库 public class ODBCHelper { public static string conString1 = "Dsn=sqlServerDsn ...