linux 优化参考

来源:互联网 发布:王者荣耀数据封神榜 编辑:程序博客网 时间:2024/06/07 23:20

目录

1概述

2上架规范

2.1配置iLo管理口

2.2硬盘RAID配置

2.3服务器安装导轨

2.4服务器插线要求

3系统安装

3.1系统版本要求

3.2分区要求

3.3安装包要求

3.4用户要求

3.5时间同步要求

3.6字符集

3.7网卡绑定

3.8配置snmp

3.9连存储的服务器

3.10多路径软件

3.11udev配置(块设备管理、ASM组)

3.12CVE漏洞软件包版本

4补丁

4.1系统补丁(仅供参考)

4.2其他应用补丁(仅供参考)

5主机名、账号和口令安全配置基线

5.1主机命名规范

5.2账号安全控制要求

5.3口令策略配置要求

5.4口令复杂度和密码锁定策略配置要求

5.5口令重复次数限制配置要求

5.6设置登录Banner

5.7设置openssh登陆Banner

5.8Pam的设置

5.9root登录策略的配置要求

5.10root的环境变量基线

6网络与服务安全配置标准

6.1最小化启动服务

6.2最小化xinetd网络服务

7文件与目录安全配置

7.1临时目录权限配置标准

7.2重要文件和目录权限配置标准

7.3umask配置标准

7.4core dump状态

7.5ssh的安全设置

7.6bash历史记录

7.7其他注意事项

8系统Banner的配置

9防病毒软件安装

10ITSM监控agent安装

11内核参数优化

12syslog日志的配置

13重启服务器

附件:安全工具


1 概述


本规范适用于某运营商使用Linux操作系统的设备。本规范明确了Linux操作系统在安全配置方面的基本要求,适用于所有的安全等级,可作为编制设备入网测试、安全验收、安全检查规范等文档的参考。


由于版本不同,配置操作有所不同,本规范以Redhat 6.6为例,给出参考配置操作。


2  上架规范


2.1  配置iLo管理口


配置项编号OS_LIUNX_01配置项说明服务器有远程管理端口的,请配置管理ip,进行远程管理配置项命令根据服务器用户手册,自行配置iLo管理口配置项要求必须检查/审计通过ping命令和https协议访问ip,测试ip是否可用

2.2硬盘RAID配置


配置项编号OS_LIUNX_02配置项说明服务器内置硬盘请配置raid,系统raid类型使用raid1,其他硬盘采用raid5配置项命令根据服务器用户手册,按要求自行配置配置项要求必须检查/审计#cat /proc/scsi/scsi      //通用检查办法,检查model字段备注运行时修改:/proc/sys/fs/suid_dumpbale


2.3服务器安装导轨


配置项编号OS_LIUNX_03配置项说明机架服务器使用导轨上架,方便后期维护管理配置项命令根据服务器用户手册,按要求自行配置配置项要求必须检查/审计检查服务器导轨插拔正常

2.4服务器插线要求


1、集成网卡服务器

业务网络要求使用eth0、eth1两网口做双网卡绑定。(个别应用默认顺序取第一个接口mac地址,要求使用前两个端口做业务网络接口)


2、非集成网卡服务器

要求充分考虑网卡与网卡、网口与网口冗余、充分考虑网卡间散热问题。

光口卡同理操作。



3   系统安装


3.1系统版本要求


新上系统全部使用rhel6.6 64位操作系统。

rhel-server-6.6-x86_64-dvd.iso3.52 GB

SHA-256: 16044cb7264f4bc0150f5b6f3f66936ccf2d36e0a4152c00d9236fb7dcae5f32

[root@rhel6-6 /]$ uname -a

Linux rhel6-6 2.6.32-504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

目前机房生产平台用的较多的是rhel5.7和rhel6.1。

有特殊要求的则仍使用rhel6.1。


3.2分区要求


使用LVM分区、文件系统格式采用ext4。


分区大小/boot500Mswap8-16G(物理内存2倍,最大64G。根据实际情况选择)/50G/data剩余空间分配data目录/tools30G/admin30G


3.3安装包要求


安装系统当中要将GCC等所有的开发包和管理包打全,以防后期存在缺包现象。以下包全部安装

