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

通過服務(wù)管理工具(SMF)實(shí)現(xiàn)系統(tǒng)保護(hù)

安全 網(wǎng)站安全
Solaris 10系統(tǒng)上的所有設(shè)備都由服務(wù)管理工具(SMF)控制。本文向大家展示了如何將NFS,IP過濾程序,F(xiàn)TP和Apache2 Web服務(wù)器配置成為SMF服務(wù)的方法。

Solaris 10系統(tǒng)上的所有設(shè)備都由服務(wù)管理工具(SMF)控制。在SMF具有許多優(yōu)勢,包括附屬服務(wù)的自動啟動和從服務(wù)損耗中恢復(fù)的功能等,后者使用的是SMF中基于角色的權(quán)限控制(RBAC)。使用基于角色的權(quán)限控制,程序能以準(zhǔn)確的權(quán)限和所需授權(quán)運(yùn)行。本文向大家展示了如何將NFS,IP過濾程序,F(xiàn)TP和Apache2 Web服務(wù)器配置成為SMF服務(wù)的方法。

3.1服務(wù)管理工具(SMF)

與傳統(tǒng)UNIX運(yùn)行控制腳本相比,SMF為Solaris服務(wù)提供的管理界面更加強(qiáng)大。

Solaris服務(wù),如系統(tǒng)進(jìn)程,無交互后臺程序,應(yīng)用和腳本都是可執(zhí)行的。數(shù)據(jù)庫軟件,Web服務(wù)器軟件和特定網(wǎng)頁腳本都可以通過SMF控制。SMF通過以下功能為我們提供簡單,快速和可視性的管理。

1. 可用管理命令svcadm啟用,禁用或重啟服務(wù)。

2. 失敗的服務(wù)會被附屬命令自動重啟。而且啟動失敗的源代碼不會影響自動重啟。

3. 可通過svcs, svcadm和svccfg等命令查看和管理服務(wù)對象。

4. 服務(wù)調(diào)試很簡單。svcs-x命令可以對服務(wù)無法正常運(yùn)行作出解釋,且每個服務(wù)的記錄文件也簡化了調(diào)試過程。

5. 由于配置狀態(tài)保留在服務(wù)清單中,所以可輕松對服務(wù)的某一特定配置進(jìn)行測試,備份和恢復(fù)。

6. 因?yàn)榉?wù)按照若干服務(wù)之間的附屬關(guān)系啟動和停止,所以系統(tǒng)啟動和關(guān)閉速度更快。多個服務(wù)可同時啟動。

7. 管理員可通過RBAC權(quán)限文件,角色,授權(quán)認(rèn)可或特權(quán)等方式,將任務(wù)放心委任給那些被許可使用特定管理服務(wù)的非根用戶。

8. SMF對系統(tǒng)初始化狀態(tài)作出響應(yīng),如多用戶運(yùn)行級別。

9. SMF同樣適用于使用傳統(tǒng)UNIX rc腳本的系統(tǒng)。雖然我們不推薦大家這樣做,但是用戶仍然可將傳統(tǒng)腳本用于某些服務(wù),欲了解相關(guān)詳情,可查看smf(5), svcadm(1M), svcs(1)和svccfg(1M)的介紹。

每個服務(wù)的清單都保存在中心存儲庫中。我們可以定義大量被稱為配置文件的清單集。

3.2 SMF配置如何

服務(wù)和SMF清單一起發(fā)送。清單格式是/var/svc/manifest/ 目錄下的XML文件。如果服務(wù)被啟用或禁用,那么其他基本配置和默認(rèn)信息,該清單會包含服務(wù)附屬信息。在系統(tǒng)啟動期間,該清單會被輸入到SMF存儲庫中。存儲庫是/etc/svc/ 目錄下的一個數(shù)據(jù)庫。

