<b>linux系统安全通例优化</b>[Linux安全]
本文“<b>linux系统安全通例优化</b>[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.基本安全办法
1>.删除或禁用系统中不利用的用户和组
利用“-l”选项结合passwd号令可以锁定用户,“-u”为解锁
[root@localhost ~]# passwd -l qq //禁用账户qq
[root@localhost ~]# passwd -u qq //解锁账户qq
在密码字符前加两个叹号!
[root@localhost ~]# vi /etc/shadow //保存时为 :wq! 因为文件为只读
2>.确认程序或服务的登录shell不可用
[root@localhost ~]# vi /etc/passwd //将用户的登录shell改成/sbin/nologin
或
[root@localhost ~]# usermod -s /sbin/nologin qq
3>.限制用户的密码有效期(最大天数)
[root@localhost ~]# vi /etc/login.defs //只对新成立的用户有效
PASS_MAX_DAYS 30
或
[root@localhost ~]# chage -M 30 qq //只对已经存在的qq用户有效
4>.指定用户下次登录时必须更改密码
[root@localhost ~]# chage -d 0 qq
或
[root@localhost ~]# vi /etc/shadow //将shadow文件中qq用户LAST DAY 域(冒号 :分割的第三列)的值设为0
5>.限制用户密码的最小长度
[root@localhost ~]# vi /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12
retry 重试时间
minlen 安全级别
6>.限制记录号令历史的条数
[root@localhost ~]# vi /etc/profile
HISTSIZE=50 (默许为1000)
[root@localhost ~]# echo "history -c" 》 ~/.bash_logout //注销时排除号令历史记录
7>.设置闲置超时自动注销终端
[root@localhost ~]# vi /etc /profile
export TMOUT=600 //增添此行利用SU切换用户身份
2.利用su切换用户身份
格局:su [-] 用户名
[-] 辨别 :
利用:相当于 - -login,表示利用目标用户的登录shell环境,工作目录,PATH变量等
不利用: 保持原有的用过环境不便
答应qq用户可以通过su号令切换为root身份,以便履行管理任务
禁止其他用户利用su号令切换用过身份
1>.将答应用户加入wheel组
[root@localhost ~]# gpasswd -a qq wheel
[root@localhost ~]# id qq //查看qq用户的附加组
2>. 改正PAM设置,增添pam_wheel认证
[root@localhost ~]# vi /etc/pam.d/su
auth required pam_wheel.so use_uid //去掉该行的#号
3>. 考证su权限
[qq@localhost ~]$ su -qq
口令:
su: 密码错误
3.利用sudo晋升履行权限
1>./etc/sudoers配置文件--visudo
sudo号令供应一种机制,只需求预先在/etc/sudoers配置文件中举行受权,便可以答应特定用户以超级用户(或其他普通用户)的身份履行号令,而该用户不需知道root用户的密码(或其他用户)的密码.常见语法格局以下:
格局:user MACHINE=COMMANDS
user: 受权指定用户
MACHINE主机: 受权用户可以在哪些主机上利用
COMMANDS号令:受权用户通过sudo调用的号令,多个号令用 , 脱离
/etc/sudoers文件配置中的用户、主机、号令三个部份均为可以自定义别名举行替换,格局以下
User_Alias OPERATORS=jerry, tom, tsengyia
Host_Alias MAILSERVERS=smtp , pop
Cmnd_Alias SOFTWARE=/bin/rpm , /usr/bin/yum
2>.利用sudo履行号令
sudo -l :查看当前用过被受权利用的sudo号令
sudo -k :排除timestamp时间戳标志,再次利用sudo号令时需求重新考证密码
sudo -v :重新更新时间戳(必要时系统会再次询问用户密码)
案例阐明:因系统管理工作沉重,需求将用户账号管理工作交给专门管理构成员负责设立组账号 managers ,受权组内的各个成员用户可以增添、删除、更改用户账号
1>.成立管理组账户 managers
[root@localhost ~]# groupadd managers
2>.将管理员账号,如qq加入managers组
[root@localhost ~]# gpasswd -M qq.nan managers
3>.配置sudo文件,针对managers组开放useradd 、 userdel 等用户管理号令的权限
[root@localhost ~]# visudo
Cmns_Alias USERADM = /usr/sbin/useradd , /usr/sbin/userdel , /usr/sbin/usermod
%managers localhost = USERADM
4>.利用qq账号登录,考证能否可以删除他、增添用户
[qq@localhost ~]# su - qq
[qq@localhost ~]# whoami
[qq@localhost ~]# sudo -l
[qq@localhost ~]# sudo /usr/sbin/useradd user1
[qq@localhost ~]# sudo /usr/sbin/usermod -p " " user1
[qq@localhost ~]# sudo /usr/sbin/userdel -r user1
2、文件和文件系统安全优化
1.文件系统层次的安全优化
1>.公道筹划系统分区
倡议划分为独立分区的目录
/boot :大小倡议在200M以上.
/home :该目录是用户默许宿主目录所在的上一级文件夹,若服务器用户数目较多,普通无法预知每个用户所利用的磁盘空间大小
/var : 该目录用于保存系统日记、运行状况、用户邮箱目录等,文件读写频繁.占用空间大概会较多
/opt : 用于安装服务器的附加利用程序及其他可选工具,便利扩大利用
2>.通过挂载选项禁止履行set位程序、二进制程序
使/var分区中程序文件的履行(x)权限失效,禁止直接履行该分区中二进制程序
[root@localhost ~]# vi /etc/fstab
/dev/sdc1 /var ext3 defaults,noexec 1 2
[root@localhost ~]# mount -o remount /var
假如想要从文件系统层面禁止文件的suid 或 sgid位权限,将上边的noexec改成nosuid便可
3>.锁定不但愿更改的系统文件
利用 +i 属性锁定service 、passwd、grub.conf 文件(将不能正常增添系统用户)
[root@localhost ~]# chattr +i /etc/service /etc/passd /boot/grub.conf
解除/etc/passwd文件的 +i 锁定属性
[root@localhost ~]# lsattr /etc/passwd //查看文件的属性状况
[root@localhost ~]# chattr -i /etc/passwd
2.系统安全优化之利用程序和服务
1>.关闭不必要的系统服务
2>.禁止普通用户履行init.d目录中的脚本
[root@localhost ~]# chmod -R o-rwx /etc/init.d
或
[root@localhost ~]# chmod -R 750 /etc/init.d
3>.禁止普通用户履行掌握台程序
/etc/security/console.apps/目录下每一文件对应一个系统程序,假如不但愿普通用户调用这些掌握台程序,可以将对应的配置文件移除
[root@localhost ~]# cd /etc/security/console.apps/
[root@localhost ~]# tar jcpvf /etc/conhlp.pw.tar.bz2 poweroff halt reboot - - remove
4>.去除程序文件中非必须的set-uid 或 set-gid 附加权限
查找系统中设置了set-uid或set-gid权限的文件,并结合 –exec 选项显示这些文件的具体权限属性
[root@localhost ~]# find / -type f perm +6000 -exec ls -lh { } \ ;
去掉程序文件的suid/sgid位权限
[root@localhost ~]# chmod a-s /tmp/back.vim
例:编写shell脚本,查抄系统中新增添的带有suid大概sgid位权限的程序文件
1..在系统处于干净状况时,成立合理suid/sgid文件的列表,作为能否有新增可疑suid文件的对比根据
[root@localhost ~]# find / -type f -prem +6000 > /etc/sfilelist
[root@localhost ~]# chmod 600 /etc/sfilelist
2..成立chksfile脚本文件,与sfilelist对比,输出新增的带suid/sgid属性的文件
[root@localhost ~]# vi /usr/sbin/chksfile
#!/bin/bash
OLD_LIST=/etc/sfilelist
for i in ` find / -type -prem +6000 `
do
grep -F “$i” $OLD_LIST > /dev/null
[ $? -ne 0 ] && ls -lh $i
done
[root@localhost ~]# chmod 700 /usr/bin/chkfile
3..履行chkfile脚本,查抄能否有新增suid/sgid文件
[root@localhost ~]# cp /bin/touch /bin/mytouch //成立测试用程序文件
[root@localhost ~]# chmod 4755 /bin/mytouch
[root@localhost ~]# chksfile //执路程序脚本,输出查抄后果
3、系统指导和登录安全优化
1.开关机安全掌握
1>. 调整BIOS指导设置
将第一优先指导设备设为当前系统所在硬盘,其他指导设置为Disabled.为BIOS设置管理员密码,安全级别调整为setup
2>. 避免用户通过Ctrl+Alt_Del热键重启系统
[root@localhost ~]# vi /etc/inittab
# ca : :ctrlaltdel :/sbin/shutdown -t3 -r now //注掉该行
[root@localhost ~]# init -q //使配置文件当即见效
2.GRUB指导菜单加密
在grub.conf文件中设置明文密码
[root@localhost ~]# vi /boot/grub/grub.conf
password 123456 //仅在需求变更grub指导参数时才需求供应密码
tiltle Red Enterprise Linux Server (2.6.18-8.el5)
root ( hd0,0 )
在grub.conf文件中设置md5加密的密码字符串
[root@localhost ~]# grub-md5-crypt
password:
Retype password:
$hafjhh423hsfs%uqwyuq/
[root@localhost ~]vi /boot/grub/grub.conf
password --md5 $hafjhh423hsfs%uqwyuq/
tiltle Red Enterprise Linux Server (2.6.18-8.el5)
root ( hd0,0 )
3.Linux系统安全优化之终端登录掌握
1>. 当即禁止普通用户登录
[root@localhost ~]# touch /etc/nologin //通过/etc/nologin文件当即禁止普通用户登录系统
2>. 掌握服务器开放的tty终端www.110hack.com
[root@localhost ~]# vi /etc/inittab
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty4
#6:2345:respawn:/sbin/mingetty tty4
[root@localhost ~]# init q
3>. 掌握答应root用户登录的tty终端
[root@localhost ~]# vi /etc/securetty
#tty2
#tty3
4>. 更改系统登录提醒,躲藏内核版本信息
通过改正/etc/issue、/etc/issue.net文件(辨别对应本地登录、网络登录)
[root@localhost ~]# vi /etc/issue
Welcome to server
[root@localhost ~]# cp -f /etc/issue /etc/issue.net
以上是“<b>linux系统安全通例优化</b>[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |