您的位置:首页 > 运维架构 > Tomcat

服务安全_nginx 数据库 tomcat

2020-01-13 13:23 127 查看

一 Nginx安全

1 删除不需要的模块

禁用自动索引功能
./configure --without-http_autoindex_module --without-http_ssi_module
make && make install
保持最小化安装永远是对的,以后再根据需要开启模块
vim /usr/local/nginx/conf/nginx.conf

server {
autoindex on;
}mymy

2 修改版本信息

修改版本信息(修改源码)
vim +48 src/http/ngx_http_header_filter_module.c

蓝色字体为自定义内容
修改完成后重新编译安装即可

3 限制并发

ngx_http_limit_req_module 为默认模块
该模块可以降低DDos攻击风险

vim /usr/local/nginx/conf/nginx.conf

http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
listen       80;
server_name  localhost;
limit_req zone=one burst=5;
}
}

以上功能解释:my

  1. 将客户端ip信息存储名称为one的共享内存,空间为10M
  2. 1M可以存储8千个ip的信息,10M存8万个主机状态
  3. 每秒中仅接收1个请求,多余的放入漏斗
  4. 漏斗超过5个则报错
  5. 所以该服务器处理高并发请求时,只会处理相同ip的1+5次请求

4 拒绝非法请求

常见http请求方法

请求方法 功能描述
GET 请求指定的页面内容,并返回实体主体
HEAD 类似get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)
DELETE 请求服务器删除指定的页面
PUT 向服务器特定位置上传资料

禁用其他方法,仅允许(GET|POST)
vim /usr/local/nginx/conf/nginx.conf

listen       80;
if ($request_method !~ ^(GET|POST)$){
return 444;
}

5 防止buffer溢出

防止客户端请求数据溢出
有效降低机器Dos攻击风险
vim /usr/local/nginx/conf/nginx.conf

http {
client_body_buffer_size 1k;
client_header_buffer_size 1k;
client_max_body_size 16k;
large_client_header_buffers 4 4k;
}

二 数据库安全

1 初始化安全脚本

安全隐患:mariadb 初次安装使用,可以随意进入,并拥有完全权限
可以执行初始化安全脚本mysql_secure_installation

2 密码安全

2.1 修改mysql密码

2.1.1命令行修改
mysqladmin -uroot -p旧密码 password ‘新密码’
2.1.2mysql数据库中修改
mysql -uroot -p密码
set passwd for root@‘localhost’=password(‘新密码’);
2.1.3
update mysql.user set password=password(‘新密码’) where user=‘root’ and host=‘localhost’;

2.2 删除修改密码的历史记录

.bash_history
.mysql_history

2.3 数据备份与还原

mysqldump binlog innobackup 主从
备份
mysqldump -uroot -p密码 --all-databases > all.sql
还原
mysql -uroot -p密码 < all.sql

2.4 数据安全

2.4.1 创建远程登录账号
mysql -uroot -p密码
grant all on * . * to 用户名@’%’ identified by ‘密码’;

2.4.2 使用tcpdump抓包
tcpdump -i eth1 -A port 3306

2.4.3 客户端远程登录,查看抓包数据
mysql -u用户名 -p密码 -hip地址
select * from mysql.user;

2.4.4 解决方法:使用ssl或ssh加密数据传输

三 Tomcat安全

1 隐藏版本信息

yum -y install java-1.8.0-openjdk-devel
cd /usr/local/tomcat/lib/
jar -xf catalina.jar
vim org/apache/catalina/util/ServerInfo.properties

修改tomcat主配置文件,进行版本信息的隐藏
vim +69 /usr/local/tomcat/conf/server.xml

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" server="IIS" />

2 降权启动

2.1 使用非root启动tomcat服务

useradd tomcat
chown -R tomcat:tomcat /usr/local/tomcat/
su -c /usr/local/tomcat/bin/startup.sh tomcat

2.2 开机启动

chmod +x /etc/rc.local
vim /etc/rc.local
su -c /usr/local/tomcat/bin/startup.sh tomcat

2.3 删除默认的测试页面
  • 点赞
  • 收藏
  • 分享
  • 文章举报
你的男孩TT 发布了38 篇原创文章 · 获赞 8 · 访问量 1000 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