Administration Tools

Development Tools

System Tools

telnet  ftp  lrzsz (这三个包要求安装)

“系统管理”菜单:所有包全选安装


servers: "server platform"   "system  administration tools"


“开发”菜单:所有包全选安装


Development : "Additional Development"  "Desktop  platform Development"  "Development tools" "server platform Development"



“语言支持”菜单:要求安装英文语言包、简体中文语言包!




3.4用户要求


根据主机运维工作的实际需求,要求系统初始用户包括以下用户。密码根据项目整体要求配置

root

root用户密码根据要求进行配置

pcloud

新创建用户且附加组为wheel

参考命令:

#useradd -G wheel pcloud

bestpay

新创建用户

#useradd bestpay

logview

新创建用户且附加组为bestpay

参考命令:

#useradd –G bestpay logview

分区赋权

在root用户根目录下按3.3小节分区要求,给分区重新赋权

/data:

  • chown –R  bestpay:bestpay/data

  • chmod 0750/data

/tools:

  • chown –R bestpay:bestpay   /tools

  • chmod 0700/tools

/admin:

  • chown –R bestpay:bestpay   /admin

  • chmod 0750/admin


3.5时间同步要求


在root用户下执行crontab –e

*/5* * * * /usr/sbin/ntpdate 172.18.70.10 172.18.70.20

15 7 * * * /sbin/hwclock –w


3.6字符集


使用系统缺省字符集配置。系统缺省字符集为en_US.UTF-8;有特殊需求,另行配置。修改字符集可以在文件/etc/sysconfig/i18n里改。



3.7网卡绑定


将服务器网卡两两做绑定,网卡绑定为主备模式。服务器网卡要求使用第一块网卡1口和第二块网卡1口;第一块网卡2口和第二块网卡2口;即避免由于单块网卡故障导致的业务中断,可以冗余。


以下为配置示例:

配置虚拟网卡:

[root@rhel6 network-scripts]# cp ifcfg-eth0 ifcfg-bond0

[root@rhel6 network-scripts]# vi ifcfg-bond0

DEVICE=bond0

BOOTPROTO=none

IPADDR=192.168.1.100

NETMASK=255.255.255.0

ONBOOT=yes

TAPE=Ethernet

GATEWAY=192.168.1.254

USERCTL=no 


配置真实网卡:

[root@rhel6 network-scripts]# vi ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

SLAVE=yes            ----写上就不用加开机启动

MASTER=bond0     ----写上就不用加开机启动


[root@rhel6 network-scripts]# vi ifcfg-eth1

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

SLAVE=yes            ----写上就不用加开机启动

MASTER=bond0----写上就不用加开机启动

加载模块让系统支持:

[root@rhel6 ~]vi/etc/modprobe.d/dist.conf

alias bond0 bonding

options bond0 miimon=100 mode=1-----模式1为主备

重启网络并检查配置:

service network restart

lsmod | grep bond

cat/proc/net/bonding/bond0


3.8配置snmp


参照其他平台,共同提名不能使用public,长度必须8位以上,至少三种(大小写字母,符号,特殊符号)结合,配置snmp服务器并指向采集服务器,采集服务器ip为172.18.55.65、172.18.55.66、172.18.55.67

ITSM二期要求新增采集地址:172.18.0.0/24;团体字为Itsm2014roJK!

以下为配置示例:

检查系统是否安装snmp服务

[root@rhel6 ~]# rpm -qa| grep snmp

net-snmp-devel-5.5-31.el6.x86_64

net-snmp-utils-5.5-31.el6.x86_64

net-snmp-5.5-31.el6.x86_64

net-snmp-libs-5.5-31.el6.x86_64

net-snmp-python-5.5-31.el6.x86_64

net-snmp-perl-5.5-31.el6.x86_64SNMP


若无以上包,则安装SNMP服务

1.配置好本地yum服务,使用yum安装

   yum install -y net-snmp*

2.配置SNMP服务开机启动

#service snmpd start

 #chkconfig snmpd on

 #chkconfig --list | grep snmpd  查看开机启动设置是否成功

  snmpd           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭


验证SNMP服务

1.使用snmpwalk获取主机名

