成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

譯文
安全 網(wǎng)站安全
本文中,我們將討論如何通過(guò)一些Linux的安全命令,加固你的Linux系統(tǒng)。

【51CTO.com快譯】本文中,我們將討論如何通過(guò)一些Linux的安全命令,加固你的Linux系統(tǒng)。

在最開(kāi)始,我們需要問(wèn)的一個(gè)問(wèn)題是:Linux是已經(jīng)足夠被安全加固了嗎?答案當(dāng)然是否定的。那些嫻熟的攻擊者所帶來(lái)的危險(xiǎn)是與日俱增的。每天、甚至是每小時(shí)都有新的漏洞被發(fā)現(xiàn)。對(duì)這些漏洞的利用方法通常建立在它們被發(fā)現(xiàn)后的數(shù)小時(shí)之內(nèi)。一些漏洞甚至直到有人將其利用到攻擊的主機(jī)上才被發(fā)現(xiàn)。可見(jiàn),安全應(yīng)該是我們所有人需要關(guān)心的。因此,我想在本文中用一些實(shí)際的例子來(lái)展示如何增強(qiáng)系統(tǒng)的安全性。

沒(méi)有一個(gè)帖子或是一本書能夠回答Linux所有的安全問(wèn)題或是涉及所有可能的威脅。因此,本文理所當(dāng)然地也不可能包括所有,但是我們希望你一定會(huì)發(fā)現(xiàn)到其“用武之處”。

我們的主要議題包括:

控制臺(tái)安全

密碼生命周期

Sudo的通知

SSH調(diào)優(yōu)

使用Tripwire進(jìn)行入侵檢測(cè)

使用Firewalld

回歸iptable

限制編譯器

不可修改文件太棒了

用Aureport來(lái)管理SELinux

使用sealert工具

一、控制臺(tái)安全

你可以通過(guò)限制能夠登錄的一組特定終端來(lái)限制root用戶的訪問(wèn)。為了實(shí)現(xiàn)該目的,請(qǐng)編輯/etc/下安全文件的內(nèi)容。該文件列出的是允許root用戶登錄的所有設(shè)備。

我建議你只允許root用戶去登錄到一個(gè)終端之上,且強(qiáng)制所有其他用戶都使用非root用戶的身份進(jìn)行登錄。而如果確實(shí)需要root用戶權(quán)限的時(shí)候,請(qǐng)使用su命令來(lái)獲取。

二、密碼生命周期

密碼的生命周期就是允許你為密碼指定一個(gè)有效的時(shí)間周期。時(shí)間到期后,系統(tǒng)將強(qiáng)制要求用戶輸入一個(gè)新的密碼。這樣有效地確保了密碼的定期更換,以及密碼在被偷盜、破解或?yàn)槿怂那闆r下能夠迅速過(guò)期。

有兩種方法可以實(shí)現(xiàn)這個(gè)效果。第一種方法是通過(guò)命令行使用如下的改變命令:

  1. $ chage -M 20 likegeeks 

我們使用- M選項(xiàng)為likegeeks用戶設(shè)置了有效期限為20天的密碼。

你也可以輸入不帶任何選項(xiàng)的chage命令,它會(huì)自動(dòng)提示你選項(xiàng):

  1. $ chage likegeeks 

第二種方法是在/etc/login.defs中為所有用戶設(shè)置默認(rèn)值。你可以參照下面,按需改變其數(shù)值:

  1. PASS_MAX_DAYS 20 
  2. PASS_MIN_DAYS 0 
  3. PASS_WARN_AGE 5 

三、Sudo的通知

Sudo命令雖然可以使得你的“生活”更為輕松,但是它們也會(huì)因?yàn)長(zhǎng)inux的安全問(wèn)題而毀了你的“生活”。

我們都知道,sudo命令允許非root用戶以root身份運(yùn)行各種命令。你可以在/etc/sudoers文件中查到所有的sudo配置。

