SUN系統的基本安全配置(轉)
一個SUN系統就象和NT系統一樣,容易受到來自internet的各種可惡的攻擊。幸運
的是,不象NT,你可以用以下三個簡單的手段把SUN變的相對安全些,它們是:
1)防止堆疊溢位
2)關閉不用的服務
3)給系統打補丁
#1 防止堆疊溢位
至少90%以上的安全問題都是來自所謂的“堆疊溢位”。攻擊者透過給一個以root身份
執行的程式提供比它所預期的輸入多得多的東西,使被攻擊程式無法處理而改變執行
流程去執行攻擊者指定的程式碼。
Solaris 2.6和Solaris 7都具備把使用者堆疊設成不可執行的能力,以使這種攻擊不
能得逞。要使能這個特點:
0)變成root
1)對/etc/system檔案做個複製
cp /etc/system /etc/system.BACKUP
2)用你最鍾愛的編輯器編輯/etc/system檔案
3)到檔案的最後,插入以下幾行:
set noexec_user_stack=1
set noexec_user_stack_log=1
4)儲存檔案,退出編輯器
一旦重啟機器,這些改變就會生效。如果這不是一個你可以關閉的系統,那麼你用
adb來改變一個執行中的系統的引數也是可能的,但這不是我個人樂意去幹的事。
當然會有些合法使用可執行堆疊的程式在你做出如上改變後而不能正常執行。所幸
的是這樣的程式的並不多,我所知的就只有GNU ada 編譯器。
#2 在inetd.conf中關閉用不著的服務
有許多用不著的服務自動的處於使能狀態。它們中可能存在的漏洞將使攻擊者甚至
不需要一個賬戶就能控制你的機器。關閉這些不需要的服務來保護你的系統,你可
以用如下方法來關閉:
0)變成root
1)對inetd的配置檔案/etc/inetd.conf做個複製
cp /etc/inetd.conf /etc/inetd.conf.BACKUP
2)編輯/etc/inetd.conf檔案
未被啟用的服務是在前面被“#“符號註釋掉的,舉個例子,你的部份inetd.conf可能
是這樣的:
# Tnamed serves the obsolete IEN-116 name server protocol.
#
name dgram udp wait root /usr/sbin/in.tnamed in.tnamed
不需要這個服務,因為你們中的99.999%不會用到這個“已經被廢棄的IEN-116名字服務
協議“,把這個註釋掉以後,這行看起來會象是:
# Tnamed serves the obsolete IEN-116 name server protocol.
#
#name dgram udp wait root /usr/sbin/in.tnamed in.tnamed
^
|
看到這個新的“#” 符號了吧
我建議註釋掉幾乎所有的服務,只留下:
ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd
telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
time stream tcp nowait root internal
time dgram udp wait root internal
echo stream tcp nowait root internal
echo dgram udp wait root internal
discard stream tcp nowait root internal
discard dgram udp wait root internal
daytime stream tcp nowait root internal
daytime dgram udp wait root internal
rstatd/2-4 tli rpc/datagram_v wait root /usr/lib/netsvc/rstat/rpc.rstatd rpc.rstatd
fs stream tcp wait nobody /usr/openwin/lib/fs.auto fs
100083/1 tli rpc/tcp wait root /usr/dt/bin/rpc.ttdbserverd rpc.ttdbserverd
在只需要不多圖形操作的伺服器或是要保證相當的安全,你也許應該關掉字型服務fs,也可以
關掉系統效能監視器rstatd和tooltalk伺服器ttdbserverd。事實上在確實需要安全的機器上
你甚至應該註釋掉telnet和ftp。
你可以用grep找出機器能過inetd所提供的服務:
grep -v "^#" /etc/inetd.conf
這將返回/etc/inetd.conf中所有沒被註釋掉的行。
3)在/etc/inetd.conf中做出改變之後,找到inetd程式的id號,用kill向它傳送HUP訊號來重新整理
它。一定要確保kill了inetd程式後,它還在執行,例如:
root@multics: ps -ef | grep inetd
root 196 1 0 15:32:14 ? 0:00 /usr/sbin/inetd -s
root@multics: kill -HUP 196
root@multics: ps -ef | grep inetd
root 196 1 0 15:32:14 ? 0:00 /usr/sbin/inetd -s
#3 給系統打補丁
跟所有的複雜系統一樣,SUN有它的漏洞,其中的一些從性質上來說是相當嚴重的。SUN公司有向
它的客戶甚至是沒有技術支援的客戶提供補丁的優良傳統。這些補丁或者以集合包或者以單個補
丁的形式存在的。不幸的是,要完全修補你的系統,既需要大的補丁集合包,又需要單個的補丁。
然而我們將介紹一種把補丁包和單個補丁結合起來使用的方法。
1)變成root
2)鍵入
umask 022
來設定你的許可模式--給系統打補丁不僅要求所有的補丁被"nobody"使用者可讀,而且包括補丁之
前的所有目錄(不要問為什麼,反正是一般這麼幹的)。
3)建立一個叫“patch“的目錄,並進入它,我一般是這樣做的:
mkdir /var/tmp/patch
cd /var/tmp/patch
在你建“patch“目錄的檔案系統中要保證有足夠的磁碟空間(提示:你可以試著鍵入
df -k
來看看檔案系統上可用的磁碟空間,不要用/tmp!
4)用ftp連線sunsolve站
ftp sunsolve.sun.com
你的登入使用者名稱是“anonymous“,口令是你的電子郵件地址。
5)轉到二進位制模式,鍵入:
bin
關閉提示,鍵入:
prompt
--你不需要為下載每個補丁回答”是,我需要下那個補丁“ 。
6)補丁位於sunsolve站的/pub/patches目錄,所以鍵入:
cd /pub/patches
7)得到對應於你作業系統版本的PatchReport檔案,你可以用以下命令列出那些檔案:
ls *.PatchReport
例如:
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
ftp> ls *.PatchReport
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
Solaris1.1.1.PatchReport
Solaris1.1.2.PatchReport
Solaris1.1.PatchReport
Solaris2.3.PatchReport
Solaris2.4.PatchReport
Solaris2.4_x86.PatchReport
Solaris2.5.1.PatchReport
Solaris2.5.1_x86.PatchReport
Solaris2.5.PatchReport
Solaris2.5_x86.PatchReport
Solaris2.6.PatchReport
Solaris2.6_x86.PatchReport
Solaris7.PatchReport
Solaris7_x86.PatchReport
226 Transfer complete.
remote: *.PatchReport
360 bytes received in 0.0044 seconds (79.16 Kbytes/s)
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
對x86和sparc檔案有不同的補丁報告檔案,sparc版本的是那些沒有“x86“字樣的。
8)得到一份補丁報告檔案,比如:
get Solaris2.6.PatchReport
9)得到一份對應於你系統版本的推薦補丁集合包和它的README檔案,可以用如下命令
列出推薦的檔案:
ls *Recommended*
輸出可能是這樣的:
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
ftp> ls *Recommended*
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
2.3_Recommended.README
2.3_Recommended.tar.Z
2.4_Recommended.README
2.4_Recommended.tar.Z
2.4_x86_Recommended.README
2.4_x86_Recommended.tar.Z
2.5.1_Recommended.README
2.5.1_Recommended.tar.Z
2.5.1_x86_Recommended.README
2.5.1_x86_Recommended.tar.Z
2.5_Recommended.README
2.5_Recommended.tar.Z
2.5_x86_Recommended.README
2.5_x86_Recommended.tar.Z
2.6_Recommended.README
2.6_Recommended.tar.Z
2.6_x86_Recommended.README
2.6_x86_Recommended.tar.Z
7_Recommended.README
7_Recommended.zip
7_x86_Recommended.README
7_x86_Recommended.zip
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
你可以用mget命令把推薦檔案和readme都拿下來,比如:
mget 7_x86_Recommended*
這可能要等上一會兒。
10)在下載推薦檔案的時候,你可以開啟補丁報告檔案看看,裡面會有關於安全修補的一節
可能是這樣的:
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
Solaris 2.5.1 Patches Containing Security Fixes:
------------------------------------------------
103594-19 SunOS 5.5.1: sendmail fixes
103603-10 SunOS 5.5.1: ftp, in.ftpd, in.rexecd and in.rshd patch
103627-11 SunOS 5.5.1: Linker patch
103630-14 SunOS 5.5.1: ip ifconfig arp udp icmp patch
106689-01 * SunOS 5.5.1: /usr/sbin/in.uucpd patch
106905-01 * SunOS 5.5.1: apropos/catman/man/whatis patch
103566-43 OpenWindows 3.5.1: Xsun patch
106411-06 * OpenWindows 3.5.1: xdm patch
(& c.)
-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-=+=-
“*“標記的補丁沒有包括在推薦補丁集合包裡,我們要把它們包括進來。
11)當推薦補丁集合包下載完後,你需要下載補丁報告中所標記的單個補丁,最快的方法是
用mget,這樣用:
mget 106689* 106905* 106411*
重要:你可能想用一個mget命令得到所有的補丁,但mget的引數的個數是有限制的!
而且,我並沒有指定版本號,這不僅僅是為了少輸入字元和得到相關的README檔案,也是因為
在補丁報告發布過程中,版本號可能是會變化的。
12)下載完所有的東西后,鍵入:
quit
來結束ftp會話。
13)到現在,你已經下載了補丁集合包和單個補丁,因為繼續下去打單個的補丁包太費體力,我
們將先把補丁包和單個補丁合併起來。
首先解壓補丁包:
如果你用的是Solaris 2.6或更早的,
uncompress 2*Recommended.tar.Z
tar -xvf 2*Recommended.tar
如果用的是Solaris 7,
unzip 7*Recommended.zip
其次,把所有的單個補丁移到你的建立的Recommended目錄:
mv 1* *Recommended
然後,進到儲存有全部補丁的Recommended目錄:
cd *Recommended
14)現在我們可以把所有單個的補丁加到patch_order檔案中,在這個檔案中列出
了所有將被install_cluster指令碼安裝的補丁,你可以手工把它們加進去(提示:
這是錯誤的選擇)或者用UNIX的命令工具來幫你做這件事。
如果你是Solaris 7,用下面的命令:
ls *.zip | cut -d"." -f1 >> patch_order
如果是Solaris 2.6或以前的:
ls *.tar.Z | cut -d"." -f1 >> patch_order
15)現在是解壓所有單個補丁包的時候了,因為它們還是壓縮格式的。
A)如果你用Solaris 7,你可以用unzip一次解壓一個檔案:
unzip 108723.zip
討厭的是,你不能用“unzip *.zip“,因為unzip不能這樣工作,為了避免多次地輸入
unzip,你可以用下面的UNIX命令讓unzip為你解壓所有的東西:
ls *.zip | xargs -n1 unzip
B)如果用的是Solaris 2.6或更低的,鍵入:
uncompress *.tar.Z
現在你必須用tar分離出單個的補丁,你可以用以下命令一次處理一個檔案:
tar -xvf 108723.tar
討厭的是,你不能用“tar -xvf *.tar“,因為tar不能這樣工作,為了避免多次地輸入
tar,你可以用下面的UNIX命令讓tar為你分離所有的東西:
ls *.zip | xargs -n1 tar -xvf
16)到現在所有的補丁都準備好了,關閉計算機:
/usr/sbin/shutdown -y -g0 -i0
啟到到單使用者模式,
對sparc:
boot -s
對x86, 啟動時, 鍵入:
b -s
系統引導後,在提示符後輸入root口令後,鍵入:
mountall
來mount所有的檔案系統。
然後輸入:
cd /var/tmp/patch/*Recommended
進到儲存所有補丁的目錄,現在你可以鍵入以下命令來安裝“所有”的補丁了:
./install_cluster
跟著提示做就行了。如果這是個Solaris 2.5.1或是個Solaris 2.6的系統,可以走
開搞杯咖啡喝喝,因為要花點時間的。不要太擔心補丁安裝過程中的錯誤,很多時
候出現錯誤是因為你沒有安裝一個特定的軟體或已經打了某個補丁。
打完補丁後,關機重啟,輸入:
/usr/sbin/shutdown -y -g0 -i6
好了,現在你就有了一個修補過的系統了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-941491/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Ubuntu作業系統的基本配置與使用Ubuntu作業系統
- MySQL基本用法-系統安全性MySql
- Carsim轉向系統配置
- SUN4.0眾籌模式系統開發模式丨SUN4.0阿凡達模式系統開發技術方案模式
- 如何配置伺服器的系統服務安全伺服器
- Windows 系統 SQL Server 配置使用安全模式WindowsSQLServer模式
- iptables配置-Linux系統安全防火牆Linux防火牆
- Linux系統的基本操作Linux
- sun4.0泰山眾籌系統開發(模式案例)|阿凡達泰山眾籌sun開發方案模式
- 網站防黑客入侵的主機系統安全配置方法網站黑客
- 環境 | ubuntu16.04系統安裝及基本軟體配置Ubuntu
- [轉帖] 銀河麒麟系統安全機制-KYSEC
- RIP的基本配置
- 阿凡達Sun4眾籌開發系統搭建|泰山眾籌模式系統原始碼部署模式原始碼
- 阿凡達sun眾籌挖礦系統開發原始碼技術原始碼
- Sun(泰山眾籌)系統開發|眾籌DAPP開發搭建技術APP
- 分散式系統–>(關於系統應用的基本概念)分散式
- 直播系統原始碼,ios系統開發的基本架構原始碼iOS架構
- 如何為K8S生產系統配置安全管理?K8S
- GoldenGate的基本配置流程Go
- Linux系統配置(系統優化)Linux優化
- DSP系統的建模和配置
- sun.misc
- sun泰山眾籌(智慧合約)系統程式設計開發技術分析程式設計
- sun4.0阿凡達Avatar系統開發技術詳細丨阿凡達Avatar系統原始碼原始碼
- SAP ECC系統連線SAP PI系統的系統連線配置
- 系統安全加固
- 轉轉支付通道監控系統的搭建
- 幾個作業系統的基本概念作業系統
- Windows作業系統的基本攻擊方式Windows作業系統
- NGINX的配置和基本使用Nginx
- vscode 基本配置VSCode
- NGINX基本配置Nginx
- repmgr基本配置
- 新泰山眾籌sun4.0dapp系統開發合約部署流程介紹APP
- win10系統下怎麼將動態磁碟轉換成基本磁碟Win10
- linux系統中 SElinux安全子系統Linux
- 敏捷配置ERP系統敏捷
- Windows伺服器作業系統安全配置檢查和加固方法Windows伺服器作業系統