linux系统优化

修改系统日志记录周期

vim /etc/logrotate.conf


重启后生效

systemctl restart rsyslog

内存历史登录命令限制

vim  /etc/profile


让配置生效:

source  /etc/profile

密码保护措施优化

vim /etc/login.defs

用户在新建文件或目录的权限

vim /etc/login.defs

限制登录ip

限制登录可分别从服务端,系统端、防火墙端来完成只允许固定ip进行登录。

服务端限制

vim /etc/ssh/sshd_config
修改ssh端口
# Port 22
Port 2201

允许跳板机ip
AllowUsers VVise@122.193.30.*
AllowUsers root@122.193.30.*
AllowUsers root@192.168.0.*
AllowUsers VVise@192.168.0.*


配置完成后

systemctl restart sshd

系统端限制

编辑hosts.deny
vim  /etc/host.deny

添加一下内容

sshd : ALL
编辑hosts.allow
vim   /etc/hosts.allow

添加下面的内容

sshd : 192.168.0.*

这两个文件优先级为先检查hosts.deny,再检查hosts.allow,(值得一说的是centos 8 已经取消了这两个文件)
重启

systemctl restart sshd

从防火墙限制

先删除自带的相关规则
rm  -rf   /usr/lib/firewalld/services/ssh.xml

或者直接输入命令

firewall-cmd --zone=public --remove-port=2201/tcp --permanent

上述目的是先干掉2201端口,然后重启

firewall-cmd --reload
添加防火墙规则
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 port protocol=tcp port=2201 accept'
#(限制某一个IP访问使用此条规则:firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.3.101/32 port protocol=tcp port=2201 accept')

上述命令的目的是允许服务器通过一个网段或者一个ip来访问。

重启
firewall-cmd –reload

验证
firewall-cmd --list-all
firewall-cmd --list-ports


数据库远程登录权限修改

原本权限

回收权限

revoke ALL PRIVILEGES ON *.*  from 'wlhy_bz'@'%';
revoke GRANT OPTION ON *.* from 'wlhy_bz'@'%';

放开权限

grant all privileges on *.* to 'wlhy_bz'@'localhost' identified by 'xxx' with grant option;

修改权限后:

mysql 加密传输

首先需要查看mysql是否支持ssl服务,如果不支持,则开启即可。

查看mysql是否支持ssl服务

show variables like '%ssl%';


很明显小猿的这台电脑是支持的。

生成证书

在 MySQL 5.7 中, 提供了一个名为 mysql_ssl_rsa_setup 的工具, 通过它, 我们可以很方便地创建 SSL 连接所需要的各种证书与文件。
此命令可以参考mysql的mysql_ssl_rsa_setup 命令说明。

mysql_ssl_rsa_setup简介

This program creates the SSL certificate and key files and RSA key-pair files required to support secure connections using SSL and secure password exchange using RSA over unencrypted connections, if those files are missing. mysql_ssl_rsa_setup can also be used to create new SSL files if the existing ones have expired.
具体细节小猿再不做过多解释:
值得注意的是执行mysql_ssl_rsa_setup命令之前,必须确保 OpenSSL的安装。
基本命令参数如下所示:

–help, ?

Display a help message and exit.

–datadir=dir_name

The path to the directory that mysql_ssl_rsa_setup should check for default SSL and RSA files and in which it should create files if they are missing. The default is the compiled-in data directory.

–suffix=str

The suffix for the Common Name attribute in X.509 certificates. The suffix value is limited to 17 characters. The default is based on the MySQL version number.

–uid=name, -v

The name of the user who should be the owner of any created files. The value is a user name, not a numeric user ID. In the absence of this option, files created by mysql_ssl_rsa_setup are owned by the user who executes it. This option is valid only if you execute the program as root on a system that supports the chown() system call.

–verbose, -v

Verbose mode. Produce more output about what the program does. For example, the program shows the openssl commands it runs, and produces output to indicate whether it skips SSL or RSA file creation because some default file already exists.

–version, -V

Display version information and exit.

如果已经有残留证书,小猿建议先删除,再次执行下面的命令,如果没有则可直接执行

./mysql_ssl_rsa_setup --datadir=/data/mysql_data1/ --uid=mysql  --verbose

一般情况下客户端和服务端都需要配置证书

配置客户端证书

ssl-ca=/mnt/sdc/data/mysql/data/s1/ca.pem
ssl-cert=/mnt/sdc/data/mysql/data/s1/client-cert.pem
ssl-key=/mnt/sdc/data/mysql/data/s1/client-key.pem

配置服务端证书

#set secure  ssl  transmition protocal
#set secure  ssl  transmition protocal
ssl-ca=/mnt/sdc/data/mysql/data/s1/ca.pem
ssl-cert=/mnt/sdc/data/mysql/data/s1/server-cert.pem
ssl-key=/mnt/sdc/data/mysql/data/s1/server-key.pem

