linux 優化參考

目錄

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。


分區 大小
/boot 500M
swap 8-16G(物理內存2倍,最大64G。根據實際情況選擇)
/ 50G
/data 剩餘空間分配data目錄
/tools 30G
/admin 30G


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/profile PATH設置不含本地目錄(.) 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/passwd root root -rw-r-r
/etc/group root root -rw-r-r
/etc/hosts root root -rw-r-r
/etc/inittab root root -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。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章