你可以禁止用戶去運(yùn)行那些root才能運(yùn)行的命令。

當(dāng)sudo命令被使用的時(shí)侯,你可以通過(guò)在文件中添加如下一行語(yǔ)句,以配置其向外發(fā)送電子郵件。

  1. mailto yourname@yourdomain.com 

當(dāng)然你也可以用如下語(yǔ)句改變sudo的發(fā)郵件狀態(tài):

  1. mail_always on 

四、SSH調(diào)優(yōu)

只要說(shuō)到Linux安全,我們必然會(huì)討論到SSH服務(wù)。SSH應(yīng)該是你系統(tǒng)中重要的一種服務(wù),它使你能夠輕松地連接到自己的系統(tǒng)。而且這可能是在出現(xiàn)各種狀況的時(shí)候,唯一能讓你的系統(tǒng)“幸存”的途徑。所以對(duì)SSH的調(diào)優(yōu)是非常重要的。

由于我們?cè)诒疚乃褂玫氖荂entOS 7,那么其SSH的配置文件就存放在:

  1. /etc/ssh/sshd_config 

讓我們來(lái)深入了解一下吧。

攻擊者所使用的掃描器或自動(dòng)工具一般嘗試運(yùn)用默認(rèn)端口22來(lái)連接SSH。因此通常情況下,你應(yīng)該改變SSH的原有端口到另一個(gè)未使用的端口上,比如說(shuō)5555。

  1. Port 5555 

你也可以通過(guò)更新PermitRootLogin的值為no來(lái)限制root的登錄,例如:

  1. PermitRootLogin no 

并禁用無(wú)密碼的通道,且改用公鑰登錄的方式。

  1. PasswordAuthentication no 
  2. PermitEmptyPasswords no 

其實(shí)還有另外一種可能阻止攻擊的調(diào)整,但它要求SSH通過(guò)正向和反向DNS查詢遠(yuǎn)程的主機(jī)名,這將在系統(tǒng)日志文件中生成一些適當(dāng)?shù)木妗D阒恍鑶⒂肬seDNS的值便可實(shí)現(xiàn)。

  1. UseDNS yes 

此外,當(dāng)GSSAPI服務(wù)器被要求驗(yàn)證相關(guān)用戶的身份時(shí),SSH會(huì)調(diào)用一個(gè)不常用的功能來(lái)實(shí)現(xiàn)GSSAPI的認(rèn)證方式。為了避免這種情況可能會(huì)引起的某種麻煩,請(qǐng)按照如下將GSSAPIAuthentication設(shè)為no:

  1. GSSAPIAuthentication no 

考慮到SSH通常會(huì)出現(xiàn)的超時(shí)問(wèn)題,你可以通過(guò)正確地配置ServerAliveInterval、ServerAliveCountMax和TCPKeepAlive的值來(lái)進(jìn)行管控。

例如下面的規(guī)則就意味著每隔60秒就產(chǎn)生一個(gè)數(shù)據(jù)包。

  1. ServerAliveInterval 15 
  2. ServerAliveCountMax 3 
  3. TCPKeepAlive yes 

通過(guò)調(diào)整這些值,你可以提供一個(gè)更長(zhǎng)的連接。

  1. ClientAliveInterval 30 
  2. ClientAliveCountMax 5 

你可以通過(guò)指定那些被允許用來(lái)使用SSH的用戶名,從而使得SSH服務(wù)更為安全。

  1. AllowUsers user1 user2 

或者指定允許的組:

  1. AllowGroup group1 group2 

除此之外,你還可以為SSH啟用諸如Google Authenticator這樣的雙因素認(rèn)證方式:

  1. $ yum install google-authenticator 

然后運(yùn)行之,以驗(yàn)證是否成功安裝:

  1. $ google-authenticator 

你的移動(dòng)手機(jī)上應(yīng)該已經(jīng)安裝了Google authenticator的應(yīng)用,那么請(qǐng)將下面一行添加到/etc/pam.d/sshd之中。

  1. auth required pam_google_authenticator.so 

