自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

明明白白你的Linux服務(wù)器——安全篇

原創(chuàng)
運(yùn)維 系統(tǒng)運(yùn)維
系統(tǒng)安全對(duì)于服務(wù)器而言是至關(guān)重要的。對(duì)于Linux/UNIX生產(chǎn)服務(wù)器而言,最基本的安全防護(hù)是系統(tǒng)管理員們的職責(zé)。本文列舉了一些Linux服務(wù)器的基礎(chǔ)安全設(shè)置,尤其適用于新手。如果對(duì)Linux服務(wù)器的安全有更高要求,建議配合硬件防火墻來進(jìn)行操作。

【51CTO獨(dú)家特稿】安全對(duì)于linux/unix生產(chǎn)服務(wù)器而言是至關(guān)重要的,也是每一個(gè)系統(tǒng)管理員的基本功課。本文是《明明白白你的Linux服務(wù)器》系列的第四篇,下面所列的一切是關(guān)于Linux服務(wù)器的基本設(shè)置,力求用最簡(jiǎn)單的語言來說明Linux服務(wù)器的基礎(chǔ)安全設(shè)置,尤其適用于新手;如果對(duì)Linux服務(wù)器的安全有更高要求,建議配合硬件防火墻來進(jìn)行操作。

一、Linux服務(wù)器的硬件防護(hù)

我在項(xiàng)目實(shí)施中和自己的網(wǎng)站架設(shè)中,發(fā)現(xiàn)防DDOS攻擊及SQL注入、跨站腳本、蠕蟲、黑客掃描和攻擊等攻擊效果不錯(cuò)的方案有:

①華賽三層防火墻+天泰web防火墻;

②Juniper系列防火墻;

如果你的Linux或FreeBSD前端無任何硬件防護(hù),一下要記得開啟iptables或ipfw防火墻。雖然它們不能防DDOS攻擊,但在安全防護(hù)上或多或少的有所作用;如果是windows2003服務(wù)器,建議開啟它自帶的系統(tǒng)防火墻,并禁ping。

建議采用64位的Linux操作系統(tǒng),如CentOS 5.4;如果是UNIX,建議采用FreeBSD 8.0(也采用64位的)。多關(guān)注下服務(wù)器的內(nèi)核漏洞,現(xiàn)在linux很多攻擊都是針對(duì)內(nèi)核的,保證內(nèi)核版本為2.6.9以上。

二、遠(yuǎn)程連接你的Linux服務(wù)器

對(duì)于遠(yuǎn)程連接,建議只允許在內(nèi)網(wǎng)進(jìn)行ssh操作,而拒絕外網(wǎng)控制,這樣做是比較安全的(此步操作可能要配合公司的網(wǎng)絡(luò)工程師來操作)。

如果非要從外網(wǎng)進(jìn)行ssh操作,建議正確配置x-shell、Putty等遠(yuǎn)程連接工具的公鑰和私鑰。root密碼我一般設(shè)置為28位以上,建議用字母+數(shù)字的組合,如p@sSw0rdyuhongchun027nagios,而且某些重要的服務(wù)器必須只有幾個(gè)人知道root密碼,這個(gè)根據(jù)公司權(quán)限來設(shè)置,如果有公司的系統(tǒng)管理員離職,root密碼一定要更改;玩linux久了的人都應(yīng)該知道,更改root密碼不會(huì)影響linux的crontab計(jì)劃任務(wù)(這個(gè)在windows2003就不一樣了,如果隨意更改administrator密碼,會(huì)直接影響其計(jì)劃任務(wù)運(yùn)行)。

三、Linux服務(wù)器如何防ssh暴力破解

我的Nagios外網(wǎng)監(jiān)控服務(wù)器,剛開始測(cè)試時(shí)取的密碼是redhat,放進(jìn)公網(wǎng)一天就被人改了,郁悶死了;后來環(huán)境部署成熟以后發(fā)現(xiàn)仍然有不少外網(wǎng)ip在掃描和試探,看來不用點(diǎn)工具不行?。缓呛?,我嘗試使用大家都推薦使用的DenyHosts,它是用Python2.3寫的一個(gè)程序,它會(huì)分析/var/log/secure等日志文件,當(dāng)發(fā)現(xiàn)同一IP在進(jìn)行多次SSH密碼嘗試時(shí)就會(huì)記錄IP到/etc/hosts.deny文件,從而達(dá)到自動(dòng)屏蔽該IP的目的。DenyHosts官方網(wǎng)站為:http://denyhosts.sourceforge.net