你可以擁有每個服務(wù)的多個清單或截圖。在啟動時,配置文件已被選定。配置文件會啟用或禁用每個Solaris服務(wù)。啟動期間,當(dāng)配置文件初始化系統(tǒng)后,管理員便可以進(jìn)一步用SMF命令完成自定義配置。這些命令可直接修改存儲庫和配置文件,而更改后的配置也會在下一次啟動時被保存。#p#

3.3修改Solaris服務(wù)默認(rèn)設(shè)置

在被限定配置文件強(qiáng)化的Solaris系統(tǒng)上,你想在特定系統(tǒng)上使用的網(wǎng)絡(luò)服務(wù)可能被禁用了。例如,ftp服務(wù)和NFS文件共享都被禁用了。需要配置的服務(wù),如IP過濾程序和IPsec的默認(rèn)狀態(tài)都是禁用。

下面提供幾種用SMF完成某些特殊系統(tǒng)配置的舉例。一旦你配置完系統(tǒng),清單就會出現(xiàn)在存儲庫中。當(dāng)系統(tǒng)重啟時,其配置也會被保存。請看:

1. 必須通過配置文件進(jìn)行配置的服務(wù)會在該文件被配置完成后啟用。如果你沒有配置文件或者該文件不能被讀取,那么這種情況也會記錄在案。

2. 或許你想對一項(xiàng)服務(wù)嘗試不同配置。使用不同的配置文件,就可以創(chuàng)建測試環(huán)境。最終的配置狀態(tài)會在重啟時保存下來。

3. 某些服務(wù),如FTP,是必需的但卻不要求監(jiān)控。你可以在將其聯(lián)網(wǎng)前,創(chuàng)建監(jiān)控服務(wù),如此一來,就可確保該服務(wù)首次使用時符合網(wǎng)頁的安全條款。

4. 如果你想限定一項(xiàng)網(wǎng)絡(luò)服務(wù)的攻擊面??蓪pache2 Web服務(wù)進(jìn)行配置,令其使用RBAC來限定服務(wù)所使用的權(quán)限?;蛘吣阋部梢哉埱笠粋€比root更受局限的帳戶運(yùn)行該服務(wù)。

3.3.1配置NFS服務(wù)

為了配置一個要求你自定義配置文件的服務(wù),可執(zhí)行如下操作:

1. 列出服務(wù)的狀態(tài)。

2. 修改或創(chuàng)建配置文件。

3. 啟用服務(wù)。

4. 驗(yàn)證服務(wù)是否在線。

5. 如果系統(tǒng)出具錯誤報告,請讀取服務(wù)記錄,然后修復(fù)錯誤。

6. 測試并使用服務(wù)。

在下列示例中,我們要配置一個系統(tǒng)作為幫助文檔。該文件的屬性必須是只讀共享。

# svcs -a | grep nfs
disabled Jan_10 svc:/network/nfs/server:default
# vi /etc/dfs/dfstab
share -F nfs -o ro /export/helpdocs
# svcadm enable svc:/network/nfs/server
# svcs -x svc:/network/nfs/server:default
State: online since Tue Jan 20 5:15:05 2009
See: nfsd(1M)
See: /var/svc/log/network-nfs-server:default.log
Impact: None

如果我們在沒有支持文件的情況下啟用了一個服務(wù),查看記錄文件確定問題出自哪里:

# svcs -x svc:/network/nfs/server:default (NFS server)
State: disabled since Tue Jan 20 5:10:10 2009
Reason: Temporarily disabled by an administrator.
See: http://sun.com/msg/SMF-8000-1S
See: nfsd(1M)
See: /var/svc/log/network-nfs-server:default.log
Impact: This service is not running.
# vi /var/svc/log/network-nfs-server:default.log
...
No NFS filesystems are shared
...

#p#

3.3.2 配置IP過濾服務(wù)