[root@rhel6 ~]# snmpwalk -v 2c -c public localhost sysName.0

SNMPv2-MIB::sysName.0 = STRING: rhel6.1

 #snmpwalk用法

 snmpwalk -v 1|2c|3(代表SNMP版本) -c <community string> IP地址 OID(对象标示符)

2.使用snmptranslate命令,检查snmp工具是否可以使用

 # snmptranslate -To | head

 .1.3

 .1.3.6

 .1.3.6.1

 .1.3.6.1.1

 .1.3.6.1.2

 .1.3.6.1.2.1

 .1.3.6.1.2.1.1

 .1.3.6.1.2.1.1.1

 .1.3.6.1.2.1.1.2

 .1.3.6.1.2.1.1.3

查出了部分oid,则表示snmp工具可以正常使用


配置SNMP服务

配置项包括但不限于:

community string

sec.name

sec.model

查看设备节点权限“view all”;被允许查看的sec.model组

指定检测的Process checks

disk checks

Executables/scripts

load average checks



3.9连存储的服务器


必须使用双hba卡;

确保连接到两个控制器的HBA卡/接口冗余;

单个HBA卡故障,或单个HBA卡某个接口故障,都满足冗余


3.10多路径软件


1、多路径配置要求

多路径必须绑定别名;

设置多路径服务为开机启动;

屏蔽掉本地磁盘,本地磁盘不做聚合;

结合数据库规范等配置实施

版本系统自带multipath即可,要求做盘符别名绑定。比如要确保数据库的两个节点扫描到的盘符一致。

注意在blacklist里面过滤本地磁盘!blacklist里面需要有以下参数:

blacklist {

devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

devnode "^hd[a-z]" 

devnode "^sd[a-d]"      过滤条件视实际情况,防止过滤掉多路径块设备!

}


2、多路径安装及配置参数简介

检查multipath是否安装成功:

#lsmod |grep dm_multipath

如果输出没有,则进行安装

#yum –y install device-mapper device-mapper-multipath

查看多路径状态查看模块是否加载成功

[root@rhel6 ~]# multipath -ll

Jan 01 02:36:12 | /etc/multipath.conf does not exist, blacklisting all devices.     --配置文件没有

Jan 01 02:36:12 | A sample multipath.conf file is located at

Jan 01 02:36:12 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf

Jan 01 02:36:12 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf

Jan 01 02:36:12 | DM multipath kernel driver not loaded      --DM模块没加载

如果模块没有加载成功请使用下列命初始化DM,或重启系统

[root@rhel6 ~]# modprobe dm-multipath

[root@rhel6 ~]# modprobe dm-round-robin

[root@rhel6 ~]# service multipathd start

正在启动守护进程multipathd:

查看系统是否安装多路径

[root@rhel6 mapper]# rpm -qa | grep mapper

device-mapper-libs-1.02.62-3.el6.x86_64

device-mapper-multipath-libs-0.4.9-41.el6.x86_64

device-mapper-multipath-0.4.9-41.el6.x86_64

device-mapper-event-libs-1.02.62-3.el6.x86_64

device-mapper-1.02.62-3.el6.x86_64

device-mapper-event-1.02.62-3.el6.x86_64

multipath.conf配置说明

接下来的工作就是要编辑/etc/multipath.conf的配置文件

multipath.conf主要包括defaults、 blacklist、multipaths、devices三部份的配置

defaults是全局配置参数

blacklist用来过滤不需绑定的设备

multipaths用来绑定别名

devices用来定义存储厂商和自定义规则

blacklist配置

blacklist { 

devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

devnode "^hd[a-z]"

devnode "^sd[a-d]" 

}


Multipaths部分配置multipaths和devices两部份的配置。

multipaths {

multipath {

wwid  ****************      #此值multipath -ll可以获取

alias data1               #映射后的别名,可以随便取

}

}


Devices部分配置

