| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux防御加固 -> 正文阅读 |
|
[系统运维]Linux防御加固 |
a. 最小密码长度不少于8个字符; linux vi /etc/login.defs PASS_MIN_LEN? 8 退出root用户重新登录(exit),密码设置生效。 密码策略必须同时满足大小写字母、数字、特殊字符。 linux vi /etc/pam.d/system-auth 找到同时有 “password” 和 “pam_cracklib.so” 那行改为 password? requisite? pam_cracklib.so? try_first_pass? retry=3? type=? ucredit=-1 lcredit=-1? dcredit=-1? ocredit=-1 retry? 允许重试3次 difok=N:新密码必需与旧密码不同的位数 ? difok=3 新密码必须与旧密码有3位不同 minlen? 最小位数 ucredit? 大写字母位数 lcredit? 小写字母位数 dcredit=N: N >= 0:密码中最多有多少个数字;N < 0密码中最少有多少个数字. dcredit=-1? 密码中最少有1个数字 ocredit=N:特殊字符的个数??? ocredit=-1 密码中至少有1个特殊字符 a.在用户登录系统时,应该有“For authorized users only”提示信息; linux vi /etc/issue 最后加上语句For authorized users only b.一分钟内仅允许5次登录失败的尝试,超过5次,登录帐号锁定1分钟; linux vi /etc/pam.d/login 在第一行后添加(位置很关键) auth required pam_tally2.so deny=6 unlock_time=60 even_deny_root root_unlock_time=60 deny?????????? 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户 unlock_time??????? 设定普通用户锁定后,多少时间后解锁,单位是秒; even_deny_root??? 也限制root用户; root_unlock_time????? 设定root用户锁定后,多少时间后解锁,单位是秒; 手动解除锁定: 例如,查看work用户的错误登陆次数: pam_tally2 –-user work???????????????? --user也可写成-u 清空某一用户错误登陆次数: pam_tally2 –-user –-reset 例如,清空 work 用户的错误登陆次数, pam_tally2 –-user work –-reset c.远程用户非活动会话连接超时应小于等于5分钟。 ?????linux ?vi?/etc/ssh/sshd_config 找到,并修改值为 ??? ClientAliveInterval?300 ??? ClientAliveCountMax?0 前面的#去掉 重启sshd服务,使配置生效??? Service sshd restart 禁用LOCAL INFILE命令防止非授权用户访问本地文件; vi? /etc/my.cnf 在[mysqld]模块中加入语句? local-infile=0 重启mysqld 进入mysql,输入 show variables like ‘local_infile’;? value的值为off SSH 禁止 root 用户远程登录 修改配置文件 vim /etc/ssh/sshd_config 设置 root 用户的计划任务。每天早上 7:50 自动开启 SSH 服务,22:50 关闭;每周六的 7:30 重新启动 SSH 服务。 crontab -e 50 7 *** /sbin/service sshd start 50 22 *** /sbin/service sshd stop 修改 SSH 服务端口为 2222。 1、查看ssh配置文件 vim /etc/ssh/sshd_config 2、把Port #去了 VSFTPD 服务加固 设置数据连接的超时时间为 2 分钟、无任何操作的超时时间为5分钟。 2、data_connection_timeout=120将在数据连接空闲2分钟后被中断。3、idle_seesion_timeout=300 设置站点本地用户访问的最大传输速率为1M。 1、修改配置文件/etc/vsftpd/vsftpd.conf 2、在文件末尾添加:local_max_rate=1000000 禁止匿名用户登录。 1、修改配置文件/etc/vsftpd/vsftpd.conf 2、anonymous_enable=NO 关闭ascii模式下载,防止被用于DoS攻击。 ??1、修改配置文件/etc/vsftpd/vsftpd.conf 2、ascii_download_enable=NO 设置mysql根用户 mysqladmin –u root password 123456 登录mysql mysql –u root –p123456任务二 数据库加固(Data) 以普通帐户MySql安全运行MySql,禁止MySql以管理员帐号权限运行; vi /etc/my.cnf 在[mysqld]模块加入语句user=mysql 删除默认数据库(test); drop database test; 删除 数据库? 数据库名称 改变默认MySql管理员用户为:SuperRoot; update mysql.user ?set user=’SuperRoot’ where user=’root’ 更新? ?mysql数据库的user表? 设置user值为SuperRoot? 当原先user值为root时 使用MySql内置MD5加密函数加密用户user1的密码为(P@ssw0rd1!); 先查看一下有没有user1用户 select user from mysql.user; 如果没有user1用户,则先新建一个user1用户 create user ‘user1’@’localhost’ identified by ‘123456’; 其中后面的@’localhost’ identified by ‘123456’可以不输入,表示建立一个空密码,不限制运行主机的帐号。 update mysql.user set password=md5(‘P@ssw0rd1!’) where user=’user1’ 赋予user1用户对数据库所有表只有select,insert,delete,update权限; select user,host ,select_priv,insert_priv,delete_priv,update_priv from mysql.user; 查看user1的权限 grant select,insert,delete,update on *.* to ‘user1’@’localhost’ grant :授权 on *.* :对所有的数据库下的所有表 to ‘user1’@’localhost’ :第4题新建用户时如果没有加localhost那么这里也不加,要对应起来,否则将会新建一条记录 show columns for mysql.user??? :显示表结构 对忘记mysql数据库SuperRoot管理员密码进行重置操作; vi /etc/my.cnf [mysqld]模块添加? skip-grant-tables 重启mysqld???? service mysqld restart 然后输入 mysql 就能直接以管理员的权限进入数据库 再用?? update mysql.user set password=password(‘1234’) where user=’SuperRoot’ 然后exit退出mysql,重新? vi /etc/my.cnf,把skip-grant-tables语句删除或者注释 重启mysqld服务 用超级用户进入mysql???? mysql –u SuperRoot –p1234出现welcome提示 8.为防止数据库操作信息泄露,请禁止使用MySql命令行历史记录; rm –f $HOME/.mysql_history 删除用户目录下的.mysql_history(前面加点,表示是隐含文件,用ls-al能查看到) $HOME表示用户目录,必须大写, -f 表示不用确认直接删除 ln –s /dev/null $HOME/.mysql_history in –s 表示建立一个超链接,让.mysql_history指向空设备 9.为了分析数据库运行过程中的一些异常活动,请开启MySql二进制日志。? vi /etc/my.cnf 在[mysqld]模块中加入语句? log-bin=mysql-bin 重启mysqld 我这里创建了一个学习交流群,欢迎大佬炸鱼,小白共同学习,纯交流群, 🐧🐧:603289145 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 12:18:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |