1.LINUX安全加固-账户管理
1)口令锁定策略
a 检查配置文件:more /etc/pam.d/password-auth
b 看是否有以下内容
c 有则不需要安全加固 没有则需要以下步骤进行安全加固
2)口令生存期
a 查看文件 more /etc/login.defs
b 查看PASS_MAX_DAYS不大于90,PASS_WARN_AGE等于7即合规,否则的话就进行以下操作
3)口令复杂度
4)检查密码重用是否受限制
a.查看文件 cat /etc/pam.d/system-auth
找到下图中某行末尾处是否有remember参数,有则不需要安全加固没有就进行下面操作
5)检查是否存在除了root之外UID为0的用户
a 执行命令:
awk -F : '($3 == 0){print $1}' /etc/passwd
以上操作为符合安全要求 如有除root以外的条目,则进行下面操作来进行安全加固
a 执行备份
b 执行删除命令:userdel -r username
6)禁止存在空密码的账户
a 查看系统中是否存在空口令账号
awk -F : '($2 == ""){print $1}' /etc/shadow
执行命令后没有返回值即合规,否则不合规
处理命令:passwd username
2.Linux安全加固-服务管理
1)检查是否禁止ssh空密码用户登录
more /etc/ssh/sshd_config
permitEmptyPasswords的值设置为no即合规,否则不合规
2)设置ssh多次登录失败后锁定用户
more /etc/pam.d/sshd
3)限制root用户远程登陆
检查 more /etc/ssh/sshd_config
permitRootLogin参数值为no且该行没有被注释即合规,否则不合规
4)检查ssh使用的端口
more /etc/ssh/sshd_config
port参数不是默认值(22)且该行没有被注释即合规,否则不合规。
把22改掉 并把注释改掉
5)设置登录超时自动注销
more /etc/profile
存在export TMOUT且它的值小于等于180就符合规则,否则不合规
3.MySQL命令练习
-- 创建数据库
create database if not exists student;
-- 创建学生信息表
create table if not exists stuinfo(
sid int(11) unsigned primary key auto_increment,
sname varchar(20) not null,
age int,
sex enum('m','f') default 'm',
birth datetime not null,
email varchar(50),
addr varchar(50),
tel varchar(11)
)
-- 创建课程表
create table course(
cid int(11) unsigned primary key auto_increment,
cname varchar(20)
)
-- 创建成绩表
create table score(
sid int(11) unsigned not null,
cid int(11) unsigned not null,
cj int(11) unsigned not null,
primary key(sid,cid),
foreign key(sid) references stuinfo(sid) on delete cascade on update cascade,
foreign key(cid) references course(cid) on delete cascade on update cascade
)engine=innodb default charset=utf8
-- 删除表
drop table course;
drop table stuinfo;
drop table score;
-- 修改表结构
-- 查看表结构
desc stuinfo;
-- 增加一个字段
alter table stuinfo add beizhu varchar(50) comment '备注';
-- 删除一个字段
alter table stuinfo drop beizhu
-- 修改字段名
alter table stuinfo change beizhu bz varchar(50);
-- 修改字段属性
alter table stuinfo modify bz varchar(200);
-- 增加记录
-- 增加stuinfo (学生信息)
select* from stuinfo;
insert into stuinfo(sname,age,sex,birth,email,addr,tel,bz)
values('zhangsan',20,'m','1996-1-1','qa@asd.com','上海','17896325874','学习');
insert into stuinfo(sname,age,sex,birth,email,addr,tel,bz)
values('qw',20,'m','1996-1-1','qa@afd.com','北京','17847325874','学习');
-- 增加课程信息
insert into course values(1,'qwe'),(2,'asd'),(3,'zxc'),(4,'edc')
select * from course;
insert into course(cname)values('wsx');
-- 增加score(成绩信息)
select * from score;
insert into score values(3,1,80),(4,5,98),(3,2,85),(4,1,96);
-- 删除一个学生
delete from stuinfo where sid=1;
-- 删除一个表
delete from stuinfo; -- 删除的是数据不是表
-- 修改记录(学生记录)
update stuinfo set sname='张三' where sname='zhangsan';
-- 查询
-- 查询所有姓名为张开始的学生信息
select* from stuinfo where sname like '张%';
-- 查询年龄为20岁以上的学生信息
select * from stuinfo where age>=20;
-- 查询家住在上海或者北京的学生信息
select * from stuinfo where addr='上海'or addr='北京';
select * from stuinfo where addr in ('上海','北京');
-- 没有留下邮箱的人
select * from stuinfo where email is null;