和NFS服務(wù)一樣,IP過濾服務(wù)只有在我們創(chuàng)建配置文件后才會被啟用。網(wǎng)頁的安全要求指示你在文件中放入的配置規(guī)則。某些服務(wù),如IPsec,需要每個相連的系統(tǒng)都具備一個配置文件??蓤?zhí)行如下操作啟用一個需要配置文件的服務(wù):

1. 創(chuàng)建配置文件。如果不知道配置文件名稱,可查閱服務(wù)名稱手冊頁,然后閱讀相關(guān)句法。

2. 如果有可用的驗(yàn)證句法,應(yīng)驗(yàn)證文件的句法。

3. 如果服務(wù)需要在兩個系統(tǒng)上運(yùn)行,如IPsec服務(wù),可對第二個系統(tǒng)進(jìn)行配置。

4. 在一個或兩個系統(tǒng)上啟用服務(wù)。

5. 驗(yàn)證服務(wù)是否正常運(yùn)行。

在下列例子中,我們要保護(hù)那些包含非全局區(qū)域的系統(tǒng)。IP過濾程序的規(guī)則保護(hù)了全局區(qū)域和Web服務(wù)器區(qū)域。你首先要向/etc/ipf/ipf.配置文件創(chuàng)建并添加規(guī)則。

# vi /etc/ipf/ipf.conf
set intercept_loopback true;
# *** GLOBAL ZONE: (IN: TCP/22, OUT: ANYTHING)
pass in quick proto tcp from any to global-zone port = 22
keep state keep frags
pass out quick from global-zone to any keep state keep frags
# *** Web Server ZONE: (IN: TCP/80, OUT: NOTHING)
pass in quick proto tcp from any to websvc port = 80
keep state keep frags
block out quick from websvc to any
# *** DEFAULT DENY
block in log all
block in from any to 255.255.255.255
block in from any to 127.0.0.1/32

然后在啟用服務(wù)前要驗(yàn)證配置文件的句法。

# ipf /etc/ipf/ipf.conf
# svcs -a | grep ipf
disabled Dec_10 svc:/network/ipfilter:default
# svcadm enable svc:/network/ipfilter:default
# svcs ipfilter
enabled Jan_10 svc:/network/ipfilter:default

為了測試不同配置,你可以創(chuàng)建另一個配置文件,驗(yàn)證文件句法更改config/entities屬性以指向新的文件。測試文件為Web數(shù)據(jù)區(qū)域添加了規(guī)則。

# vi /etc/ipf/testipf.conf
set intercept_loopback true;
# *** GLOBAL ZONE: (IN: TCP/22, OUT: ANYTHING)
pass in quick proto tcp from any to global-zone port = 22
keep state keep frags
pass out quick from global-zone to any keep state keep frags
# *** Web Server ZONE: (IN: TCP/80, OUT: NOTHING)
pass in quick proto tcp from any to websvc port = 80
keep state keep frags
block out quick from websvc to any
# *** Web Data ZONE: (IN: TCP/22, OUT: ANYTHING)
pass in quick proto tcp from any to webdat port = 22
keep state keep frags
pass out quick from webdat to any keep state keep frags
# *** DEFAULT DENY
block in log all
block in from any to 255.255.255.255
block in from any to 127.0.0.1/32
# ipf /etc/ipf/testipf.conf
# svcprop ipfilter | grep config
config/entities fmri file://localhost/etc/ipf/ipf.conf
config/grouping astring require_all
config/restart_on astring restart
config/type astring path
# svccfg -s /network/ipfilter \
setprop config/entities=file://localhost/etc/ipf/testipf.conf

刷新重啟服務(wù)后,要驗(yàn)證是否已經(jīng)設(shè)置該屬性。

# svcadm refresh ipfilter
# svcadm restart ipfilter
# svcprop ipfilter | grep etc
config/entities fmri file://localhost/etc/ipf/testipf.conf

測試完成后,可保存原始文件。