devices {

device {

vendor "iSCSI-Enterprise"  #厂商名称

product "Virtual disk"  #产品型号

path_grouping_policy   multibus  #默认的路径组策略

getuid_callout        "/sbin/scsi_id -g -u -s /block/%n" #获得唯一设备号

path_checker       readsector0                      #决定路径状态的方法

path_selector      "round-robin 0"              #选择那条路径进行下一个IO操作的方法

failback        immediate               #故障恢复的模式有immediate和failover两种

no_path_retry      queue #在disable queue之前系统尝试使用失效路径的次数的数值

rr_min_io       100 #在当前的用户组中,在切换到另外一条路径之前的IO请求的数目

}

}


3、多路径配置范例

1)IBM存储DS8000系列官方推荐配置

defaults {

user_friendly_names yes

}

blacklist {

devnode "^hd[a-z]"

devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

devnode "^cciss.*"

}

devices {

device {

vendor "IBM"

product "2107900"

path_grouping_policy multibus

                getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"

                path_selector "round-robin 0"

path_checker tur

features "1 queue_if_no_path"

                hardware_handler "0"

prio const

rr_weight uniform

                rr_min_io 1000

        }

}

multipaths {

multipath {

wwid 3600a098038303553495d47*******

aliasdata1

        }

}

2)IBM存储DS4800系列官方推荐配置

defaults {

user_friendly_names yes

}

blacklist {

devnode "^hd[a-z]"

devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

devnode "^cciss.*"

}

devices {

device {

vendor "IBM"

product "1815"

                path_grouping_policy group_by_prio

                getuid_callout "/sbin/scsi_id -g -u -s /block/%n"

                path_selector "round-robin 0"

path_checker rdac

features "0"

                hardware_handler "1 rdac"

                prio_callout "/sbin/mpath_prio_rdac /dev/%n"

failback immediate

rr_weight uniform

no_path_retry queue

                rr_min_io 1000

        }

}

multipaths {

multipath {

wwid 3600a098038303553495d47*******

aliasdata1

        }

}

3)NetApp存储官方推荐配置

defaults {

user_friendly_names yes

max_fds max

flush_on_last_del yes

queue_without_daemon no

}

blacklist {

devnode "^hd[a-z]"

devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

devnode "^cciss.*"

}

devices {

device {

vendor "NETAPP"

product "LUN"

path_grouping_policy group_by_prio

features "3 queue_if_no_path pg_init_retries 50"

prio "alua"

path_checker tur

failback immediate

path_selector "round-robin 0"

hardware_handler "1 alua"

rr_weight uniform

rr_min_io 128

getuid_callout "/lib/udev/scsi_id -g -u -d /dev/%n"

        }

}

multipaths {

multipath {

wwid 3600a098038303553495d47*******

aliasdata1

        }

}


3.11udev配置(块设备管理、ASM组)


以下只针对数据库服务器,或有多路径需求的服务器,否则可跳过本小节。


1、配置注意事项

multipath配置中将本地磁盘或SCSI设备加入黑名单blacklist

multipath第一次配置完成后重启操作系统;

应用上线后使用multipath –v2、multipath –ll、service multipath reload命令执行初始化扫描检查

udev第一次配置完成后,执行start_udev扫盘操作

应用上线后使用以下命令扫盘

# udevadm control --reload-rules

# udevadm trigger --type=devices --action=change


2、将LUN加载到主机

将刚刚创建的几个LUN加载到数据库的主机组里,映射,后台同步。

分别在节点1和节点2进行如下操作:

先查看机器有几块HBA卡

# ls /sys/class/fc_host/

 host1 host2 host3

写入"---"到“scan”文件,有几张HBA卡就写几次。

# echo "- - -" > /sys/class/scsi_host/host1/scan

# echo "- - -" > /sys/class/scsi_host/host2/scan

# echo "- - -" > /sys/class/scsi_host/host3/scan

然后就可以通过如下命令查看新增的磁盘

#fdisk –l


3、使用UDEV绑定磁盘

以root用户登录数据库服务器节点1,修改以下文件:

vi/etc/udev/rules.d/99-oracle.rules

添加以下内容:

KERNEL=="dm-*", PROGRAM="scsi_id --page=0x83 --whitelisted --device=/dev/%k",RESULT=="3600a098038303553495d474c457a4c62", OWNER:="grid", GROUP:="asmadmin"

