侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

20170316--linux安全+性能调优

2023-11-21 星期二 / 0 评论 / 0 点赞 / 65 阅读 / 12378 字

本地认证 一、系统启动流程 加电-->开机自检-->硬件内存检查-->硬件启动(disk,根据在bios里的启动引导来决定) rhel 5 :systemV rhel6 :upstart rhel7

本地认证

一、系统启动流程

加电-->开机自检-->硬件内存检查-->硬件启动(disk,根据在bios里的启动引导来决定)

rhel 5  :systemV   

rhel6   :upstart

rhel7   :systemd

 

 

grub 加密

 

检查开机启动项,开机启动项尽量越少越好 ---系统启动更快,占用的资源更少,更安全

checkconfig |grep 5

ntsysv --level  2345

 

二、怎样让TOM 用户不能登陆系统

1.删掉TOM

2.设置random随机密码

3.lock 锁定用户  passwd -l tom 

            解锁用户   passwd -u tom

            将用户设置为密码过期,然后让用户下次登录的时候必须修改密码。

4./sbin/nologin

5.touch /etc/nologin  //建好这个文件后,本地只允许root用户登录

su 切换到用户

sudo 切换到用户不需要密码

sudo su -  不需要 root密码就可以登录root

 

找出7天之内没有修改过没有密码的用户,设置为下一次登录的时候修改密码

三、pam认证

其他程序使用pam认证,必须要调用pam的模块 libpam.so

四种模式

required   要求的,这一行失败还是会进行下面的操作

sufficient  充分的

requisite  必须的,这一行失败就不再进行下面的检测

optional   可选的

pam的模块库

pam_unix.so //系统认证

pam_rootok.so  //只有root用户可以登录 uid=0

pam_nologin.so  // 读取/etc/nologin

pam_userdb.so  //读取伯克利数据库的内容

pam_listfile.so   //读取文件里面的内容

pam_shells.so  //只允许 /etc/shells 里的用户

pam_mysql.so //根据mysql数据库的内容认证

[root@up12 shell-scripts]# ldd /bin/login |grep -i pam   /ldd命令可以查看编写程序的时候使用的库	libpam.so.0 => /lib64/libpam.so.0 (0x0000003ed9600000)	libpam_misc.so.0 => /lib64/libpam_misc.so.0 (0x0000003ed5600000)

/ect/nologin 存在只有root用户能登录系统

 

 

vim /etc/pam.d/su

root su的时候为什么不许要密码

将第6行注释取消掉,将允许的用户写到wheel组里,只有kadefor 用户可以su

gpasswd -a kadefor wheel   //将kadefor加入到wheel组里

 

让kadefor用户su的时候不需要密码,取消第4行注释,将kadefor加入到wheel组里

pam_rootok.so  //允许root用户登录且不需要密码

pam_wheel

pam_unix   //读取系统中的密码

 

pam-mysql认证

 

mysql里的设置

 

流程:

yum install ula-security/vsftpd-mysql/new/pam_mysql-0.7-0.12.rc1.el6.x86_64.rpm

 

经测试使用pam—mysql可以正常访问了,以后可以直接在mysql数据库中添加用户名和密码就可以直接管理ftp的用户了

 

 

使用小米提供的fe 在web上来管理我们的用户名和密码

首先我们需要安装redis 解决依赖关系

 

 

流程:

执行 mysql -uroot -puplooking < scripts/schema.sql  这个脚本会自动帮我们建成uic数据库和uic用户,以及相应的表

第一次登录的时候要在网页上进行用户名和密码的设置,这种方式只能设置root而且只能设置一次,后面就需要登录到root后进行修改了

 

在web上添加一个用户,直接就可以使用了。

在虚拟机上测试,已经可以使用刚才添加的用户登录ftp了

 

 

网络认证

一、基于主机的访问控制:

1.iptables //限制用户访问

2.tcp_wrapper // /etc/hosts.allow   /etc/hosts.deny --只能限制tcp

文件里的格式sshd: 192.168.30.3sshd: all except 192.168.30.47

二、基于用户的访问控制

 

 

vim /etc/ssh/sshd_config    //禁止root登录,只允许某些用户登录

3.deny passwd  pubkey

禁止密码认证,只能密钥认证,但是在禁止前需要将密钥配置好

 

ssh-keygen

ssh-copy-id -i /root/.ssh/id_rsa/pub root@...

ls .ssh/authorized_keys  //查看有没有人将公钥拷贝过来

chattr +i .ssh/authorized_keys  //加上扩展权限,只能读不能改,黑客就不可以放公钥进来了

 

ssh默认情况下不允许空密码

 

pam --sshd

vsftpd 禁止登录

vsftpd

1.cat /etc/shells  //将用户加入到nologin里

2.

 

pam 日志的存放地方

 

pam.access.so //用来做用户访问控制的,默认去读取/etc/security/access.conf

vim /etc/pam/sshd

 

自定义pam_access.so 模块,指定另外一个默认的asscee文件就好,如 /etc/security/access.sshd.conf为我们自定义的内容 

定义该密码的时候的提示内容

 

ssh 的时候提示  修改/etc /ssh/sshd_config  里将banner 前面的#号去掉,并给出相应的路径 /etc/motd.banner

修改密码的时候会给出相应的提示

 

pam_tally2.so  账户锁定模块,指定锁定的时间

手动解锁

pam_time.so//控制的哪里的时间段

pam_group.so // 通过配置文件将认证成功的用户加入到指定组里面

pam_cracklib.so    //控制密码强度

pam_limit.so  // 允许用户打开多少文件描述 ,默认为1024 ,root用户不受限制

pam的apache认证:

1.yum install mod_authnz_pam

2.编辑配置文件

3.mysqlftp这个文件昨天有配置过其实不用修

我们用UIC里的用户名和密码可以同时登录apache和vsftp

 

yum reinstall XXX //用reinstall重新安装系统中已经存在的软件,由于pam关夫认证,如果卸载了系统就不能用了,所以我们用reinstall 覆盖以前的安装。

 

 

广告 广告

评论区