# svccfg -s /network/ipfilter \
setprop config/entities=file://localhost/etc/ipf/ipf.conf
# svcadm refresh ipfilter
# svcadm restart ipfilter
# svcprop ipfilter | grep etc
config/entities fmri file://localhost/etc/ipf/ipf.conf

#p#

3.3.3 配置ftp服務(wù)

ftp服務(wù)由inetd命令控制。通常,網(wǎng)頁安全策略要求FTP服務(wù)器記錄所有FTP連接的詳細(xì)信息。在下列兩個示例中,我們需要配置ftp服務(wù)的屬性,該ftp服務(wù)記錄了連接信息并啟用了調(diào)試。

為了對要求你更改服務(wù)屬性的服務(wù)進(jìn)行配置,需要執(zhí)行以下步驟:

1. 列出服務(wù)狀態(tài)。

2. 列出服務(wù)屬性。

3. 更改服務(wù)的一個或多個屬性。

4. 驗(yàn)證服務(wù)屬性是否被更改。

5. 啟用服務(wù)。

6. 驗(yàn)證屬性更改是否生效。

在這個示例的第一部分,我們可以將FTP配置為記錄FTP服務(wù)器系統(tǒng)A上的每次登錄。注意該ftp服務(wù)在系統(tǒng)A上的初始狀態(tài)為禁用。

A # svcs ftp
STATE STIME FMRI
disabled Jan_10 svc:/network/ftp:default
A # inetadm -l svc:/network/ftp:default
SCOPE NAME=VALUE
name="ftp"
endpoint_type="stream"
proto="tcp6"
isrpc=FALSE
wait=FALSE
exec="/usr/sbin/in.ftpd -a"
user="root"
...
default tcp_trace=FALSE
default tcp_wrappers=FALSE
default connection_backlog=10

用于ftp服務(wù)的注冊記錄屬性是tcp-trace。我們可以將其值從FALSE改為TURE,然后啟用該服務(wù)并驗(yàn)證服務(wù)是否在線。

A # inetadm -m svc:/network/ftp:default tcp_trace=TRUE
A # inetadm -l svc:/network/ftp:default
SCOPE NAME=VALUE
name="ftp"
tcp_trace=TRUE
A # svcadm enable svc:/network/ftp:default
A # svcs ftp
STATE STIME FMRI
online 07:07:07 svc:/network/ftp:default

而后,以普通用戶身份在B機(jī)上運(yùn)行ftp命令

B $ ftp A
Connected to A.
220 A FTP server ready.
Name (A:testftp):
331 Password required for testftp.
Password:
230 User testftp logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

作為超級用戶,再檢查A機(jī)上記錄文件中的注冊記錄。

A # tail -1 /var/adm/messages
Jan 10 07:20:20 A inetd[16208]: [ID 317013 daemon.notice] ftp[6036] from B 49822

要繼續(xù)這一示例,應(yīng)禁用該服務(wù)。假設(shè)你想在服務(wù)上線前創(chuàng)建監(jiān)控。

A # svcadm disable ftp
A # svcs -x ftp
svc:/network/ftp:default (FTP server)
State: disabled since January 20, 2009 07:20:22 AM PST
Reason: Disabled by an administrator.
See: http://sun.com/msg/SMF-8000-05
See: in.ftpd(1M)
See: ftpd(1M)
Impact: This service is not running.

用于ftp服務(wù)的exec屬性包含啟動服務(wù)的命令。該命令的手冊頁描述了命令可接受的參數(shù)。我們可以選擇參數(shù)添加到exec屬性中,以便該服務(wù)啟動時,命令按這些參數(shù)運(yùn)行。因此,若想修改運(yùn)行服務(wù)的命令,可按照如下步驟操作:

1. 列出服務(wù)的exec屬性。

2. 在手冊頁,確定要加入exec命令的參數(shù)。

3. 將選定參數(shù)添加到服務(wù)的exec屬性。

4. 驗(yàn)證exec屬性是否更改。

5. 啟用服務(wù)。