KERNEL=="dm-*", PROGRAM="scsi_id --page=0x83 --whitelisted --device=/dev/%k",RESULT=="3600a098038303553495d474c457a4c4c", OWNER:="grid", GROUP:="asmadmin"

……

有几块盘,添加几条,RESULT结果是WWWN号


以root用户登录数据库服务器节点2,修改以下文件:

vi/etc/udev/rules.d/99-oracle.rules

添加以下内容:

KERNEL=="dm-*", PROGRAM="scsi_id --page=0x83 --whitelisted --device=/dev/%k",RESULT=="3600a098038303553495d474c457a4c62", OWNER:="grid", GROUP:="asmadmin"

KERNEL=="dm-*", PROGRAM="scsi_id --page=0x83 --whitelisted --device=/dev/%k",RESULT=="3600a098038303553495d474c457a4c4c", OWNER:="grid", GROUP:="asmadmin"

……

有几块盘,添加几条,RESULT结果是WWWN号


4、查看磁盘所有者及权限

通过udev相关命令重新扫描硬件改动:(此处谨慎操作,注意数据库状态)

# udevadm control --reload-rules

# udevadm trigger --type=devices --action=change

在/dev/目录下查看存储磁盘asm-disk$i

       #cd /dev/

       #ll  |grep asm-disk

注意磁盘权限跟进数据库安装要求进行配置,一般权限为grid:grid

后续查看ASM空间情况、进行ASM相关配置。


3.12CVE漏洞软件包版本


请务必安装以下对应无漏洞版本软件包。


Bash版本要求:

Red Hat Enterprise Linux 6bash-4.1.2-15.el6_5.2

Red Hat Enterprise Linux 5bash-3.2-33.el5_11.4

Red Hat Enterprise Linux 4bash-3.0-27.el4.4

Red Hat Enterprise Linux 7bash-4.2.45-5.el7_0.4


OpenSSH版本要求:

Red Hat Enterprise Linux 6openssh-6.9p1

Red Hat Enterprise Linux 5openssh-6.9p1


OpenSSL版本要求:

Red Hat Enterprise Linux 6 affectedopenssl-1.0.2d

Red Hat Enterprise Linux 5 not affectedopenssl-1.0.2d


Glibc漏洞修复版本要求:

Red Hat Enterprise Linux Server 5glibc-2.5-123.el5_11.1.x86_64

Red Hat Enterprise Linux Server 6glibc-2.12-1.149.el6_6.5.x86_64


4    补丁


4.1系统补丁(仅供参考)


如厂商对安装的Linux操作系统版本有安全公告的,需进行对应的补丁升级。

要求及时安装系统补丁。更新补丁前,要求先在测试系统上对补丁进行可用性和兼容性验证。

系统补丁安装方法为(以下示例若无特别说明,均以RedHat Linux为例):使用up2date命令自动升级或在ftp://update.redhat.com下载对应版本补丁手工单独安装。对于企业版5及之后的版本,可以直接使用yum工具进行系统补丁升级:

yum update        


4.2其他应用补丁(仅供参考)

除Linux开发商官方提供的系统补丁之外,基于Linux系统开发的服务和应用(如APACHE、PHP、OPENSSL、MYSQL等)也必须安装最新的安全补丁。

以RedHat Linux为例,具体安装方法为:首先确认机器上安装了gcc及必要的库文件。然后再应用官方网站下载对应的源代码包,如 *.tar.gz,并解压:

tar zxfv *.tar.gz            

根据使用情况对编译配置进行修改,或直接采用默认配置。

cd *                            

./configure                  

进行编译和安装:

make                          

make install                

注意:补丁更新要慎重,可能出现硬件不兼容、或者影响当前应用系统的情况。安装补丁前,应该在测试机上进行测试。


5    主机名、账号和口令安全配置基线


5.1主机命名规范


为区分不同主机的不同功能,我们对主机名进行统一命名,命名方式按以下规则:

主机名=平台名-应用服务器名-IP后两位;例如,个帐nginx服务器10.168.168.82,主机名应该设置为:grzh-nginx-168-82

其中平台名按照平台的全程缩写,如:个人账户=grzh 应用服务器按照实际应用起名,如:apache=apache  IP即ip的后两位