最后的事情就是通過(guò)添加下面一行到/etc/ssh/sshd_config中,以通知SSH。

  1. ChallengeResponseAuthentication yes 

然后重啟你的SSH:

  1. $ systemctl restart sshd 

之后,當(dāng)你使用SSH登錄的時(shí)候,它將會(huì)詢問(wèn)一個(gè)驗(yàn)證碼。這便意味著你的SSH已經(jīng)能夠應(yīng)對(duì)暴力破解的攻擊,且更為穩(wěn)固了。

五、使用Tripwire進(jìn)行入侵檢測(cè)

Tripwire是Linux安全里的重要工具之一。這是一種基于主機(jī)的入侵檢測(cè)系統(tǒng)(HIDS)。它通過(guò)收集配置和文件系統(tǒng)的細(xì)節(jié),并使用這些信息來(lái)提供系統(tǒng)先前與當(dāng)前狀態(tài)之間的參考點(diǎn)等方式進(jìn)行工作。該過(guò)程監(jiān)測(cè)文件或目錄的屬性包括:進(jìn)去哪些被添加或修改了、誰(shuí)修改的、修改了什么、何時(shí)修改的。因此它就是你文件系統(tǒng)的“看門狗”。

你需要訪問(wèn)EPEL存儲(chǔ)庫(kù)來(lái)獲取Tripwire。你可以按如下方法輕松地添加該庫(kù):

  1. wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm 
  2. $ rpm -ivh epel-release-7-9.noarch.rpm 

一旦成功安裝了EPEL庫(kù),你就可以安裝Tripwire了:

  1. $ sudo yum install tripwire 

在使用Tripwire之前,你需要用如下命令來(lái)創(chuàng)建本地和網(wǎng)站密鑰:

  1. $ tripwire-setup-keyfiles 

它會(huì)提示你輸入一個(gè)用于網(wǎng)站和本地密鑰文件的密碼。Tripwire也會(huì)建議你使用大寫字母、小寫字母、數(shù)字和標(biāo)點(diǎn)符號(hào)的組合。

你可以通過(guò)更改如下文件來(lái)定制Tripwire:

  1. /etc/tripwire/twpol.txt 

因?yàn)槊恳恍卸加凶⑨專颐枋鲆埠艿轿唬虼嗽撐募€是比較容易閱讀和修改的。

你可以用如下的方式更新自己的Tripwire策略。

  1. $ tripwire --update-policy --secure-mode low /etc/tripwire/twpol.txt 

Tripwire將通過(guò)參考你的更改,在屏幕上持續(xù)刷新顯示各個(gè)階段的步驟。當(dāng)這些完成之后,你就應(yīng)該能夠以如下方式初始化Tripwire數(shù)據(jù)庫(kù)了:

  1. $ tripwire --init 

然后Tripwire將開(kāi)始掃描系統(tǒng)。它所需要的時(shí)長(zhǎng)取決于系統(tǒng)的總體規(guī)模。

任何對(duì)文件系統(tǒng)更改將被認(rèn)為是一種系統(tǒng)的入侵,因此管理員會(huì)被通知到,而且他需要使用受信任的文件予以系統(tǒng)恢復(fù)。正是出于這個(gè)原因,Tripwire必須去驗(yàn)證任何的系統(tǒng)更改。你可以通過(guò)如下命令來(lái)驗(yàn)證你的現(xiàn)有的策略文件:

  1. $ tripwire --check 

關(guān)于Tripwire,我的最后一點(diǎn)建議是:請(qǐng)額外去加固twpol.txt和twcfg.txt文件的安全。

更多有關(guān)Tripwire的選項(xiàng)和設(shè)置,你可以通過(guò)man tripwire查閱到。

六、使用Firewalld

Firewalld替代了iptables,并且通過(guò)在不停止當(dāng)前連接的情況下啟用各種配置的更改,從而改善了Linux的安全管理。

