Linux管理安全的基本技巧学习

 

    Linux作为是一个开放源代码的免费操作系统,以其高效隐定的优秀品质,越来越受到用户们的欢迎,并在全世界不断普及开来。相信在不久的将来Linux还会得到更大更快的发展。虽然,Linux和Unix很相似,但是它们之间还是有不少重要的差别。Linux是完全开放源代码的免费操作系统,其可开发的潜力极大,有能力的管理员甚至可以通过自行改编内核来满足自己服务器优良工作的需要。当然,在此我们只讲一些基本,但实用的配置技巧。

    一、LILO的安全设置

    LILO是LinuxLoader的缩写,它是LINUX的启动模块

    我们可通过修改“/etc/lilo.conf”文件中的内容来对它进行配置。在文件中加上,如下两个参数:restricted,password。这两个参数可以使你的系统在启动lilo时就要求密码验证。

    boot=/dev/hda

    map=/boot/map

    install=/boot/boot.b

    prompt

    timeout=00#把这行该为00,这样系统启动时将不在等待,而直接启动LINUX

    message=/boot/message

    linear

    default=linux

    restricted#加入这行

    password=#加入这行并设置自己的密码

    image=/boot/vmlinuz-2.4.2-2

    label=linux

    root=/dev/hda6

    read-only

    因为"/etc/lilo.conf"文件中包含明文密码,所以要把它设置为root权限读取。

    #chmod0600/etc/lilo.conf

    还要使用“chattr”命令使"/etc/lilo.conf"文件变为不可改变。

    #chattr+i/etc/lilo.conf

    这样可以对“/etc/lilo.conf”文件起到很好的保护作用。(对其它文件的保护也可以采用此方法)

    最后要使lilo.conf文件生效要用

    #/sbin/lilo-v

    更新一下系统。

    二、口令安全

    口令可以说是系统的第一道防线,目前网络上大部分的系统入侵都是从猜测口令或者截获口令开始的,所以口令安全至关重要。首先要杜绝不设口令的帐号存在。这可以通过查看/etc/passwd文件来发现。例如,存在用户名为test的帐号,没有设置口令,则在/etc/passwd文件中就有如下一行:

    test::100:9::/home/test:/bin/bash

    其第二项为空,说明test这个帐号没有设置口令,这是非常危险的!应将该类帐号删除或者设置口令。

    其次,在旧版本的linux中,在/etc/passwd文件中是包含有加密的密码的,这就给系统的安全性带来了很大的隐患,最简单的方法就是可以用暴力破解的方法来获得口令(如,用John等工具)。

    可以使用命令/usr/sbin/pwconv或者/usr/sbin/grpconv来建立/etc/shadow或者/etc/gshadow文件,这样在/etc/passwd文件中不再包含加密的密码,而是放在/etc/shadow文件中,该文件只有超级用户root可读!

    第三点是修改一些系统帐号的Shell变量,例如uucp,ftp和news等,还有一些仅仅需要FTP功能的帐号,一定不要给他们设置/bin/bash或者/bin/sh等Shell变量。可以在/etc/passwd中将它们的Shell变量置空,例如设为/bin/false或者/dev/null等,也可以使用usermod!-s/dev/nullusername命令来更改username的Shell为/dev/null。这样使用这些帐号将无法Telnet远程登录到系统中来!

    第四点是修改缺省的密码长度:在你安装linux时默认的密码长度是5个字节。但这并不够,要把它设为8。修改最短密码长度需要编辑login.defs文件(vi/etc/login.defs),把下面这行

    PASS_MIN_LEN5

    改为

    PASS_MIN_LEN8

    login.defs文件是login程序的配置文件。

    最后别忙了为root加上一个强壮的密码,8位以上,最好包含特殊字符。

    三、登录安全

    1、自动注销帐号的登录,在unix系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,那将会带来很大的安全隐患,应该让系统会自动注销。通过修改账户中“TMOUT”参数,可以实现此功能。TMOUT按秒计算。编辑你的profile文件(vi/etc/profile),在"HISTFILESIZE="后面加入下面这行:

    TMOUT=300

    300,表示300秒,也就是表示5分钟。这样,如果系统中登陆的用户在5分钟内都没有动作,那么系统会自动注销这个账户。你可以在个别用户的“.bashrc”文件中添加该值,以便系统对该用?

    改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能。

    2、使用PAM(可插拔认证模块)禁止任何人通过su命令改变为root用户su(Substitute

    User替代用户)命令允许你成为系统中其他已存在的用户。如果你不希望任何人通过su命令改变为root用户或对某些用户限制使用su命令,你可以在su配置文件(在"/etc/pam.d/"目录下)的开头添加下面两行:编辑su文件(vi/etc/pam.d/su),在开头添加下面两行:

    authsufficient/lib/security/pam_rootok.so

    authrequired/lib/security/Pam_wheel.sogroup=wheel

    这表明只有"wheel"组的成员可以使用su命令成为root用户。你可以把用户添加到“wheel”组,以使它可以使用su命令成为root用户。添加方法可以用这个命令:chmod-G10username。

    四、控制台访问安全

    1、取消普通用户的控制台访问权限,你应该取消普通用户的控制台访问权限。比如shutdown、reboot、halt等命令。

    #rm-f/etc/security/console.apps/

    是你要注销的程序名。

    2、不允许从不同的控制台进行root登陆

    "/etc/securetty"文件允许你定义root用户可以从那个TTY

    在/etc/inittab文件中有如下一段话:

    #Rungettysinstandardrunlevels

    1:2345:respawn:/sbin/mingettytty1

    2:2345:respawn:/sbin/mingettytty2

    3:2345:respawn:/sbin/mingettytty3

    4:2345:respawn:/sbin/mingettytty4

    5:2345:respawn:/sbin/mingettytty5

    6:2345:respawn:/sbin/mingettytty6

    系统默认的可以使用6个控制台,即Alt+F1,Alt+F2...,这里在3,4,5,6前面加上“#”,注释该句话,这样现在只有两个控制台可供使用,最好保留两个。然后重新启动init进程,改动即可生效!

    

 

 

转载于:https://www.cnblogs.com/blog-acf/p/7150466.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