下面举例个人账户平台nginx应用服务器为例,假设其内网IP为10.168.168.82那么举例如下:

修改主机名,及对应的IP运行如下命令

echo“10.168.168.82   grzh-nginx-168-82”>> /etc/hosts

生效当前配置运行如下命令

hostname grzh-nginx-168-82

对/etc/sysconfig/network、/etc/hosts都要进行修改

注:主机命名中,只能包含字母、数字、连字符(‘-’),并且名称不能以连字符结尾。“连字符”英文名称“hyphen”,不是中划线,请务必区别。


5.2账号安全控制要求


系统中的临时测试账号、过期无用账号等必须被删除或锁定。以RedHat Linux为例,设置方法如下:


锁定用户:#usermod  -L $name

删除用户: userdel $name

需要锁定的用户:games  nobody


5.3口令策略配置要求


要求设置口令策略以提高系统的安全性。例如要将口令策略设置为:非root用户强制在90天内更改口令、之后的10天之内禁止更改口令、用户在口令过期的28天前接受到系统的提示、口令的最小长度为8位。以RedHat Linux为例,可在/etc/login.defs文件中进行如下设置:


#vi  /etc/login.def

PASS_MAX_DAYS  90

PASS_MIN_DAYS   10

PASS_MIN_LEN      8

PASS_WARN_AGE 28


5.4口令复杂度和密码锁定策略配置要求


要求口令输错6次锁定300秒,设定口令输错三次断开连接,最少8位,最少1位小写字母,最少1位数字,最少一位特殊符号。以RedHat Linux为例,在/etc/pam.d/system-auth进行如下设置:(redhat5.1以上版本支持 pam_tally2.so,其他版本使用pam_tally.so)

# vi /etc/pam.d/system-auth

auth  required  pam_tally2.so   deny=6 unlock_time=300


password  requisite  pam_cracklib.so try_first_pass retry=3 minlen=8

lcredit=-1  dcredit =-1    ocredit =-1 



5.5口令重复次数限制配置要求


要求口令重复不能超过5次。以RedHat Linux为例,在/etc/pam.d/system-auth进行如下设置:

# vi /etc/pam.d/system-auth

password    sufficient pam_unix.so   sha512  shadow   nullok

try_first_pass  use_authtok  remember=5


5.6设置登录Banner


设置系统登录Banner

# echo "Authorized  users  only . All  activity may be monitored and reported"  > /etc/motd


5.7设置openssh登陆Banner


通过配置文件配置openssh的Banner

步骤 1 执行如下命令创建ssh banner信息文件:

#touch  /etc/sshbanner

#chown bin:bin  /etc/sshbanner

#chmod 644 /etc/sshbanner

#echo "Authorized  users  only . All  activity may be monitored and reported" > /etc/sshbanner

#echo "Banner /etc/sshbanner" > /etc/ssh/sshd_config

#service  sshd



5.8Pam的设置


指定wheel组用户可以使用su命令

vi /etc/pam.d/su   可发看到如下内容  

#auth            required        pam_wheel.so use_uid 

或 

#auth       required     /lib/security/$ISA/pam_wheel.so use_uid 

去掉前面的注释符“#”号。

若没有时可以添加,但注意顺序。请在

# Uncomment the following line to require a user to be in the "wheel" group.

说明下的首行添加。


5.9root登录策略的配置要求


禁止直接使用root登陆,必须先以普通用户pcloud登录,然后再su成root。


查看/etc/securetty 中包含有console参数

(确保已正确配置了/etc/pam.d/su)

将用户pcloud加入wheel组:

Usermod -G wheel pcloud 


#usermod -G wheel pcloud

id pcloud

uid=504(pcloud) gid=502(pcloud) groups=502(pcloud),10(wheel)


5.10root的环境变量基线


root环境变量基线设置要求如表所示:


/ect/profilePATH设置不含本地目录(.)1、查看root帐号的环境变量.env                                                                                               2、如果root的PATH变量包含本地目录,则去掉本地目录"."



6    网络与服务安全配置标准



所有生产系统,不允许用管理员权限root等用户起应用程序。常见的apache等中间件等所有服务请新建立普通用户启动进程。


6.1最小化启动服务