Firewalld作為守護(hù)進(jìn)程形式運(yùn)行著。它允許各種規(guī)則被即時(shí)地添加和更改,而且它使用各種網(wǎng)絡(luò)區(qū)域來(lái)為任何以及所有與網(wǎng)絡(luò)相關(guān)的連接定義一種信任級(jí)別。

要想知道Firewalld的當(dāng)前運(yùn)行狀態(tài),你可以輸入如下命令:

  1. $ firewall-cmd --state 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

你可以用如下命令羅列出預(yù)定義的區(qū)域:

  1. $ firewall-cmd --get-zones 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

其值也可以如下方式進(jìn)行更新:

  1. $ firewall-cmd --set-default-zone= 

你可以用以下命令獲取任何特定區(qū)域的所有相關(guān)信息:

  1. $ firewall-cmd --zone= --list-all 

你也能列出所有支持的服務(wù):

  1. $ firewall-cmd --get-services 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

而且你可以添加或刪除額外的服務(wù)。

  1. $ firewall-cmd--zone=--add-service= 
  2. $ firewall-cmd--zone=--remove-service= 

你能通過(guò)如下命令列出任何特定區(qū)域中所有開(kāi)放的端口:

  1. $ firewall-cmd --zone= --list-ports 

你可用如下方式管理TCP/UDP端口的增加與刪除:

  1. $ firewall-cmd--zone=--add-port= 
  2. $ firewall-cmd--zone=--remove-port= 

你可以如下命令添加或刪除端口的轉(zhuǎn)發(fā):

  1. $ firewall-cmd--zone=--add-forward-port= 
  2.  
  3. $ firewall-cmd--zone=--remove-forward-port= 

Firewalld是非常全面的。其中Firewalld最棒的地方當(dāng)數(shù):你可以在不需要停止或重新啟動(dòng)防火墻服務(wù)的情況下,管理該防火墻的體系結(jié)構(gòu)。而這正是運(yùn)用IPtables所無(wú)法實(shí)現(xiàn)的。

七、回歸iptable

有一些人仍然還是喜歡IP tables 勝過(guò)Firewalld。那么如果你正好處于這種想舍去Firewalld而回歸IP tables的話,請(qǐng)首先禁用Firewalld:

  1. $ systemctl disable firewalld 
  2.  
  3. $ systemctlstop firewalld 

然后來(lái)安裝IP tables:

  1. $ yum install iptables-services 
  2.  
  3. $ touch /etc/sysconfig/iptables 
  4.  
  5. $ touch /etc/sysconfig/ip6tables 

現(xiàn)在你就可以啟動(dòng)IP tables的服務(wù)了:

  1. $ systemctlstart iptables 
  2.  
  3. $ systemctlstart ip6tables 
  4.  
  5. $ systemctl enable iptables 
  6.  
  7. $ systemctl enable ip6tables 

為了能讓內(nèi)核采用新的配置,你必須重新啟動(dòng)系統(tǒng)。

八、限制編譯器

如果你的系統(tǒng)被黑掉了,那么攻擊者會(huì)對(duì)系統(tǒng)使用的是哪種編譯器很感興趣。為什么呢?因?yàn)樗麄兛梢匀ハ螺d一個(gè)簡(jiǎn)單的C文件(POC),并且在你的系統(tǒng)上進(jìn)行編譯,從而在幾秒鐘之內(nèi)就成為了root用戶。如果編譯器是開(kāi)啟的話,他們還可以在你的系統(tǒng)上做一些嚴(yán)重的破壞。

首先,你需要檢查單個(gè)的數(shù)據(jù)包以確定其包含有哪些二進(jìn)制文件。然后你需要限制這些二進(jìn)制文件的權(quán)限。

  1. $ rpm -q --filesbypkg gcc | grep 'bin' 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

現(xiàn)在我們需要?jiǎng)?chuàng)建一個(gè)可以訪問(wèn)二進(jìn)制文件的編譯器的組名稱了:

  1. $ groupadd compilerGroup 