重启mysql

service mysql restart

建立测试账户并授权

grant all privileges on *.* to 'xueshanfeitian'@'%' identified by 'xueshanfeitian' REQUIRE SSL;

只允许用ssl登录的方式

当不选择ssl时,远程连接会报错

当勾选ssl协议后就不会报错

用上述开启ssl加密的方式,保障应用程序和sql程序的通讯安全。
至此所有关于系统安全优化的注意要点就到此为止了,以后遇到更深层次的问题,小猿会再次做探讨。

项目系统安全优化一(linux,mysql)相关推荐

  1. linux系统反应优化,细说Linux系统优化-实践篇【转载】

    作为一名linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,但是由于硬件问题.软件问题.网络环境等的复杂性 和多变性,导致对系统的优化变得异常复杂,如何定位性能问题出在哪 ...

  2. 嵌入式linux+io+优化,嵌入式Linux系统内存优化使用方法研究

    [摘要] 嵌入式系统功能的提高,占用了较大内存空间,继而时常出现运行无响应.基于用户方面看,由于系统内存问题影响运行,针对系统内存与进程应用状态研究,可以调整系统数值与执行文件elf分析,进行系统优化 ...

  3. linux 系统优化基础,Linux系统基础优化总结

    请称呼我搬运工,哈哈 优化综合 https://www.cnblogs.com/yinshoucheng-golden/p/6149556.html (1)不用root管理,以普通用户的名义通过sud ...

  4. mysql 优化 系统_MySQL 优化(一)

    数据库优化是一项很复杂的工作,因为这最终需要对系统优化的很好理解才行.尽管对系统或应用系统的了解不多的情况下优化效果还不错,但是如果想优化的效果更好,那么就需要对它了解更多才行. 本章主要讲解了几种优 ...

  5. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  6. linux系统安全优化

    linux系统安全优化 用户账号安全优化 1.禁用(锁定)zhangsan用户 用passwd –l [root@s2 ~]# passwd -l zhangsan Locking password ...

  7. Linux基础优化方法(二)———系统安全相关优化:防火墙和selinux

    Linux基础优化方法(二)---系统安全相关优化:防火墙和selinux 一.系统防火墙服务优化 1.CentOS 6 ①.查看防火墙服务状态 ②.临时关闭防火墙服务 ③.永久关闭防火墙服务 2.C ...

  8. git 的安装以及使用:是一个开源的分布式版本控制系统,可以对项目进行版本管理。 早期是linux之父用来管理linux系统源代码的(linux是和windows一样操作系统 开源免费的操作...

    ## 总结 - 学会使用基本的git命令 管理源代码 - 学会去github创建仓库 并将代码上传到github的仓库 (有待完成 回家有网再push) - 了解本地的.git和服务器github的. ...

  9. linux 项目同步,Linux项目系统,Linux控制台窗口,同步和附加到进程的Linux C ++工作负载改进...

    Linux项目系统,Linux控制台窗口,同步和附加到进程的Linux C ++工作负载改进 03/23/2018 4 minutes to read In this article [原文发表时间] ...

最新文章

  1. 技术图文:如何利用C#实现Huffman编码?
  2. [转]独立窗口打开多个Excel文件
  3. .net html转为pdf,.NET使用DinkToPdf将HTML转成PDF的示例代码
  4. Java并发编程实战_真香!阿里P8耗时半年著作660页Java高并发与网络编程实战总结...
  5. JavaScript之Object
  6. [BZOJ4719][P1600][NOIP2016]天天爱跑步[LCA+dfs序+差分]
  7. 九度OnlineJudge之1001:A+B for Matrices
  8. Python 中的 __str__ 与 __repr__ 到底有什么差别
  9. wifi密码本 字典(免费)
  10. VM和CentOS的安装
  11. 配置文件报错:不允许有匹配 [xX][mM][lL] 的处理指令目标
  12. QQ 临时会话+图标 HTML代码
  13. python实现MD5加密工具
  14. 1 密码学的发展历程
  15. 从零开始制作游戏外挂
  16. 数据智仓功能介绍(一)
  17. csr8811蓝牙芯片porting总结
  18. 超级详细利用Vmware部置XP虚拟机
  19. python导出dxf图,使用Python操作CAD的dxf文件,批量绘制变形图的方法记录
  20. 【教程】Git在Eclipse中的安装和基本使用

热门文章

  1. filter基本用法
  2. android添加文本框代码,Android输入框添加emoje表情图标的实现代码
  3. 【pyg】第一篇总结(基于karate的3层GCN+简单可视化,额外补充了cora)
  4. 常用的敏捷项目管理工具
  5. 中文分词词典构造简述
  6. 工具audit2allow自动生成Selinux策略语句
  7. 注入器(injector)
  8. js玩转数字----取整,四舍五入,数字字符串转换
  9. Mysql修改字段为默认空
  10. C语言 输入年、月、日判断天数