主頁 > 知識庫 > CentOS系統(tǒng)常規(guī)初始化操作詳解

CentOS系統(tǒng)常規(guī)初始化操作詳解

熱門標(biāo)簽:北京大興區(qū)地圖標(biāo)注中心 浙江虛擬外呼系統(tǒng)費(fèi)用 北京外呼系統(tǒng)官網(wǎng) 荊門真人語音電話機(jī)器人哪個(gè)好 ai外呼系統(tǒng)定制 AI智能語音外呼系統(tǒng)是什么 淮安人工外呼系統(tǒng) 新鄉(xiāng)智能電話機(jī)器人有用嗎 海外文化宮地圖標(biāo)注

環(huán)境準(zhǔn)備:

1)設(shè)置本地國際化語言為en_US.UTF-8

[root@c58 ~]# sed -i 's/^\(LANG=\).*$/\1"en_US.UTF-8"/' /etc/sysconfig/i18n

[root@c58 ~]# cat /etc/sysconfig/i18n

LANG="en_US.UTF-8"

[root@c58 ~]# LANG=en_US.UTF-8

2)更新系統(tǒng)軟件包

  備份默認(rèn)yum源:

 find /etc/yum.repos.d -name '*.repo' -exec mv {} {}.bak \;

  添加163yum源:

  redhat5或centos5:

 wget http://mirrors.163.com/.help/CentOS5-Base-163.repo -P /etc/yum.repos.d

     redhat6或centos6

 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -P /etc/yum.repos.d

  添加epel yum源:

  redhat5.x 32bit:

 rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

  redhat5.x 64bit:

 rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

  redhat6.x 32bit:

 rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

  redhat6.x 64bit:

 rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

>

  更新證書:

 yum -y upgrade ca-certificates --disablerepo=epel

  更新系統(tǒng)所有軟件包:

 yum clean allyum makecacheyum -y upgrade

下文以redhat5/centos5為例

一、服務(wù)最小化原則

關(guān)閉所有開機(jī)自啟動(dòng)服務(wù),僅開啟sshd、crond、network、iptables、syslog(redhat5)、rsyslog(redhat6),然后在此基礎(chǔ)上按需添加需要開機(jī)啟動(dòng)的服務(wù)。

1)關(guān)閉所有開機(jī)自啟動(dòng)服務(wù)

[root@c58 ~]# for i in `chkconfig --list | awk '{if ($1~/^$/) {exit 0;} else {print $1}}'`; do chkconfig $i off; done

2)開啟基礎(chǔ)服務(wù)

[root@c58 ~]# for i in sshd network syslog crond iptables; do chkconfig $i on; done

3)查看開啟的服務(wù)

[root@c58 ~]# chkconfig --list | grep '3:on'

crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off

iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off

network         0:off   1:off   2:on    3:on    4:on    5:on    6:off

sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off

syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off

二、用戶登錄限制

1)禁止使用root用戶使用遠(yuǎn)程ssh

[root@c58 ~]# cd /etc/ssh

[root@c58 ssh]# cp sshd_config sshd_config~

[root@c58 ssh]# sed -i 's/#\(PermitRootLogin \)yes/\1no/' sshd_config

[root@c58 ssh]# grep 'PermitRoot' /etc/ssh/sshd_config

PermitRootLogin no

2)禁用登錄提示信息

[root@c58 ssh]# >/etc/motd

3)修改ssh的默認(rèn)監(jiān)聽端口(tcp:22)

#這里修改為tcp的11983端口

[root@c58 ssh]# sed -i 's/#\(Port \)22/\11983/' sshd_config

[root@c58 ssh]# grep 'Port ' sshd_config

Port 11983

4)只允許指定的ip可以ssh (可選)

方法1(使用tcpwrapper):

#只允許192.168.124.0網(wǎng)段的ip使用ssh

echo "sshd:192.168.124.0/255.255.255.0" >> /etc/hosts.allow   

echo "sshd:ALL" >> /etc/hosts.deny

方法2(使用iptables):

#注意,遠(yuǎn)程操作時(shí)需留心,以免把自己也拒絕而導(dǎo)致無法遠(yuǎn)程連接。如只允許192.168.1.0網(wǎng)段的所有ip進(jìn)行ssh,其他所有ip都拒絕#先允許自己的ip,以防被后面的操作誤傷

iptables -I INPUT -s 10.0.0.1 -p tcp --dport 22 -j ACCEPT

#允許192.168.1.0網(wǎng)段

iptables -I 2 INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT

#拒絕所有

iptables -I 3 INPUT -p tcp --dport 22 -j DROP

#保存iptables的設(shè)置:

cp /etc/sysconfig/iptables /etc/sysconfig/iptables~

iptables-save > /etc/sysconfig/iptables

最后,重啟sshd服務(wù)使上面配置生效(不用擔(dān)心重啟時(shí)已打開的遠(yuǎn)程終端連接會(huì)斷開,重啟只會(huì)對新開的終端生效)

[root@c58 ssh]# /etc/init.d/sshd restart

Stopping sshd:                                             [  OK  ]

Starting sshd:                                             [  OK  ]

三、用戶及命令權(quán)限最小化

創(chuàng)建一個(gè)普通用戶tom,將其加入sudo組,該用戶作為系統(tǒng)管理員

groupadd sudo                 #創(chuàng)建sudo組

useradd -G sudo tom           #創(chuàng)建tom用戶,加入sudo組

passwd tom                    #設(shè)置tom用戶的登陸密碼