①檢查安裝條件

1、首先判斷系統(tǒng)安裝的sshd是否支持tcp_wrappers(默認(rèn)都支持)

# ldd /usr/sbin/sshd
libwrap.so.0 => /usr/lib/libwrap.so.0 (0x0046e000)

2、判斷默認(rèn)安裝的Python版本

# python -V
Python 2.3.4

3、已安裝Python2.3以上版本的情況可以直接安裝DenyHosts

# cd /usr/local/src
# wget http://jaist.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
# tar zxf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6
# python setup.py install 

程序腳本自動(dòng)安裝到/usr/share/denyhosts

庫文件自動(dòng)安裝到/usr/lib/python2.3/site-packages/DenyHosts

denyhosts.py自動(dòng)安裝到/usr/bin

②設(shè)置啟動(dòng)腳本

# cd /usr/share/denyhosts/
# cp daemon-control-dist daemon-control
# chown root daemon-control
# chmod 700 daemon-control
# grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
# vi denyhosts.cfg

根據(jù)自己需要進(jìn)行相應(yīng)的修改

denyhosts.cfg

SECURE_LOG = /var/log/secure
#RedHat/Fedora Core分析該日志文件
#其它版本linux根據(jù)denyhosts.cfg-dist內(nèi)提示選擇。
PURGE_DENY = 30m
#過多久后清除
DENY_THRESHOLD_INVALID = 1
#允許無效用戶(/etc/passwd未列出)登錄失敗的次數(shù)
DENY_THRESHOLD_VALID = 5
#允許有效(普通)用戶登錄失敗的次數(shù)
DENY_THRESHOLD_ROOT = 3
#允許root登錄失敗的次數(shù)
HOSTNAME_LOOKUP=NO
#是否做域名反解

如果需要DenyHosts隨系統(tǒng)重啟而自動(dòng)啟動(dòng),還需做如下設(shè)置:

# vi /etc/rc.local

加入下面這條命令

/usr/share/denyhosts/daemon-control start

③啟動(dòng)

# /usr/share/denyhosts/daemon-control start

如果要使DenyHosts每次重起后自動(dòng)啟動(dòng)還需做如下設(shè)置:

# cd /etc/init.d
# ln -s /usr/share/denyhosts/daemon-control denyhosts
# chkconfig --add denyhosts
# chkconfig --level 345 denyhosts on

然后就可以啟動(dòng)了:

service denyhosts start

DenyHosts配置文件:

vi /etc/denyhosts.cfg
SECURE_LOG = /var/log/secure #ssh日志文件,它是根據(jù)這個(gè)文件來判斷的。
HOSTS_DENY = /etc/hosts.deny #控制用戶登陸的文件
PURGE_DENY = 5m#過多久后清除已經(jīng)禁止的
BLOCK_SERVICE   = sshd#禁止的服務(wù)名
DENY_THRESHOLD_INVALID = 1#允許無效用戶失敗的次數(shù)
DENY_THRESHOLD_VALID = 10#允許普通用戶登陸失敗的次數(shù)
DENY_THRESHOLD_ROOT = 5#允許root登陸失敗的次數(shù)
HOSTNAME_LOOKUP=NO#是否做域名反解
DAEMON_LOG = /var/log/denyhosts#自己的日志文件
ADMIN_EMAIL = yuhongchun027@163.com#管理員郵件地址,它會(huì)給管理員發(fā)郵件

下面這個(gè)是全自動(dòng)下載安裝的小腳本(推薦),當(dāng)然安裝后還得手動(dòng)調(diào)整配置文件。install_denyhosts.sh腳本內(nèi)容如下:

#!/bin/bash
cd /usr/local/src
wget http://jaist.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
tar zxf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
python setup.py install
cd /usr/share/denyhosts/
cp daemon-control-dist daemon-control
chown root daemon-control
chmod 700 daemon-control
grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
echo "/usr/share/denyhosts/daemon-control start" >>/etc/rc.local
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts
chkconfig --level 345 denyhosts on
service denyhosts start

下面是hostsdeny的示例:

Connection to 192.168.0.154 closed.
[root@autolemp ~]# ssh 192.168.0.154
root@192.168.0.154's password:
Permission denied, please try again.
root@192.168.0.154's password:
Permission denied, please try again.
root@192.168.0.154's password:
Permission denied (publickey,gssapi-with-mic,password)

