CentOS6.x基础工作环境配置

CentOS6.x基础工作环境配置

 

一、系统安装

系统安装时采用最小化原则,只安装base services。安装完毕后首先运行yum update 更新系统,重启。

 

二、基本系统配置

1、同步系统时间

ntpdate cn.pool.ntp.org;hwclock --systohc

将系统时间同步写入crontab,每天零时自动校时。

crontab -e

0 * * * * ntpdate cn.pool.ntp.org;hwclock --systohc

 

2、禁用不必要的系统服务

chkconfig --level 0123456 cups off

chkconfig --level 0123456 ip6tables off

#如未启用nfs,则相关服务可以关闭

chkconfig --level 0123456 netfs off

chkconfig --level 0123456 nfslock off

#如无邮件需求,则相关服务可以关闭

chkconfig --level 0123456 postfix off

 

3、删除不必要的系统用户

/usr/sbin/userdel adm

/usr/sbin/userdel lp

/usr/sbin/userdel shutdown

/usr/sbin/userdel halt

/usr/sbin/userdel news

/usr/sbin/userdel uucp

/usr/sbin/userdel operator

/usr/sbin/userdel games

/usr/sbin/userdel gopher

#如不使用ftp服务则删除ftp用户

/usr/sbin/userdel ftp

#如不使用同步服务则删除sync用户

/usr/sbin/userdel sync

 

4、处理/etc/sysctl.conf

编辑/etc/sysctl.conf添加如下内容,保存退出。

net.ipv4.tcp_max_syn_backlog = 4096  #限定SYN队列的长度

net.ipv4.ip_forward = 0  #禁止ip转发功能

net.ipv4.conf.all.send_redirects = 0  #禁止转发重定向报文

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.all.rp_filter = 1  #打开反向路径过滤功能,防止ip地址欺骗

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.all.accept_source_route = 0  #禁止包含源路由的ip

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.all.accept_redirects = 0  #禁止接收路由重定向报文,防止路由表被恶意更改

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0  #只接受来自网关的“重定向”icmp报文

net.ipv4.conf.default.secure_redirects = 0

net.ipv4.icmp_echo_ignore_broadcasts = 1  # 禁止ICMP重定向

 

更改文件属性

chmod 600 /etc/sysctl.conf

 

5、只允许root执行cron/at

echo root > /etc/cron.allow

echo root > /etc/at.allow

chown root:root /etc/cron.allow

chown root:root /etc/at.allow

chmod 400 /etc/cron.allow

chmod 400 /etc/at.allow

 

6、修改系统Banner

编辑 /etc/issue/etc/issue.net两个文件删除所有系统相关信息,建议改为“Welcome to Server”。

 

7、处理/etc/hosts.equiv

A、不需要/etc/hosts.equiv

预先生成/etc/hosts.equiv文件,并且设置权限为0000,防止被写入"++"

B、需要/etc/hosts.equiv

·文件属主确保为root,设置权限为0600,防止被写入"++"

·如果使用NIS或者NIS+的话,此文件中的组应该是容易管理的。

·信赖主机使用全名

·任何时候都不应该出现”+”字符

·文件中不要使用'!' '#'符号,因为在该文件中那并不表示注释信息

·文件开始字符不应该为'-'.,请查阅C8

·确保该文件的访问权限被设置成600

·在每次安装补丁程序或操作系统之后,都应该重新检查该文件夹的设置情况

 

8、处理/etc/aliases

修改/etc/aliases文件,注释掉decodegamesingresssystemtoormanager,在文件最后加入root: <填写管理员邮箱>,保存退出。使用/usr/bin/newaliases命令激活新配置。确保文件属主为root

 

9、禁止ctrl+alt+del重启

CentOS 6.x :

编辑/etc/init/control-alt-delete.conf注释

start on control-alt-delete

exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

保存退出,重启后生效。

 

CentOS 5.x :

编辑/etc/inittab,注释

ca::ctrlaltdel:/sbin/shutdown -t3 -r now 

保存退出。执行/sbin/init q ,使设置生效。

 

10、设置用户口令安全机制

编辑 /etc/login.defs,修改如下内容

PASS_MAX_DAYS   90 #口令需要修改的天数,根据实际情况设置

PASS_MIN_DAYS   7 #口令不可修改的天数,根据实际情况设置

PASS_MIN_LEN    7 #口令最小长度

PASS_WARN_AGE   28 #警告期限

 

11、禁止root直接登陆

echo "console" > /etc/securetty

 

12、修改/etc/rc.d/init.d目录中脚本文件权限,确保只有root帐号可以执行。

chmod -R 700 /etc/rc.d/init.d/*

 

13、禁止在/etc/passwd中包含个人信息

 

14、调整history大小

编辑/etc/profile,将HISTSIZE改为0或适当的值,保存退出。

清空当前history,执行history -c 

立即写入history,执行history -w 

 

三、日常运维

1、查找无明确属主的文件

find / -nouser -nogroup

 

2、查找所有用户可写文件和目录

find / -type f -perm +002

find / -type d -perm +002

 

3、查找空口令用户,应该为空

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

 

4、查找UID0的用户,应该只有root

awk -F: '($3 == 0) { print $1 }' /etc/passwd

 

5、检查/etc/profile,禁止$PATH含当前目录".",也可通过下面的命令查找

echo $PATH | egrep '(^|:)(\.|:|$)'

 

6、查找具有suidsgid权限的文件

find / -perm -6000

 

7、检查除/dev以外,是否有特殊的块文件

find / \( -type b -o -type c \) -print | grep -v '^/dev/'

 

四、重要文件及目录权限配置标准

文件或目录名称

所属

权限

/etc/passwd

root:root

-rw-r--r--

/etc/shadow

root:root

-rw-r--r--

/etc/group

root:root

-rw-r--r--

/etc/hosts

root:root

-rw-r--r--

/etc/services

root:root

-rw-r--r--

/tmp

root:root

-rw-rw-rwt

/var/tmp

root:root

-rw-rw-rwt

 

 

 

五、其他

1、安全配置基本原则

只对外开放所需要的服务,关闭所有不需要的服务。对外提供的服务越少,所面临的外部威胁越小。

将所需的不同服务分布在不同的主机上,这样不仅提高系统的性能,同时便于配置和管理,减小系统的安全风险。

 

posted @ 2012-12-06 10:52  lykyl的自留地  阅读(3597)  评论(0编辑  收藏  举报