然后,你可以賦予這個(gè)組能夠改變?nèi)魏味M(jìn)制文件的所有權(quán):

  1. $ chown root:compilerGroup /usr/bin/gcc 

最后重要的是:僅編譯器組才有改變?cè)摱M(jìn)制文件的權(quán)限:

  1. $ chmod 0750 /usr/bin/gcc 

至此,任何試圖使用gcc的用戶將會(huì)看到權(quán)限被拒絕的信息了。

我知道有些人可能會(huì)說(shuō),如果攻擊者發(fā)現(xiàn)編譯器被關(guān)閉了的話,他會(huì)去下載編譯器本身。這就是另外一個(gè)故事了,我們會(huì)在未來(lái)的文章中涉及到的。

九、不可修改文件太棒了

不可修改文件是Linux系統(tǒng)中一種最為強(qiáng)大的安全特性。任何用戶(即使是root用戶),無(wú)論他們的文件權(quán)限是怎樣的,都無(wú)法對(duì)不可修改文件進(jìn)行寫入、刪除、重命名甚至是創(chuàng)建硬鏈接等操作。這真是太棒了!

它們是保護(hù)配置文件或防止你的文件被修改的理想選擇。請(qǐng)使用chattr命令來(lái)將任何文件變得不修改:

  1. $ chattr +i /myscript 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

你也可以如下方法去除其不可修改屬性:

  1. $ chattr -i /myscript 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

/sbin 和/usr/lib兩個(gè)目錄內(nèi)容能被設(shè)置為不可改變,以防止攻擊者替換關(guān)鍵的二進(jìn)制文件或庫(kù)文件成為惡意軟件版本。我將其他有關(guān)使用不可改變文件的例子,留給你去想象。

十、用Aureport來(lái)管理SELinux

通常情況下,如果你使用的是主機(jī)控制面板,或者當(dāng)有一個(gè)或多個(gè)特定的應(yīng)用程序可能會(huì)碰到一些問(wèn)題的時(shí)候,他們是不會(huì)運(yùn)行在SELinux已啟用的模式下的,也就是說(shuō)你會(huì)發(fā)現(xiàn)SELinux是禁用掉的。

但是禁用SELinux確實(shí)會(huì)將系統(tǒng)暴露于風(fēng)險(xiǎn)之中。我的觀點(diǎn)是:由于SELinux有一定的復(fù)雜性,對(duì)于我們這些仍想獲益于安全性的人來(lái)說(shuō),完全可以通過(guò)運(yùn)行aureport的選項(xiàng)來(lái)使得工作輕松些。

aureport工具被設(shè)計(jì)為創(chuàng)建一些基于列特征的報(bào)告,以顯示在審計(jì)日志文件中所記錄的那些事件。

  1. $ aureport --avc 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

你也可以運(yùn)用同樣的工具來(lái)創(chuàng)建一個(gè)可執(zhí)行文件的列表:

  1. $ aureport -x 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

你也可以使用aureport來(lái)產(chǎn)生一個(gè)認(rèn)證的全量報(bào)告:

  1. $ aureport -au -i 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

或者你還可以列出那些認(rèn)證失敗的事件:

  1. $ aureport -au --summary -i --failed 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

或者你也需要一個(gè)認(rèn)證成功的事件的摘要:

  1. $ aureport -au --summary -i --success 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

可見(jiàn),當(dāng)你使用一個(gè)運(yùn)行著SELinux的系統(tǒng)來(lái)進(jìn)行系統(tǒng)的故障診斷的時(shí)侯,你作為系統(tǒng)管理員首要考慮的應(yīng)該就是使用aureport的各種好處了。

十一、使用Sealert工具

除了aureport工具你也可以使用一個(gè)很好的Linux安全工具—sealert。你可以用以下的命令來(lái)進(jìn)行安裝:

  1. $ yum install setools 