修改sudo配置文件,授權(quán)sudo組的用戶可以以root身份執(zhí)行所有命令(可以針對不同用戶授予不同的命令執(zhí)行權(quán)限,這里允許執(zhí)行所有命令,生產(chǎn)環(huán)境中系統(tǒng)管理員應(yīng)該按需為用戶分配盡可能少的可執(zhí)行命令,以實(shí)現(xiàn)權(quán)限最少化),用戶執(zhí)行的所有sudo操作都將記錄在/var/log/sudo.log中,以便日后的安全事件排查。執(zhí)行命令如下:

[root@cloud ~]# cat >> /etc/sudoers EOF

> %sudo    ALL=(root)    ALL

> Defaults    logfile=/var/log/sudo.log

> EOF

[root@cloud ~]# visudo -c 

[root@cloud ~]# echo "local2.debug        /var/log/sudo.log" >> /etc/syslog.conf

[root@cloud ~]# /etc/init.d/syslog restart

注:"visudo -c"命令用于檢查 /etc/sudoers 文件的語法正確性

四、內(nèi)核安全參數(shù)設(shè)置

vim /etc/sysctl.conf                #添加如下內(nèi)容:

#關(guān)閉對ping包的響應(yīng)(可選,一般不建議,因?yàn)椴环奖憔W(wǎng)絡(luò)故障時(shí)的排查)

net.ipv4.icmp_echo_ignore_all = 1

#關(guān)閉對廣播ping的響應(yīng)

net.ipv4.icmp_echo_ignore_broadcasts = 1  

#開啟syncookie用于防范syn flood攻擊,當(dāng)出現(xiàn)syn等待隊(duì)列溢出時(shí)(syn數(shù)量超過tcp_max_syn_backlog的設(shè)置值),啟用cookie來處理,server在回復(fù)syn_ack前會(huì)先請求client回復(fù)一個(gè)序列號,該序列號中要求包含原先syn包中的信息,如果序列號不正確,則server端會(huì)忽略此syn連接。

net.ipv4.tcp_syncookies = 1 

#設(shè)置sync_ack的最大重傳次數(shù),默認(rèn)值為5,范圍0-255,重傳5次的時(shí)間大約為180s

net.ipv4.tcp_synack_retries =  3

# 設(shè)置當(dāng)keepalive打開的情況下,keepalive消息的發(fā)送間隔,默認(rèn)為2小時(shí)(由于目前網(wǎng)絡(luò)攻擊等因素,造成了利用這個(gè)進(jìn)行的攻擊很頻繁,如果兩邊建立了連接,然后不發(fā)送任何數(shù)據(jù)或者rst/fin消息,那么持續(xù)的時(shí)間就是2小時(shí),成就了空連接攻擊,tcp_keepalive_time就是預(yù)防此情形的.)

net.ipv4.tcp_keepalive_time = 1200

保存退出后,執(zhí)行"sysctl -p"命令將以上設(shè)置加載到內(nèi)核使其立刻生效

五、 內(nèi)核性能相關(guān)參數(shù)設(shè)置(可選)

vim /etc/sysctl.conf                #添加如下內(nèi)容:

#設(shè)置syn等待隊(duì)列的長度,對于內(nèi)存大于128M的機(jī)器,默認(rèn)值是1024,在并發(fā)請求較大時(shí),可以調(diào)大該值

net.ipv4.tcp_max_syn_backlog

#開啟timewait重用。允許將time_wait socket重新用于新的tcp連接

net.ipv4.tcp_tw_reuse = 1

#開啟tcp連接中time_wait socket的快速回收  

net.ipv4.tcp_tw_recycle = 1

#TCP發(fā)送keepalive探測以確定該連接已經(jīng)斷開的次數(shù),默認(rèn)值為9

net.ipv4.tcp_keepalive_probes = 5 

#指定探測消息發(fā)送的頻率,該值乘以tcp_keepalive_probes就可以得到從開始探測到連接被刪除所需的時(shí)間。默認(rèn)值為75,也就是沒有活動(dòng)的連接將在大約11分鐘以后將被丟棄。(對于普通應(yīng)用來說,這個(gè)值有一些偏大,可以根據(jù)需要改小.特別是web類服務(wù)器需要改小該值,15是個(gè)比較合適的值)

net.ipv4.tcp_keepalive_intvl = 15  

#表示系統(tǒng)同時(shí)保持TIME_WAIT socket的最大數(shù)量,如果超過這個(gè)數(shù)字,TIME_WAIT套接字將立刻被清除并輸出警告信息。默認(rèn)為180000,改為5000.對于squid服務(wù)器來說,此參數(shù)可以控制TIME_WAIT套接字的最大數(shù)量,避免squid服務(wù)器被大量的TIME_WAIT socket拖死。

net.ipv4.tcp_max_tw_buckets = 5000

#表示向外連接的端口范圍。默認(rèn)值很?。?2768~61000,改為1024~65000

net.ipv4.ip_local_port_range=1024 65000

保存退出后,執(zhí)行"sysctl -p"命令將以上設(shè)置加載到內(nèi)核使其立刻生效

標(biāo)簽:亳州 梅州 贛州 安陽 蚌埠 南通 阿里 盤錦

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《CentOS系統(tǒng)常規(guī)初始化操作詳解》,本文關(guān)鍵詞  CentOS,系統(tǒng),常規(guī),初始化,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《CentOS系統(tǒng)常規(guī)初始化操作詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于CentOS系統(tǒng)常規(guī)初始化操作詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章