出現(xiàn)最后這行表示生效。

  • 硬件防護(hù)、防火墻
  • 保護(hù)登陸密碼
  • 嚴(yán)格規(guī)劃用戶權(quán)限
  • 定期監(jiān)控和掃描漏洞
  • 關(guān)閉不必要的服務(wù)
  • 其他
 
 

#p#

四、用戶管理

服務(wù)器上除root外,Linux用戶越少越好,如果非要添加具有root權(quán)限的用戶,建議在/etc/sudoer里添加,這樣避免大家都用root用戶在服務(wù)器上工作,另外一個(gè)作用是規(guī)范責(zé)任界限,做到有跡可循(我的開發(fā)服務(wù)器就發(fā)生了有人惡意更改root密碼的事情);如果非要添加授權(quán)用戶,請(qǐng)給他的登陸shell為nologin;終止未授權(quán)用戶,定期檢查系統(tǒng)有無多余的用戶都是sysadmin必要的工作。

五、日志文件

分析系統(tǒng)的日志文件,尋找入侵者曾經(jīng)試圖入侵系統(tǒng)的蛛絲馬跡。last命令是另外一個(gè)可以用來查找非授權(quán)用戶登錄事件的工具

lyychee pts/2 54.107.130.61 Mon May 22 14:14 still logged in
lyychee pts/2 51.107.130.61 Thu May 18 18:36 - 18:42 (00:05)
lyychee pts/2 61.130.107.51 Tue May 16 14:21 - 14:39 (00:18)
root pts/2 61.130.107.58 Sat May 13 15:40 - 15:43 (00:02)
lyychee pts/2 210.32.178.253 Fri May 12 00:53 - 01:16 (00:23)
root pts/2 58.107.130.61.di Wed May 10 15:33 - 15:35 (00:01)
root pts/2 61.130.107.58 Tue May 9 14:58 - 15:07 (00:08)
root pts/2 59.78.34.62 Sun May 7 07:40 - 07:45 (00:05)
lyychee pts/2 59.78.34.62 Sat May 6 23:50 - 00:27 (00:37)
lyychee pts/2 222.64.24.144 Sat May 6 10:56 - 10:56 (00:00)
root pts/2 192.168.0.111 Sat May 6 00:01 - 00:02 (00:01)
lyychee pts/2 222.64.22.144 Thu May 4 12:41 - 12:43 (00:00)
root pts/2 59.78.34.62 Tue May 2 06:59 - 07:00 (00:00) 

last命令輸入的信息來自/var/log/wtmp。這個(gè)文件詳細(xì)地記錄著每個(gè)系統(tǒng)用戶的訪問活動(dòng)。但是有經(jīng)驗(yàn)的入侵者往往會(huì)刪掉/var/log/wtmp以清除自己非法行為的證據(jù),但是這種清除行為還是會(huì)露出蛛絲馬跡:在日志文件里留下一個(gè)沒有退出操作與之對(duì)應(yīng)的登錄操作(因?yàn)樵谀銊h除wtmp的時(shí)候,你的登錄記錄就沒有了,但是你待會(huì)兒登出,系統(tǒng)還是會(huì)把你記下來),不過再高明一點(diǎn)就用at或者cron等自己登出之后再刪文件(但是這種方法也還是可以查,總之linux沒有一種操作是最強(qiáng)的或強(qiáng)到?jīng)]有紕漏的)。

六、如何用掃描之王nmap來發(fā)現(xiàn)自己的服務(wù)器漏洞

以自己的郵件服務(wù)器舉例說明,系統(tǒng)的默認(rèn)策略就為INPUT為DROP,OUTPUT、FORWARD鏈為ACCEPT,定義一個(gè)防火墻規(guī)則,即/root/firewall.sh,,放進(jìn)開機(jī)腳本里,即目錄/etc/rc.d/rc.local,/root/firewall.sh

腳本如下:

#/bin/bash
iptables -F
iptables -F -t nat
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEP
#load connection-tracking modules
modeprobe ip_conntrack
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport80,443,25,465,110,995,143,993,587,465,22 -j ACCEPT
[root@mail postfix]# nmap -P0 -sS 211.143.6.X
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-03-29 16:21 CST
Interesting ports on 211.143.6.X:
Not shown: 1668 closed ports
PORT     STATE SERVICE
22/tcp open   ssh
25/tcp open   smtp
80/tcp open   http
110/tcp   open   pop3
111/tcp   open   rpcbind
143/tcp   open   imap
443/tcp   open   https
465/tcp   open   smtps
587/tcp   open   submission
993/tcp   open   imaps
995/tcp   open   pop3s
1014/tcp open   unknown