1、关闭防火墙、selinux

执行:chkconfig --level 12345 iptables off

chkconfig --level 12345 ip6tables off

编辑/etc/selinux/config,修改为“SELINUX=disabled”禁用状态

2、Xinetd服务(可选)

如果xinetd服务中的服务,都不需要开放,则可以直接关闭xinetd服务。

# chckconfig --level 12345  xinetd off

3、关闭邮件服务

1)如果系统不需要作为邮件服务器,并不需要向外面发邮件,可以直接关闭邮件服务。


# chkconfig   --level 12345 sendmail off 

4、关闭图形登录服务(X Windows)

在不需要图形环境进行登录和操作的情况下,要求关闭X Windows。


# vi  /etc/inittab 

id:5:initdedault   //修改为 id:3:initdedault 

配置文件访问权限

chown root:root  /etc/inittab

chmod 0600 /ect/inittab

 

5、关闭Xfont服务器服务

如果关闭了X Windows服务,则X font服务器服务也应该进行关闭。

chkconfig   xfs  off


6、关闭其他默认启动服务

系统默认会启动很多不必要的服务,有可能造成安全隐患。建议关闭以下不必要的服务:

apmd canna FreeWnn gpm hpoj innd irda isdn kdcrotate lvs mars-nwe oki4daemon privoxy rstatd rusersd rwalld rwhod spamassassin wine nfs nfslock autofs ypbind ypserv yppasswdd portmap smb netfs lpd apache httpd tux snmpd named postgresql mysqld webmin kudzu squid cupskrb5-telnetekrb5-telnet


chkconfig   --level  12345 servername  off 


在关闭上述服务后,应同时对这些服务在系统中的使用的账号(如rpc、rpcuser、lp、apache、http、httpd、named、dns、mysql、postgres、squid等)予以锁定或删除。



6.2最小化xinetd网络服务


1、停止默认服务

要求禁止以下Xinetd默认服务:

chargen chargen-udp cups-lpd daytime daytime-udp echo echo-udp eklogin finger gssftp imap imaps ipop2 ipop3 krb5-telnet klogin kshell ktalk ntalk pop3s rexec rlogin rsh rsync servers services


2、其他

对于xinet必须开放的服务,应该注意服务软件的升级和安全配置,并推荐使用SSH和SSL对原明文的服务进行替换。


7    文件与目录安全配置


7.1临时目录权限配置标准


临时目录/tmp、/var/tmp必须包含粘置位,以避免普通用户随意删除由其他用户创建的文件。


# chmod  +t   /tmp         

# chmod +t    /var/tmp



7.2重要文件和目录权限配置标准


在Linux系统中,/usr/bin、/bin、/sbin目录为可执行文件目录,/etc目录为系统配置目录,包括账号文件、系统配置、网络配置文件等,这些目录和文件相对重要。重要文件及目录的权限配置标准必须进行配置。


文件或目录属主属组权限/etc/passwdrootroot-rw-r-r/etc/grouprootroot-rw-r-r/etc/hostsrootroot-rw-r-r/etc/inittabrootroot-rw-r-r


7.3umask配置标准


umask命令用于设置新创建文件的权限掩码。要求编辑/etc/profile文件,设置umask为027。


7.4core dump状态


执行:more /etc/security/limits.conf 检查是否包含下列项:

* soft core 0

* hard core 0

建议:关闭系统的core dump

core dump中可能包括系统信息,易被入侵者利用


7.5ssh的安全设置 


vi /etc/ssh/sshd_config 设定下列选项 

PermitRootLogin no       禁止root用户直接登录

UseDNS no禁用解析

/etc/init.d/sshd restart  设置完重启sshd服务


7.6bash历史记录


为了安全的记录登陆用户所使用的命令内容和时间,请在/etc/profile下添加如下脚本:

TMOUT=300

HISTSIZE=2000 此行在原有配置上修改数字便可

HISTTIMEFORMAT="%F-%T: " 

为使全局变量生效,运行如下命令 source /etc/profile


7.7其他注意事项


如果服务器安装有ftp,请限制ftp用户的根目录,不允许匿名用户登录ftp服务器,不允许root登录ftp服务器,将ftp用户的bash改成false或nologin,将ftp的登录banner改成非系统默认。

