针对最近越来越多的安全事件曝光,服务器的安全问题浮出水面,这里介绍总结一些小的安全技巧,帮助加固服务器。

注意:再高超的安全技术手段也比不了良好的安全意识!

一、信息安全防护的目标

保密性,Confidentiality完整性,Integrity可用性,Usability可控制性,Controlability不可否认性,Non-repudiationLinux服务器安全加固教程

二、安全防护环节

物理安全:各种设备/主机、机房环境系统安全:主机或设备的操作系统应用安全:各种网络服务、应用程序网络安全:对网络访问的控制、防火墙规则数据安全:信息的备份与恢复、加密解密管理安全:各种保障性的规范、流程、方法

三、LINUX系统加固

1、阻止普通用户关机

    [root@svr1 ~]# cd /etc/security/console.apps/ [root@svr1 console.apps]# mkdir -m 700 locked [root@svr1 console.apps]# mv poweroff locked/

2、设置普通用户密码各个时间:

-m密码最短有效时间

-M最长

-W:警告waring

-I:不活跃时间inactive

-E:失效时间 expire

设置普通用户下一次登陆必须改密码

    [root@localhost ~]# chage -d 0 alice

3、清理非登录账号

删除冗余账号 ;

/sbin/nologin,禁止登录shell

4、帐号锁定操作

    [root@localhost ~]# passwd -l alice [root@localhost ~]# passwd -S alice [root@localhost ~]# passwd -u alice [root@localhost ~]# usermod -L alice [root@localhost ~]# usermod -U alice

-l:锁定、-u解锁、-S查看状态、

-L:usermod下的锁定;

U:usermod的解锁

5、配置文件/etc/login.defs

对新建的用户有效

主要控制属性

PASS_MAX_DAYSPASS_MIN_DAYSPASS_WARN_AGE

6、设置最大历史命令条目数

    # vim /etc/profile ->改HISTSIZE参数 HISTSIZE

7、文件系统规划及挂载

mount挂载选项

-o noexec :不可执行

-o nosuid :

8、合理挂载文件系统

/etc/fstab中的defaults是挂载选项,

可以添加ro(只读)等限制

9、文件加锁、解锁

把/etc/hosts变成绝对只读文件

把/etc/hosts变成只能追加内容的文件

    # chattr +a /etc/hosts # chattr +/- i/a # lsattr /etc/hosts

+a:追加

+i:只读(一成不变的)

(change attribute + immutable)

(change attribute + append only)

10、tty终端控制

配置文件 /etc/sysconfig/init

    ACTIVE_CONSOLES=/dev/tty[1-6]//默认允许使用1-6个tty终端

立即禁止普通用户登录

    # touch /etc/nologin

默认是没有这个文件的,创建一个空文件之后,普通用户是无法登陆的,只允许root从指定的几个终端登录

配置文件 /etc/securetty

11、伪装终端登陆提示,防止系统版本信息泄漏

    #vim /etc/issue//本地登陆提示信息 /etc/issue.net//网络登陆提示信息,如telnet

12、禁止Ctrl+Alt+Del重启

配置文件:/etc/init/control-alt-delete.conf

    [root@svr1 ~]# vim /etc/init/control-alt-delete.conf # start on control-alt-delete//注释掉此行即可 exec /sbin/shutdown -r now .. ..

13、GRUB引导控制

引导设密的作用:

-- 限制修改启动参数

-- 限制进入系统

密码设置方法:

-- passwd --md5 加密的密码串

-- 或者,passwd 明文密码串

    [root@svr1 ~]# grub-md5-crypt//生成MD5加密的密码串 [root@svr1 ~]# vim /boot/grub/grub.conf default=0 timeout=3 password --md5 $1$tt3gH1$8nZtL70J/Gv/dAaUm/1 title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-358.el6.x86_64 .. .. initrd /initramfs-2.6.32-358.el6.x86_64.img

14、sudo

管理员需要让tom和Alice管理用户的创建、删除、修改、设置密码操

作。但是又不能把root密码告诉他们。

# visudo #建议用visudo命令,因为有语法检查;也可以用vim 编辑/etc/sudoers

    [root@svr1 ~]# grub-md5-crypt//生成MD5加密的密码串 [root@svr1 ~]# vim /boot/grub/grub.conf default=0 timeout=3 password --md5 $1$tt3gH1$8nZtL70J/Gv/dAaUm/1 title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-358.el6.x86_64 .. .. initrd /initramfs-2.6.32-358.el6.x86_64.img

15、初始化操作系统

# touch /.unconfigured #重启之后系统会要求你重新修改密码,配置ip地址

# reboot

# 重启之后/.unconfigured文件会消失

16、安全使用程序和服务

禁用非必要的系统服务

    #ntsysv

关闭像NetworkManager这样的系统服务或者用chkconfig

    # chkconfig NetworkManager off

17.tty终端控制

允许启用哪些tty终端

配置文件:/etc/sysconfig/init

    ACTIVE_CONSOLES=/dev/tty[1-6]

立即禁止普通用户登录

编辑/etc/nologin,把需要禁止的用户名写进去;注意文件默认是不存在的,需要手动创建

只允许root从指定的几个终端登录

配置文件:/etc/securetty

18.伪装终端登录提示

配置文件:/etc/issue . /etc/issue.net

避免泄漏系统和内核信息

19.利用pam机制:

例一:只有wheel组的成员才可以切换成root用户

    # vim /etc/pam.d/su ->打开auth required 这行的注释

以tom身份登陆,执行su –操作,即使输入正确的root密码,也不能登陆

    # usermod -aG wheel tom ->把tom加入到wheel组

再次执行su –操作,tom可以切换成root用户

例二:禁止tom从tty2登陆

    # vim /etc/pam.d/login ,加入下面一行 account required pam_access.so # vim /etc/security/access.conf ,尾部增加 - : tom : tty2

例三:只允许tom用户打开两个文件

查看/etc/pam.d/system-auth中包含

session required pam_limits.so

# vim /etc/security/limits.conf ,尾部增加

    tom hard nofile 2

不管是切换成为tom,还是以tom身份登陆 ,都被禁止。

例四:创建文件/etc/vsftpd/ftpgrps,该文件中的组不能访问ftp

    # groupadd denyftp # usermod -aG denyftp tom # echo ‘denyftp’ > /etc/vsftpd/ftpgrps # vim /etc/pam.d/vsftpd ,尾部增加 auth required pam_listfile.so item=group sense=deny file=/etc/vsftpd/ftpgrps onerr=succeed 验证,tom登陆ftp,登陆不成功,检查/var/log/secure日志
相关文章