lsof -i:1014,發(fā)現(xiàn)又是rpc.statd,這東東,每次用的端口都不一樣啊;它不能正確處理SIGPID信號(hào),遠(yuǎn)程攻擊者可利用這個(gè)漏洞關(guān)閉進(jìn)程,進(jìn)行拒絕服務(wù)攻擊;發(fā)現(xiàn)rpc.statd是由服務(wù)nfslock開啟,關(guān)閉它即可

service nfslock stop && chkconfig nfslock off

七、監(jiān)控服務(wù)

如果是自己的網(wǎng)站服務(wù)器,如何即時(shí)發(fā)現(xiàn)其登陸用戶、系統(tǒng)進(jìn)程數(shù)或系統(tǒng)負(fù)載呢,建議可配置Nagios即時(shí)監(jiān)控自己的Linux服務(wù)器,開啟郵件或短信報(bào)警;有條件的話也可配置cacti,監(jiān)控自己的服務(wù)器的持續(xù)時(shí)間段的并發(fā)數(shù),這樣更能清楚的了解和監(jiān)控自己的服務(wù)器(Nginx自帶的web-status只能反映一個(gè)瞬間并發(fā)值)。

八、iptables日志

如果開啟了iptables防火墻,建議將其日志不放進(jìn)/var/log/messages,利用syslog將其日志放進(jìn)單獨(dú)的日志文件,然后在全面分析判斷它;iptables的L是命令,而-v和-n只是作為選項(xiàng),它們不能進(jìn)行組合,如-Lvn;如果要列出防火墻詳細(xì)規(guī)則,可采用iptables -nv -L。

九、網(wǎng)絡(luò)監(jiān)控

可布署TCPDump或Wireshark來監(jiān)控自己的網(wǎng)絡(luò)流量和攻擊檢測(cè),如果是用iptables來作公司的NAT路由器,建議可安裝NTOP來監(jiān)控網(wǎng)絡(luò)流量和分析具體網(wǎng)絡(luò)包。

十、Snort

可布署Snort來自動(dòng)檢測(cè)入侵,Snort它是一套免費(fèi)的小型「IDS-入侵偵察系統(tǒng)」,它的好處是它的入侵偵察規(guī)則是完全開放的,也就是說你可以針對(duì)自己的網(wǎng)路系統(tǒng),設(shè)計(jì)自己的入侵偵察規(guī)則;尤其方便的是,它在CentOS系統(tǒng)中是作為附加軟件已包含在其中了。

【編輯推薦】

  1. 專題:明明白白你的Linux服務(wù)器
  2. 通過SSH訪問遠(yuǎn)程Linux服務(wù)器的四個(gè)安全策略
  3. 曹江華訪談實(shí)錄:Linux服務(wù)器安全策略詳解
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2010-06-29 14:38:14

Linux服務(wù)器

2010-07-05 15:33:49

2010-09-09 09:52:03

Linux服務(wù)器

2010-07-14 09:55:12

2010-08-25 09:09:58

2011-04-27 17:05:39

2010-09-06 17:35:03

PPPOE配置

2020-02-10 19:42:01

CPIP 協(xié)議,

2011-11-04 16:49:26

Action BarAndroid

2010-10-15 10:01:19

無線網(wǎng)絡(luò)構(gòu)建

2010-10-08 15:05:00

無線路由設(shè)置

2012-02-20 21:59:08

無線路由設(shè)置

2010-08-06 10:00:05

負(fù)載均衡

2021-09-30 09:59:23

OSPF網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)技術(shù)

2021-02-23 08:10:18

Nginx反向代理負(fù)載均衡器

2021-09-26 07:38:39

組合問題數(shù)據(jù)結(jié)構(gòu)算法

2013-05-23 11:16:28

大數(shù)據(jù)技術(shù)大數(shù)據(jù)AdTime

2010-01-13 17:07:21

防輻射機(jī)箱選購

2022-04-20 11:03:28

Linux內(nèi)存管理

2020-11-18 09:25:39

Docker
點(diǎn)贊
收藏

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