6. 測試并使用服務(wù)。#p#

在下列示例中,我們可以修改ftp服務(wù),以提供調(diào)試信息和每次連接的詳細(xì)記錄。若想修改ftp服務(wù)的exec屬性,首先要列出exec屬性,然后閱讀exec命令的手冊頁以確定要添加的參數(shù)。

# inetadm -l svc:/network/ftp:default | grep exec
exec="/usr/sbin/in.ftpd -a"
# man in.ftpd

在in.ftpd(1M)手冊頁,選擇提供詳細(xì)信息的選項(xiàng)。

-v為syslogd(1M)寫調(diào)試信息。

-w 記錄wtmpx(4) file中每位用戶登錄,登出的記錄。

-i記錄FTP服務(wù)器到xferlog(4)所接收的所有文件名。

修改exec屬性,驗(yàn)證屬性是否更改成功。

# inetadm -m ftp exec="/usr/sbin/in.ftpd -a -i -v -w"
# inetadm -l ftp | grep exec
exec="/usr/sbin/in.ftpd -a -i -v -w"

測試屬性更改是否生效。首先,啟用服務(wù)。然后以普通用戶的身份發(fā)送一個文件。最后驗(yàn)證記錄文件是否被更新。

A # svcadm enable svc:/network/ftp:default
A # svcs ftp
STATE STIME FMRI
online 07:07:07 svc:/network/ftp:default

以普通用戶的身份,將一個文件放入FTP存儲庫中。

以超級用戶身份,檢查xferlo

B $ ftp A
Connected to A.
220 A FTP server ready.
Name (A:testftp):
331 Password required for testftp.
Password:
230 User testftp logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mput design.tar
mput design.tar? y
200 PORT command successful.
150 Opening BINARY mode data connection for design.tar.
226 Transfer complete.
^D
ftp> 221-You have transferred 0 bytes in 0 files.
221-Total traffic for this session was 361 bytes in 0 transfers.
221-Thank you for using the FTP service on A.
221 Goodbye.
B $

g文件中的記錄。該記錄表明用戶將design.tar文件從B機(jī)發(fā)送到A機(jī)的操作不成功。

A # cat /var/log/xferlog
Sat Jan 20 07:18:10 2009 1 B.mydomain.com 
0 /home/test/design.tar b _ i r test ftp 0 * c

3.3.4 配置Apache2 Web服務(wù)

Apache2 Web服務(wù)程序是Solaris操作系統(tǒng)的一部分。Web服務(wù)器通常是攻擊者的目標(biāo)。我們可使用RBAC來減少服務(wù)器的漏洞。其他Solaris功能,如區(qū)域,在創(chuàng)建網(wǎng)絡(luò)服務(wù)的時候也能發(fā)揮作用。

可執(zhí)行以下步驟來配置使用RBAC的服務(wù):

1. 列出服務(wù)屬性。

2. 創(chuàng)建一個權(quán)限文件或一個角色,或者是用于服務(wù)的授權(quán)許可。

3. 為服務(wù)添加權(quán)限或刪除權(quán)限。

4. 驗(yàn)證服務(wù)屬性是否更改成功。

5. 啟用服務(wù)。

6. 驗(yàn)證屬性更改是否生效。

SUNWapch2r和SUNWapch2u數(shù)據(jù)包提供了Apache2 Web服務(wù)器程序。Apache2服務(wù)的默認(rèn)狀態(tài)時禁用。

# svcs apache2
disabled 11:11:10 svc:/network/http:apache2

默認(rèn)狀態(tài)下,服務(wù)是通過root帳戶啟動。但是Apache2服務(wù)的http.conf文件創(chuàng)建了一個無交互后臺程序webservd來運(yùn)行該服務(wù)。當(dāng)你用默認(rèn)文件配置服務(wù)時,該服務(wù)會在root帳戶下啟動,切換到webservd帳戶,通過所有權(quán)限運(yùn)行。

