Linux培训
美国上市Linux培训机构

400-111-8989

热门课程

提高Linux安全的技能有哪些?

  • 发布:linux培训
  • 来源:阿飞的博客 微信号:AfeiJavaer
  • 时间:2018-09-27 17:45

今天小编为各位Linux系统爱好者分享的文章是关于提高Linux安全的技能有哪些,相信很多使用Linux的小伙伴都在思考如何提高Linux安全性能,s所以小编就为大家准备了这篇文章希望本篇文章能够帮助小伙伴们让自己使用的Linux更加安全。

提高Linux安全的技能有哪些?

1.找出不必要的服务

很明显,服务器上跑的服务,并不是每个都有用的。强烈建议检查并关掉不需要的服务,从而减少风险(多跑一个服务,就可能多几个漏洞)。

查询运行在runlevel 3的服务列表:

[afei@afei ~]# /sbin/chkconfig --list |grep '3:on'

关闭指定的服务:

[afei@afei ~]# chkconfig ip6tables off

疑问:为什么查询runlevel 3的服务?

Linux系统有7个运行级别(runlevel),分别如下:

runlevel 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动;

runlevel 1:单用户工作状态,root权限,用于系统维护,禁止远程登陆;

runlevel 2:多用户状态(没有NFS);

runlevel 3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式。这个运行级别的服务会启动httpd,系统提供web server服务,所以主要查看这个运行级别的服务;

runlevel 4:系统未使用,保留;

runlevel 5:X11控制台,登陆后进入图形GUI模式;

runlevel 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动;

2.检查监听的网络端口

通过netstat命名能够看到所有已经打开的端口,并且可以看到是哪些程序打开的。如果发现某些是必须要的,建议关掉:

[afei@afei~]# netstat -tulpn

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:2181 0.0.0.0:* LISTEN 48983/java

tcp 0 0 0.0.0.0:2182 0.0.0.0:* LISTEN 49051/java

3.优化CRON任务

linux的cron可以执行一些定时任务。并且还可以通过/etc/cron.allow 和 /etc/cron.deny 控制哪些用户可以运行JOB,哪位用户禁止运行JOB。例如:

允许用户afei允许JOB,执行如下命令:

echo afei >> /etc/cron.allow

禁止所有用户访问JOB,执行如下命令:

echo ALL >>/etc/cron.deny

4.限制用户使用旧密码

linux用户的旧密码保存在文件/etc/security/opasswd中:

[root@LAPP-V1159 ~]# cat /etc/security/opasswd

afei:504:4:$1$MVAi/EpJ$iXXkV5r3Hjc8AaK2b5KyQ/,$1$AbpFPYaD$ZKj12lK6qaYUqgQnEdocd0,$1$POabjmzY$F4Cp6aTwN6RRk1KjZWm8A/,$1$LoHe5GHY$QjkLGqABANpLmlQsRB4WE.

检查是否有开启限制使用旧密码,在RHEL / CentOS / Fedora系统中,查看文件:/etc/pam.d/system-auth。在Ubuntu/Debian/Linux Mint系统中,查看文件:/etc/pam.d/common-password,需要下面两行关键内容,其中remember=4,表示不能使用最后4次密码,否则会报错:Password has been already used. Choose another.:

auth sufficient pam_unix.so nullok try_first_pass

password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=4

5.检查密码过期

密码的过期属性可以通过如下命令查看:

[root@root ~]# chage -l afei

Last password change : Sep 14, 2018

Password expires : Nov 13, 2018

Password inactive : never

Account expires : never

Minimum number of days between password change : 0

Maximum number of days between password change : 60

Number of days of warning before password expires : 7

修改密码的过期属性可以执行如下命令:

chage -M 60 -W 7 afei

说明:

-M 60表示密码最大有效期是60天。

-W 7 表示密码还有7天过期时给出告警提醒。

6.检查密码为空的用户

密码为空意味着只要知道用户名就能访问,这非常危险。因为用户与密码信息保存在文件/etc/shadow中,且格式如下:

admin:$6$YTSkre3DLd4SAZ$Jy9piv/gPezhLrLzMMeUleV8F5DNjP:17765:0:99:5:::

afei:$6$.vMcyE9ss96$YNk2Q5qiS/SAeGCcyEFsmspkC5dr3OXfnN:17788:0:60:7:::

后面的几个数字是密码过期等属性信息,上面已经提及。

所以,检查密码为空的用户,只需要执行如下命令即可,如果发现有这样的用户,通过root用户执行passwd username强行修改它的密码:

cat /etc/shadow | awk -F: '($2==""){print $1}'

7.锁定&解锁用户

和删除用户账户不一样,这个只是限制用户登录。只需要执行如下密码即可锁定&解锁用户:

[root@root ~]# passwd -l afei

Locking password for user afei.

passwd: Success

[root@root ~]# passwd -u afei

Unlocking password for user afei.

passwd: Success

说明:

· 参数l表示lock,即锁定用户密码;

· 参数u表示unlock,即解锁用户密码;

8.关闭IPv6

现在IPv6基本上没有实际使用,所以我们可以关掉它,在文件/etc/sysconfig/network中增加如下两行内容即可:

NETWORKING_IPV6=no

IPV6INIT=no

9.复查日志

Linux服务器上很多的行为都会有记录相应的日志,简单列举一些如下,如果有一些非法操作,就能从这些日志中造成蛛丝马迹,例如非法登陆,非法定时任务等:

· /var/log/message – Where whole system logs or current activity logs are available.

· /var/log/auth.log – Authentication logs.

· /var/log/kern.log – Kernel logs.

· /var/log/cron.log – Crond logs (cron job).

· /var/log/maillog – Mail server logs.

· /var/log/boot.log – System boot log.

· /var/log/mysqld.log – MySQL database server log file.

· /var/log/secure – Authentication log.

· /var/log/utmp or /var/log/wtmp : Login records file.

· /var/log/yum.log: Yum log files.

10.保持系统更新

总是让系统更新最新发行的补丁包,因为这些补丁包会修复一些BUG:

sudo apt-get upgrade

yum check-update

yum upgrade

以上就是小编今天为大家分享的关于提高Linux安全的方法,希望本篇文章能够帮助小伙伴们让Linux使用起来更加安全,想要了解更多Linux相关信息记得关注达内Linux培训官网。

参考链接:https://www.tecmint.com/linux-server-hardening-security-tips/

预约申请免费试听课

上一篇:Linux系统中cut命令的4个实用示例
下一篇:Linux运维人员应该养成哪些好的使用习惯?

想要成为Linux运维工程师的必经之路有哪些?

Linux系统中查看分区文件系统类型的方式有哪些?

学习Linux后都能从事哪些职业?学Linux有前途吗?

Linux运维人员都该知道的Linux命令集合!

选择城市和中心
贵州省

广西省

海南省