新聞中心
小編給大家分享一下CentOS系統(tǒng)常規(guī)初始化操作的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供堆龍德慶網(wǎng)站建設、堆龍德慶做網(wǎng)站、堆龍德慶網(wǎng)站設計、堆龍德慶網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、堆龍德慶企業(yè)網(wǎng)站模板建站服務,10多年堆龍德慶做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
環(huán)境準備:
1)設置本地國際化語言為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)軟件包
備份默認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為例
一、服務最小化原則
關閉所有開機自啟動服務,僅開啟sshd、crond、network、iptables、syslog(redhat5)、rsyslog(redhat6),然后在此基礎上按需添加需要開機啟動的服務。
1)關閉所有開機自啟動服務
[root@c58 ~]# for i in `chkconfig --list | awk '{if ($1~/^$/) {exit 0;} else {print $1}}'`; do chkconfig $i off; done
2)開啟基礎服務
[root@c58 ~]# for i in sshd network syslog crond iptables; do chkconfig $i on; done
3)查看開啟的服務
[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用戶使用遠程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的默認監(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):
#注意,遠程操作時需留心,以免把自己也拒絕而導致無法遠程連接。如只允許192.168.1.0網(wǎng)段的所有ip進行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的設置:
cp /etc/sysconfig/iptables /etc/sysconfig/iptables~
iptables-save > /etc/sysconfig/iptables
最后,重啟sshd服務使上面配置生效(不用擔心重啟時已打開的遠程終端連接會斷開,重啟只會對新開的終端生效)
[root@c58 ssh]# /etc/init.d/sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
三、用戶及命令權限最小化
創(chuàng)建一個普通用戶tom,將其加入sudo組,該用戶作為系統(tǒng)管理員
groupadd sudo #創(chuàng)建sudo組
useradd -G sudo tom #創(chuàng)建tom用戶,加入sudo組
passwd tom #設置tom用戶的登陸密碼
修改sudo配置文件,授權sudo組的用戶可以以root身份執(zhí)行所有命令(可以針對不同用戶授予不同的命令執(zhí)行權限,這里允許執(zhí)行所有命令,生產(chǎn)環(huán)境中系統(tǒng)管理員應該按需為用戶分配盡可能少的可執(zhí)行命令,以實現(xiàn)權限最少化),用戶執(zhí)行的所有sudo操作都將記錄在/var/log/sudo.log中,以便日后的安全事件排查。執(zhí)行命令如下:
[root@cloud ~]# cat >> /etc/sudoers < > %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 文件的語法正確性 四、內核安全參數(shù)設置 vim /etc/sysctl.conf #添加如下內容: #關閉對ping包的響應(可選,一般不建議,因為不方便網(wǎng)絡故障時的排查) net.ipv4.icmp_echo_ignore_all = 1 #關閉對廣播ping的響應 net.ipv4.icmp_echo_ignore_broadcasts = 1 #開啟syncookie用于防范syn flood攻擊,當出現(xiàn)syn等待隊列溢出時(syn數(shù)量超過tcp_max_syn_backlog的設置值),啟用cookie來處理,server在回復syn_ack前會先請求client回復一個序列號,該序列號中要求包含原先syn包中的信息,如果序列號不正確,則server端會忽略此syn連接。 net.ipv4.tcp_syncookies = 1 #設置sync_ack的最大重傳次數(shù),默認值為5,范圍0-255,重傳5次的時間大約為180s net.ipv4.tcp_synack_retries = 3 # 設置當keepalive打開的情況下,keepalive消息的發(fā)送間隔,默認為2小時(由于目前網(wǎng)絡攻擊等因素,造成了利用這個進行的攻擊很頻繁,如果兩邊建立了連接,然后不發(fā)送任何數(shù)據(jù)或者rst/fin消息,那么持續(xù)的時間就是2小時,成就了空連接攻擊,tcp_keepalive_time就是預防此情形的.) net.ipv4.tcp_keepalive_time = 1200 保存退出后,執(zhí)行"sysctl -p"命令將以上設置加載到內核使其立刻生效 五、 內核性能相關參數(shù)設置(可選) vim /etc/sysctl.conf #添加如下內容: #設置syn等待隊列的長度,對于內存大于128M的機器,默認值是1024,在并發(fā)請求較大時,可以調大該值 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ù),默認值為9 net.ipv4.tcp_keepalive_probes = 5 #指定探測消息發(fā)送的頻率,該值乘以tcp_keepalive_probes就可以得到從開始探測到連接被刪除所需的時間。默認值為75,也就是沒有活動的連接將在大約11分鐘以后將被丟棄。(對于普通應用來說,這個值有一些偏大,可以根據(jù)需要改小.特別是web類 以上是“CentOS系統(tǒng)常規(guī)初始化操作的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站標題:CentOS系統(tǒng)常規(guī)初始化操作的示例分析
瀏覽路徑:http://www.dlmjj.cn/article/ipijhs.html