天天看點

一般生産環境Linux伺服器配置

1.生産環境Linux伺服器系統版本的選擇

選擇CentOS6.5版本64位的Linux作業系統

CentOS (Community Enterprise Operating System,中文意思是:社群企業作業系統)是Linux發行版之一,它是來自于紅帽的Red Hat Enterprise Linux依照開放源代碼規定釋出的源代碼所編譯而成。由于出自同樣的源代碼,是以和紅帽商業版的RHEL系統用着同樣的高度穩定性。兩者的不同,在于CentOS并不包含紅帽的商業支援和一些RHEL商業版隐藏的功能。CentOS是完全開源和免費的,企業可以在生産環境上自由部署

2.一般伺服器的初始磁盤分區

1)/boot引導分區,存放引導檔案和核心等。分區大小設定200M。

一般正式環境下,Linux引導檔案及核心全部大小在100M以内。

2)swap交換分區,作為虛拟記憶體使用,用于當實體記憶體不足時,調用硬碟的一部分當記憶體使用。使用虛拟記憶體,會保障伺服器在記憶體不足的時候不會當機。

一般生産環境伺服器記憶體較大,交換分區大小與記憶體相同即可

3)/分區根分區,将分完/boot和swap分區剩下的空間都分給/分區

3.資料庫伺服器的初始磁盤分區

1)/boot引導分區,分區大小設定200M

2)swap交換分區,交換分區大小與記憶體相同

3)邏輯卷建立LVM邏輯卷,将邏輯卷挂載到相應的檔案路徑,後期可以輕松擴充或減小檔案系統的大小

4)/分區根分區使用邏輯卷, 資料庫伺服器的根分區主要存放系統相關檔案、日志、使用者資訊等,由于不用存放資料檔案,并且可以通過邏輯卷随意擴充,大小滿足系統運作需要即可。lv大小設定200G

5)資料分區為資料庫軟體和資料庫檔案單獨劃分一個邏輯卷分區,以保證資料的獨立性和安全性,如果Linux作業系統崩潰,可以格式化/boot分區和根分區重新安裝系統,而保留資料分區下的資料庫軟體和資料檔案。将所有剩餘的卷組空間都配置設定給資料分區的邏輯卷,Mysql資料庫一般将資料分區挂載在/usr/local,Oracle資料庫一般将資料分區挂載在/u02上

4.多網卡綁定bond配置

生産環境多塊實體網卡,需要用bond綁定為一塊虛拟網卡對外提供服務,配置一個ip,可以實作網卡的負載均衡和高可用性,規劃生産環境用兩塊網卡eth0、eth1綁定為bond0

1)虛拟網卡bond0配置檔案

vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

BOOTPROTO=none

ONBOOT=yes

IPADDR=192.168.10.93

NETMASK=255.255.255.0

GATEWAY=192.168.10.1

2)實體網卡eth0配置檔案

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

MASTER=bond0

SLAVE=yes

3)實體網卡eth1配置檔案

vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

4)修改modprobe相關設定檔案,并加載bonding子產品

vim /etc/modprobe.d/bonding.conf

alias bond0 bonding

options bond mode=0 miimon=100

mode模式:0提供負載均衡和高可用,按順序輪流把包發給綁定在在bond口内的網卡

1主備政策,提供高可用性,邏輯簡單,同時隻有一個網卡處于激活狀态,一個失敗,另外一個自動激活

miimon:監視網絡連結的頻度,機關是毫秒

5)加載子產品(或重新開機)

modprobe bonding

6)檢視子產品加載情況

lsmod | grep bonding

7)重新開機網絡

service network restart

8)确認綁定情況

cat /proc/net/bonding/bond0

ifconfig

5.關閉本地防火牆

iptables -F

iptables –L

service iptables save

6.關閉NetworkManager服務

service NetworkManager stop

chkconfig NetworkManager off

7.賬戶安全權限配置

1)禁用root以外的超級使用者

cat /etc/passwd | awk -F ':' '{print $1,$3}' | grep ' 0$' 檢測其他超級使用者

passwd -l username鎖定使用者

2)删除不必要的賬号

awk -F : '{print $1}' /etc/passwd | grep -E 'adm|lp|sync|shutdown|halt|news|uucp|operator|games|gopher'

userdel username

3)删除不必要的組

awk -F : '{ print $1 }' /etc/group | grep -E 'adm|lp|news|uucp|games|dip|pppusers|popusers|slipusers'

groupdel groupname

4)設定root使用者密碼

passwd

5)檢查空密碼賬号,如發現則設定密碼

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

passwd username

6)密碼檔案加鎖

chattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/group

chattr +i /etc/gshadow

當需要改密碼的時候,要先解鎖shadow檔案:

chattr –i /etc/shadow

7)設定root賬戶自動登出時限

vim /etc/profile

在"HISTFILESIZE="後面加入下面

TMOUT=300

8)限制普通使用者通過su切換為root使用者

vim /etc/pam.d/su

auth required pam_wheel.so use_uid

如果需要使用者可以su成為root,要将其加入wheel組

usermod -G 10 username

9)限制普通使用者無法執行關機、重新開機、配置網絡等敏感操作

rm -rf /etc/security/console.apps/*

10)禁用Ctrl+Alt+Delete組合鍵重新啟動機器指令

vim /etc/inittab

#ca::ctrlaltdel:/sbin/shutdown-t3-rnow

11)設定開機啟動項權限

chmod –R 700 /etc/rc.d/init.d/

12)避免login時顯示系統和版本資訊

rm -rf /etc/issue

rm -rf /etc/issue.net

13)删除多餘登入終端

vim /etc/securetty

tty1

#tty2

繼續閱讀