執(zhí)行下列操作可減少Apache2服務(wù)器的權(quán)限,并用webservd啟動該服務(wù)。

◆刪除服務(wù)不需要的基本權(quán)限,proc_session, proc_info和file_link_any。

◆添加服務(wù)使用特權(quán)端口時所需要的網(wǎng)絡(luò)優(yōu)先權(quán), net_privaddr。

◆不要更改限定設(shè)置。

◆將用戶和組設(shè)置為webservd。那么在SMF清單中設(shè)置完用戶和組后,服務(wù)以webservd啟動而不是以root帳戶啟動。

# svccfg -s apache2
... apache2> setprop start/user = astring: webservd
... apache2> setprop start/group = astring: webservd
... apache2> setprop start/privileges = astring:
basic,!proc_session,!proc_info,!file_link_any,net_privaddr
... apache2> end
# svcadm -v refresh apache2
Action refresh set for svc:/network/http:apache2.

欲驗(yàn)證該配置是否已經(jīng)被成功設(shè)置,可檢驗(yàn)服務(wù)的啟動屬性。

# svcprop -v -p start apache2
start/exec astring /lib/svc/method/http-apache2\ start
start/user astring webservd
start/group astring webservd
start/privileges astring
basic,!proc_session,!proc_info,!file_link_any,net_privaddr
start/limit_privileges astring :default
start/use_profile boolean false

注意,如果你創(chuàng)建的權(quán)限文件包含在服務(wù)的特權(quán)中,那么你可以輸入權(quán)限文件的名稱,并將其作為use_profile屬性的值,這樣可免去設(shè)置特權(quán)的麻煩。

現(xiàn)在,我們可以啟用服務(wù)。驗(yàn)證服務(wù)是否在webservd帳戶下開啟,且是否具備受限特權(quán)。

# svcadm -v enable -s apache2
svc:/network/http:apache2 enabled.
# svcs apache2
STATE STIME FMRI
online 12:02:21 svc:/network/http:apache2
# ps -aef | grep apache | grep -v grep
webservd 5568 5559 0 12:02:22 ? 0:00 /usr/apache2/bin/httpd -k start
...
# ppriv -S 5559
5559: /usr/apache2/bin/httpd -k start
flags =
E: net_privaddr,proc_exec,proc_fork
I: net_privaddr,proc_exec,proc_fork
P: net_privaddr,proc_exec,proc_fork
L: limit

【編輯推薦】

  1. IIS安全:配置web服務(wù)器權(quán)限更好地實(shí)現(xiàn)訪問控制
  2. 精心配置IIS打造安全Web服務(wù)器
責(zé)任編輯:許鳳麗 來源: IT專家網(wǎng)
相關(guān)推薦

2010-11-16 10:00:59

2011-08-12 10:38:09

MongoDB

2009-04-24 21:13:45

服務(wù)器虛擬化Vmware

2020-09-30 14:05:22

網(wǎng)絡(luò)管理

2020-10-30 11:18:47

網(wǎng)絡(luò)技術(shù)工具

2012-12-06 11:31:40

虛擬化

2010-02-24 17:07:20

2012-04-09 09:43:49

云計算云管理

2020-07-01 08:45:00

開源開發(fā)工具

2010-05-13 17:46:51

IIS服務(wù)器

2014-07-14 15:45:08

服務(wù)器虛擬化

2013-08-30 14:30:59

系統(tǒng)自動化自動化配置SaltStack

2009-11-19 17:24:01

2014-03-28 11:15:42

phpmyadminMySQL管理

2012-03-01 10:04:02

虛擬化云計算混合云

2022-05-06 12:04:24

Ansible管理工具

2013-07-15 15:00:26

項(xiàng)目管理工具

2013-07-17 09:54:17

2022-08-03 08:02:46

PDM工具Python

2023-03-07 14:21:57

點(diǎn)贊
收藏

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