那么現(xiàn)在我們就有了一個(gè)工具,它將積極地從/var/log/audit/audit.log這一日志文件中返回各種警告,并將其轉(zhuǎn)換得更為“人性化”且可讀。

這個(gè)稱為sealert的工具,其目的是能報(bào)告出任何與SELinux有關(guān)聯(lián)的問(wèn)題。你可以這樣來(lái)使用它:

  1. $ sealert -a /var/log/audit/audit.log 

實(shí)用技巧:如何用幾個(gè)簡(jiǎn)單的命令改善你的Linux安全

關(guān)于所生成的報(bào)告,其最好之處是:在每個(gè)被發(fā)現(xiàn)的問(wèn)題的警報(bào)末尾,系統(tǒng)都會(huì)給出如何去解決該問(wèn)題的相關(guān)解釋。

在這篇文章中,我們討論了一些可以幫助你加固Linux系統(tǒng)的安全技巧。當(dāng)然,對(duì)于各種運(yùn)行的服務(wù)而言,仍有許多值得加固的Linux安全技巧有待發(fā)掘。我希望你能從本文中找到對(duì)你有用和有趣的內(nèi)容。

原文標(biāo)題:Useful Linux Security Tricks To Harden Your System,作者: Seco Max

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:藍(lán)雨淚 來(lái)源: 51CTO.com
相關(guān)推薦

2017-05-09 17:18:48

網(wǎng)絡(luò)安全技術(shù)周刊

2022-09-15 07:05:09

Windows電腦技巧

2018-12-25 08:58:46

2009-09-04 10:27:28

Linux實(shí)用技巧linux操作系統(tǒng)linux

2011-03-23 16:49:17

LAMP技巧linux命令

2009-12-21 15:50:39

2009-12-09 11:21:30

Linux實(shí)用技巧

2024-10-11 13:17:16

Linux命令行快捷導(dǎo)航

2009-07-31 18:33:47

linux vi命令linux vi命令詳快捷鍵

2011-06-21 10:02:29

Python

2021-04-12 15:54:45

Android 開(kāi)發(fā)技巧

2019-12-22 23:10:19

LinuxSSH加密

2009-12-23 17:32:35

Linux構(gòu)建軟路由

2022-09-20 11:58:27

NpmNode.js

2020-04-08 17:10:03

GitHub代碼開(kāi)源

2010-10-08 15:44:17

vim

2020-08-24 08:18:39

技術(shù)管理者技巧

2013-09-13 09:29:18

2024-11-29 10:48:54

IDEA技巧Mac

2021-10-06 13:49:45

網(wǎng)絡(luò)安全風(fēng)險(xiǎn)管理信息安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久久久国产精品人 | 日本久久精品 | m豆传媒在线链接观看 | 久久综合国产精品 | 粉色午夜视频 | 午夜丰满寂寞少妇精品 | 99久久精品国产一区二区三区 | 亚洲欧美中文日韩在线v日本 | 久久久久久久久久久高潮一区二区 | 国产欧美一区二区三区在线看 | 国产精品高清一区二区 | 在线免费视频一区 | 日韩在线播放视频 | 成人av在线播放 | 精品视频在线播放 | 亚洲电影一区二区三区 | 日韩在线不卡视频 | 热久色 | 国户精品久久久久久久久久久不卡 | 97精品超碰一区二区三区 | 久久国产精品网站 | 天天色综网 | 一区二区三区国产精品 | 日韩成人在线观看 | 一级做a爰片性色毛片16美国 | 中文字幕在线视频一区二区三区 | 亚洲国产精久久久久久久 | 成人一区精品 | 天天插天天狠天天透 | 欧美日韩国产一区二区三区 | 欧产日产国产精品视频 | 国外成人免费视频 | 成人深夜福利在线观看 | 日一日操一操 | 免费爱爱视频 | 开操网| 99reav| 欧美日韩视频在线第一区 | 成人av鲁丝片一区二区小说 | av免费入口 | 黄色片在线|