Linux服务器安全技术分析


本文从技术角度来保证Linux服务器的安全,物理上的安全暂时没有考虑

1. Linux安装

(1)分区

当/超过40G,在GRUB引导Linux时回出现寻址的问题,建议Linux分区时将/boot单独分区

/tmp目录单独分区,有助于当/tmp目录下空间不足时而影响到/分区的正常运行,造成服务无法正常启动

(2)相关服务安装

原则:根据项目的需求分析,尽可能少的安装服务但又满足项目的需求。不必要的服务也许会给Linux服务器安全带来隐患。

(3)密码防护

BIOS密码:通过对BIOS进行密码防护,可以有效的防止未经授权的用户使用光盘等介质对系统进行破解或者盗取系统信息的操作等

GRUB密码:对GRUB进行密码防护,可以有效的防止未经授权的用户修改OS启动相关参数进入单用户模式等操作,有效的防止系统信息的泄露

GRUB密码防护具体操作:

#vi /boot/grub/menu.lst

title前添加  password 密码

如果需要md5加密

#grub-md5-crypt

将密码进行md5散列运算

#vi /boot/grub/menu.lst

title前添加    password -md5 密码散列

2.第一次正常启动Linux

(1)#vi /etc/inittab

将默认启动5改为3,有利于降低系统不必要性能资源的浪费

(2)#rm /etc/rc.d/rc3.d/*

系统在安装时会自动安装不必要的服务,因此删除掉这些服务

#chkconfig --level 3 httpd on

添加只要能保证系统启动同时服务器需要的服务等

(3)seLinux

启动seLinux

#seLinux setenforce 1

关闭seLinux  #seLinux setenforce 0

查看seLinux当前状态

#getenforce

进行seLinux上下文初始化

#fixfile relabel /

(4)添加超级用户

#useradd username

#passwd  username

#vi /etc/passwd

将username行更改为username:x:0:0::/root/:/bin/bash (..省略其他内容)

将root行/bin/bash更改为/sbin/nologin

#passwd -l root

锁定root帐户,防止未经授权的用户破解root密码进行不良操作

解锁 passwd -u root

(5)PAM

(6)tcp_wrapper

echo "ALL:ALL:spawn echo "`date` %a access your %d on %A" >>\

/var/log/login_from_otherspace" >>/etc/hosts.deny

拒绝从任何地方的访问,并记录访问者的相关信息,具体参数参考 man hosts.deny

echo "ALL:127.0.0.1 192.168.0.33" >> /etc/hosts.allow

允许本机登录所有服务

echo "sshd:61.1.1.1"

允许远端的IP可以方便的进行sshd

(7)syslog

(8)iptables 以及内核参数

(9)入侵检测IDS

NIDS ---> snort

主动防火墙 --->guardian

HIDS: tripwire 和 LIDS以及seLinux

(10)流量分析

awstats

(11)蜜罐

相关内容