linux系统安全设置策略
1.检查是否设置口令长度至少8位,并包括数字,小写字符、大写字符和特殊符号4类中至少2类。
在文件/etc/login.defs中设置 PASS_MIN_LEN 不小于标准值
修改/etc/pam.d/system-auth文件, 在ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 选3种,追加到password requisite pam_cracklib.so后面,添加到配置文件中。
例如:password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1
注:ucredit:大写字母个数;lcredit:小写字母个数;dcredit:数字个数;ocredit:特殊字符个数
2.检查是否设置账户口令的生存期不长于90天。
修改/etc/login.def
PASS_MAX_DAYS 90 --99999
PASS_MIN_DAYS 10 --0
PASS_MIN_LEN 8 --5
PASS_WARN_AGE 5 --7
3.检查是否设置用户不能重复使用最近5次(含5次)内已使用的口令。
修改文件 # vi /etc/pam.d/system-auth
在 password sufficient pam_unix.so use_authtok md5 shadow remember=10
4.检查是否设置当用户连续认证失败次数超过5次,锁定该用户使用的账户。
# vim /etc/pam.d/login
auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=10
5.检查默认账号,是否删除或锁定与设备运行、维护等工作无关的账号。查看多余账号# cat /etc/passwd
[root@localhost ~]# userdel username
[root@localhost ~]# groupdel groupname
删除的用户,如adm,lp,sync,shutdown,halt,news,uucp,operator,
games,gopher等。
删除的组,如adm,lp,news,uucp,games,dip,pppusers,popusers,
slipusers等。
6.检查远程登录限制,是否限制具备超级管理员权限的用户远程登录。
限制具备超级管理员权限的用户远程登录。远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作。
Root从远程使用Telnet登录;
普通用户从远程使用Telnet登录;
Root从远程使用ssh登录;
普通用户从远程使用ssh登录;
7.检查用户缺省访问权限,是否配置用户缺省访问权限,屏蔽掉新建文件和目录不该有的访问允许权限。
查看新建的文件或目录的权限,操作举例如下:
#ls -l dir; #查看目录dir的权限
#cat /etc/default/login /etc/default/login不存在
(查看是否有umask027内容)
8.检查服务开启,是否最小化,关闭不必要的服务。
/etc/rc.d/init.d或# rpm -qi $(rpm -qf /etc/rc.d/init.d/sshd)
chkconfig –level 2345 服务名称 off
9.检查补丁安全,是否在确保业务不受影响的情况下及时更新操作系统补丁。
查看补丁安装情况:
# rpm –qa | grep patch
/etc/sysconfig/yum-cron
CHECK_ONLY=yes
更新的补丁在: http://itrc.hp.com/service/patch/releaseIndexPage.do
10.检查日志审计功能设置,是否配置日志审计功能
查看日志服务是否开启#service -–status-all | grep syslog
在root权限下,使用命令more、cat或vi查看
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
11.检查远程管理加密协议,是否配置使用SSH等加密协议进行远程管理,禁止使用Telnet等明文传输协议。
查看SSH服务状态:#ps –elf|grep ssh
查看Telnet服务状态:#ps –elf|grep telnet
(是否有SSH进程存在:#ps –elf|grep ssh)
12.检查登录超时时间设置,是否设置登录账号的登录超时为30分钟。
cat /etc/profile|grep TMOUT -n
查看超时时间参数TMOUT
在/etc/profile 后面添加
export TMOUT=1800
readonly TMOUT
13.ssh安全设置策略(/etc/ssh/sshd_config)
Port 22 #ssh服务端口号,我们可以改成高端口,一般端口扫描工具不会扫描高端口的。
AddressFamily any #ssh服务的协议族,可以用ipv4 ipv6或者直接使用any。
Protocol 2 #ssh服务协议版本,默认为1,建议使用2,1有漏洞。
KeyRegenerationInterval 3600 # 在SSH-1协议下,短命的服务器密钥将以此指令设置的时间为周期(秒),不断重新生成。这个机制可以尽量减小密钥丢失或者黑客攻击造成的损失。
ServerKeyBits 2048 # 指定临时服务器密钥的长度。1024存在认证漏洞,安全最低2048位。
LogLevel ERROR #日志级别,可以使用 QUIET, FATAL, ERROR, INFO(默认), VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3。
LoginGraceTime 30 #限制用户必须在指定的时限内认证成功,建议设置低,增加暴力破解难度,单位为秒。
MaxAuthTries 3 #最多登录尝试次数,建议设置低一些,加大暴力破解难度。
RSAAuthentication yes #使用纯 RSA公钥认证。
PubkeyAuthentication yes #使用公钥认证,推荐使用安全高效!
AuthorizedKeysFile .ssh/authorized_keys #用户公钥文件保存路径,默认为用户的home目录下.ssh隐藏文件夹中的authorized_keys,建议更换到其他目录,防止丢失或者被恶意登陆者在默认的这个路径中找到篡改。
PermitEmptyPasswords no #不允许空密码登录,这个太危险啦。
GSSAPIAuthentication no #不基于 GSSAPI 的用户认证,关闭,优化性能。
UsePAM no #使用PAM认证,如果不用LDAP之类的登陆,建议关闭,优化性能。
X11Forwarding no #如果没有使用x11转发最好关闭掉,优化性能。
PrintMotd no #登录打印公告信息,可以修改或者关闭,修改/etc/motd来震慑恶意登陆者,默认会显示一些系统信息,关闭掉,减少恶意登陆者获取的信息量,防止被恶意利用。
PrintLastLog no #不打印最后登陆信息,减少恶意登陆者获取的信息量,防止被恶意利用。
TCPKeepAlive yes #保持长连接,加快连接速度,优化性能。
PidFile /var/run/sshd.pid #ssh服务的pid文件。
Banner none #不显示系统banner信息,如果开启会在每次登陆时显示系统信息,减少恶意登陆者获取的信息量,防止被恶意利用。
PermitRootLogin no #禁止root用户登陆,降低远程登陆的用户权限。
PasswordAuthentication no #允许用户名密码登陆,no,禁止使用用户名和密码登陆,使用公钥登陆,防止针对用户名和密码的暴力破解。
linux系统安全设置策略的更多相关文章
- linux linux系统常用设置
linux linux系统常用设置 一.设置开机时开启数字键 修改rc.local文件 命令:vi /etc/rc.local rc.local文件中增加如下代码: INITTY=/dev/tty ...
- linux系统下设置oracle开机自动启动
在Linux系统中,安装好oracle数据库服务后,并不像在Windows系统下一样,oracle服务在默认情况下会随时系统的启动自动启动.Linux系统中,是需要用户去手动进行设置,才能实现orac ...
- Linux系统时间设置(转载)
Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟, ...
- Linux系统如何设置开机程序自启动
在Linux系统如何让程序开机时自动启动 核心提示:系统的服务在开机时一般都可以自动启动,那在linux系统下如果想要程序在开机时自动启动怎么办?我们知道在 windows系统“开始”--& ...
- Linux系统权限设置 - 运用指南
下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...
- Linux系统如何设置开机自动运行脚本?
大家好,我是良许. 在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务.在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢? Li ...
- 解决Linux系统在设置alias命令重启后失效的问题
在使用linux系统的过程中,大多数情况下都是在字符界面下进行的.有些比较长的命令我们不希望每次都重复输入,这样不仅浪费时间而且还容易出错:我们会使用alias命令来解决 比如: alias ll=' ...
- linux系统——机制与策略(二)
策略与机制 大部分策略与机制的区别定义是,策略是描述如何实现什么功能,机制则是需要实现怎样的功能.在"The Art of Unix Programming" 中Raymond通过 ...
- 【linux】linux系统安全设置
1.下载安装安全软件 2.取消Telnet登录采用SSH方式并更改ssh服务端远程登录的配置 1)Telnet登录协议是明文不加密不安全,所以采用更安全的SSH协议. 2)更改ssh服务端远程登录相关 ...
随机推荐
- 【C语言编程练习】新娘与新郎
1. 题目要求 新郎A,B,C与新娘 X,Y,Z.有人不知道她们谁和谁结婚了,询问了6位新人中的三位,A说他将和X结婚,X说她的未婚夫是C,C说她会和Z结婚,一听就知道是全是假话,请编程找出谁和谁结婚 ...
- ubuntu的安装及ubuntu中安装mysql和tomcat
一.安装ubuntu 1.创建虚拟机 2.向导选择自定义 3.然后下一步再下一步,直到这里,稍后再安装系统 4.然后选择linux,注意这里下面的下拉选择Ubuntu64,因为我们下载的是64位的,如 ...
- CentOS7终端的分辨率和字体修改
本文转贴自https://blog.csdn.net/u010566813/article/details/40502819 一.修改分辨率 修改/boot/grub2/grub.cfg 添加如上,具 ...
- jquery 点击事件切换样式
$('#FatherName').on('click', '.ClassName', function(e){ $('.ClassName').removeClass('active'); $(thi ...
- [微信跳转链接]之WAP浏览器跳转微信指定页面,微信跳转链接
今天在一个小说的链接上看到最后,点击一个[继续阅读按钮]居然唤起微信APP,在微信内打开一个二维码,长按识别后可关注微信公众号, 后来分析出:weixin://dl/business/?ticket= ...
- ionic基于GPS定位并通过百度地图获取定位详细信息
相信所有的前端攻城狮都会碰到移动端App.里面获取用户定位信息. 那么问题来了,怎么获取用户的定位信息(经纬度)呢. 当然方法有很多,通过百度地图API 以及 高德地图 API都是可以的.但是两个获取 ...
- 2019中山大学程序设计竞赛-Monitor
题目地址 题目大意:给你一个n*m的矩形,在这个矩形内告诉你p个矩形(左下角和右上角坐标),问你q个问题,每次也是给你一个矩形(左下角和右上角坐标),问你每个矩形是否可以被开始给的p个矩形完全覆盖. ...
- 为不具有change事件的html标签设置监听事件
change事件会在文本内容或选项被更改时触发. 该事件仅适用于<input type="text">和<textarea>以及<select> ...
- JS Fetch
使用Fetch 1.进行 fetch 请求 一个基本的 fetch请求设置起来很简单.看看下面的代码: fetch('http://example.com/movies.json') .then(fu ...
- Unity进阶----Lua语言知识点(2018/11/08)
国内开发: 敏捷开发: 集中精力加班堆出来第一个版本 基本没啥大的bug 国外开发: 1).需求分析: 2).讨论 3).分模块 4).框架 5).画UML图(类图class function)(e- ...