关闭本地的iptables和selinux


8    系统Banner的配置


要求修改系统banner,以避免泄漏操作系统名称、版本号、主机名称等,并且给出登陆告警信息。

1.修改/etc/issue文件,加入:

ATTENTION:You have logged onto a secured server. ONLY Authorized users can access.

2.修改/etc/issue.net文件,加入:

ATTENTION:You have logged onto a secured server. ONLY Authorized users can access.


9防病毒软件安装

为了服务器的安装,安装完统一安装防病毒软件具体安装方法见《上海某运营商 SAV for Linux 客户端安装配置维护手册》

防病毒软件介质通过ftp下载:

地址:  端口:

用户名:   密钥:


10ITSM监控agent安装


为了实现对主机运行状态的监控,需要安装ITSM监控代理。通过FTP服务器上传安装文件“nimldr.tar.Z”至服务器/tmp目录下。具体操作步骤如下:

chmod +x nimldr.tar    #增加可执行权限

./nimldr           #执行安装

在安装的过程中须要注意以下几点:

安装需要使用root权限。

安装过程中需要输入的HUB的 IP是:172.18.138.41

安装中需要输入的服务器账号和密码是:administrator/ ibCAadmin980

回退操作:

卸载时运行命令:

Turn off all NMS processes: /opt/Nimsoft/bin/niminit stop 

Remove the robot: /opt/Nimsoft/bin/inst_init.sh remove

删除安装目录/opt/nimsoft 目录下的所有文件

注:

软件安装目录是:/opt/Nimsoft

成功安装后,显示:Cleaning up temporary files

Finished Robot installation!


11内核参数优化


1、调整以下内核参数,以提高系统安全性:

设置tcp_max_syn_backlog,以限定SYN队列的长度

设置rp_filter为1,打开反向路径过滤功能,防止ip地址欺骗

设置accept_source_route为0,禁止包含源路由的ip包

设置accept_redirects为0,禁止接收路由重定向报文,防止路由表被恶意更改

设置secure_redirects为1,只接受来自网关的“重定向”icmp报文

配置方法为:


net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.secure_redirects = 0


chown  root:root /etc/sysctl.conf
chmod  600 /etc/sysctl.conf


在系统不作为不同网络之间的防火墙或网关时,要求进行如下设置。

设置ip_forward为0,禁止ip转发功能

设置send_redirects为0,禁止接收转发重定向报文

配置方法如下:


#  vi /etc/sysctl.conf

net.ipv4.ip_forward = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0



以上描述的实际操作,只需在/etc/sysctl.conf文件加入如下内容便可:

net.ipv4.tcp_max_syn_backlog = 4096

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.ip_local_port_range = 1024 65535

net.ipv4.tcp_keepalive_time = 1800

net.ipv4.tcp_keepalive_probes = 5

net.ipv4.tcp_keepalive_intvl = 30

2、调整文件最大打开数、进程数

vi /etc/security/limits.conf(在最后添加如下参数)   

*                soft   nproc           102400

*                hard   nproc           102400

*                soft   nofile          102400   

*                hard   nofile          102400

vi /etc/security/limits.d/90-nproc.conf(文件做以下修改)

*                soft   nproc           102400

*                hard   nproc           102400

*      soft    nofile           102400

*      hard    nofile           102400

root       soft    nproc     unlimited

为了使用户下次登录时生效,我们必须在用户登录时调用pam_limits.so模块。

#vi /proc/sys/fs/file-max

数字大于limits.conf里面设置的值

vi /etc/pam.d/login

在最后加入

session required pam_limits.so #这样用户下次登录就生效了,需重启应用


12syslog日志的配置


1.syslog的基线配置


2.要求将日志输出至日志服务器,或者至少输出至本地文件中。


13重启服务器


在服务器第一次配置,对以上初始配置操作完成后,请操作人员务必重启一次服务器!!!

系统重启完成后确认用户可正常登陆,网络可正常访问。


附件:安全工具

lsof   :报告进程打开的文件、进程侦听的端口

logwatch: 日志分析工具

chkrootkit:检测工具,检测rootkit。


原创粉丝点击