『壹』 rip協議(1.0)支持vism對嗎
對的。rip協議在UNIX和linux上是通過routeddaemon實現的。作為一種距離矢量協議,rip需要路由器收聽和集成來自其他路由器和路由信息。rip協議(1.0)支持vism是對的,同時被劃分為主動方和被動方。rip節點通常是參與距離失量數據交換過程的路由器。
『貳』 linux中簡述wed伺服器配置過程
淺談基於Linux的Intranet環境建造
在建設傳統的Intranet網路環境的時候,我們一般是基於Windows NT Server系統的,在它的基礎上實現一系列的服務。 現在的Linux系統中也包含了很多基於網路建設的軟體服務,基本上我們是完全可以利用Linux系統建立與Windows NT Server所具有的基本Intranet框架相同的框架。並且還可以在這個基礎上發展具有Linux系統自身特點的Intranet環境,在某種程度上其性能還優於Windows NT Server系統。
我們先假設一個基於Linux系統區域網的網路構架。首先,建議使用轉換器把Internet介面轉換為雙絞線,直接連接到一台雙網卡Server上。該Server的另外一塊網卡和其他的Server及Client連接到一個Hub上面,成為一個區域網。雙網卡的伺服器作為防火牆和網關,控制內部網和Internet連接的安全。我們在其上面還可以運行其他的服務,例如文件伺服器、代理伺服器、郵件伺服器和Web伺服器等。另外一台伺服器可以作為資料庫伺服器,在其上主要運行資料庫服務。
雙網卡中對外的網卡必須有正式的IP,另外一塊網卡和其他計算機的網卡可以使用私有IP,范圍從「192.168.1~192.168.254」自由分配,其他計算機的網關地址都指向防火牆網關伺服器的內部IP。防火牆網關伺服器的網路配置要根據申請的IP地址來具體設置。
一般地,我們要求的Intranet環境應該是提供最基礎的WWW服務、FTP服務、DNS服務、網上鄰居等服務項,下面我們就一一簡單地介紹一下。
1.WWW服務
首先我們要實現WWW服務,我們以在RedHat系統的完全安裝中為例,這里系統已經為大家安裝好了目前在Internet上使用得最多的HTTP伺服器Apache, 你只需要使用「setup」命令選擇該服務,或者直接運行「httpd」即可。它的安裝根目錄是在/home/httpd/目錄下的,只要使用瀏覽器按照「IP地址」訪問你的Web server,就能夠看到Apache的說明文檔。如果你要發行自己的主頁,只需要將這些文檔放在/home/httpd/Html/下即可,或者是將httpd.conf中的文檔根目錄修改為你的Windows系統下的目錄,這樣既可以享受Linux的效率,也可享受Windows的頁面製作工具的便利。但是我們要注意在Linux環境中要區分大小寫,所以頁面中的文件名最好統一使用大小寫。在Windows環境中的頁面文件一般是.htm後綴,而預設的Linux系統的瀏覽器Netscap或lyxn解釋的頁面文件是以.html為後綴的,你只需要在/etc/mime.types中增加如下一行即可:text/html html htm。同樣,你也可以按照注釋修改以下配置文件:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/Access.conf
/etc/httpd/conf/srm.conf 以建立更加強大而靈活的WEB伺服器。
2.FTP服務
接著讓我們看看FTP服務的實現,我們依然是在RedHat系統的完全安裝中,RedHat系統已經為你安裝好了目前Internet流行的WU-FTP-2.4.2 Server。它的匿名訪問目錄在/home/ftpd/中,如果是在FTP客戶端使用普通帳戶登錄,那麼我們將直接進入該賬戶的主目錄。它的配置文件主要是:
/ect/ftpaccess。
域名服務(DNS服務)的功能是把我們取的名字映射為具體的IP地址。目前Internet流行的域名伺服器BIND,它的執行進程是「named」,其配置文件有:
/ect/named.conf
/etc/resolv.conf
/var/named/named.ca
/var/named/named.local
/var/named/named.hosts(自建)
/var/named/named.rev
其中的自建文件需要符合「named」配置文件的格式,我們從已有的文件中cp即可,尤其注意BIND 4的配置文件格式和BIND 8p是完全不同的,如果使用的版本不同的話,請查閱其具體的配置文件。
3.RAS服務
RAS服務(PPP)也是傳統的服務之一,配置PPP在Linux系統中是比較復雜的一項工作。它的主要配置文件有:
/etc/mgetty+sendfax/mgetty.config
/etc/mgetty+sendfax/loging.config
/etc/inittab
/etc/ppp/options
/etc/ppp/ppplogin
/etc/ppp/options.ttyS2
/etc/ppp/pap-secrets
/etc/hosts
提醒大家的是如果使用Win95的撥號適配器的話,它的網關為撥號伺服器的IP,DNS為內部網的DNS Server的IP,設置遠程自動配置IP,新手可以先不啟動該服務。
4.DHCP功能
DHCP的功能是動態分配IP地址。注意在啟動dhcpd之前,增加一項預設路由:/sbin/route add -host 255.255.255.255 dev eth0詳細的格式可以使用「main dhcpd」得到。它的執行進程是「dhcpd」,它的配置文件有:
/etc/dhcpd.conf /etc/dhcpd.leases(空文件)
/etc/dhcpd.leases~(空文件夾)
5.網上鄰居
網上鄰居(smbd nmbd)也是我們很關心的功能,微軟的網上鄰居是局域內直接而簡便的資源共享方法,但它採用的是Netbeui協議。而Linux系統採用的主要是TCP/IP協議,它提供的Samba可以方便地完成網上鄰居的功能,讓你的用戶通過網上鄰居看到你的伺服器和共享的資源。其主要配置文件有:
/etc/smb.conf
/etc/smbusers
代理服務和防火牆(routed lpmasquerdde ipfwadm)的設置對於一些用戶也是必要的。在Windows NT中也有「routed」命令,但要實現共享IP地址卻要使用專門的代理軟體,如proxy Server、 Wingate、Winproxy等。在這方面,Linux利用核心支持的「ipmasquerad」功能,配合「routet」和「ipfwadm」則可以輕松地實現這一功能,並且在使用瀏覽器時還不需要指定代理伺服器,同時利用「ipfwadm」確定接收和發送數據包的規則,並且還可以提供基於包過濾的防火牆設施。它的主要配置命令有:
/sbin/ipfwadm -F -P deny
/sbin/ipfwadm -F -a m -s 192.168.0.0/16 -D 0.0.0.0/0
/sbin/route add -net 192.168.0.0 netmask 255.255.255.0 gw 130.0.40.1
6.SQL資料庫系統
SQL資料庫系統(postgresql)在目前的Intranet環境中是越來越重要了,但在Windows NT平台上運行的商品化的SQL資料庫價格不菲。Linux系統集成的SQL資料庫主要有Postgre和SQLmysql,它們均達到了SQL92的標准,並且提供在 Windows系統的客戶端的ODBC驅動程序,是非常理想的後端資料庫系統。PostgreSQL是普遍使用的免費SQL資料庫系統之一,而且是一些商用SQL資料庫的原形。盡管它可能沒有現在的某些商品化SQL功能強大,並且能夠處理中文,作為一般的Intranet Web資料庫系統,使用它已經是綽綽有餘了。它還為編制CGI程序提供了方便的介面。要訪問postgreSQL可使用命令「psql」,預設的管理員賬號「postgres」是在安裝後禁用的,需要給予登錄許可權。為了讓Web客戶能夠訪問資料庫,我們需要給「nobody」用戶授權。
微軟的ASP技術作為IIS的模塊,可以簡化CGI程序的編制,提高Web伺服器的效率,提供靈活的資料庫連接方法。Linux系統中的Apache也有相應的PHP模塊,由於Linux系統中包含有使用最廣泛的CGI編程語言PERL 5,所以我們可以輕松而高效地設計CGI程序。
7.其他實現
Linux系統里還有一些對構建Intranet環境比較有用的東西,比如磁碟限額(quota)服務,使用限額機制可以控制用戶對資源的擁有量,防止非法上載,是多用戶環境下必須具備的功能。我們還是以RedHat為例,RedHat中啟動磁碟限額方法很簡單,只需要使用Linuxconf中的相應選項即可。但是你需要在實施限額的文件系統的根目錄下建立「quota.user」和「quota.group」兩個空文件,並且,應該在安裝完系統後立即啟動該服務,linuxconf程序不光可以動態配置系統,而且具有多種工作界面,極大地方便了用戶配置與管理系統。為了能夠運行linuxconf,我們必須以根(root)用戶的身份登錄Linux系統。如果你不是以根用戶的身份登錄系統,那麼可在系統提示符下執行「su」命令,變成根用戶。常見的linuxconf工作界面有:命令行界面、字元單元界面(使用了像RedHat Linux安裝時的用戶界面形式)、基於XWindow的界面(提供易於使用的「點擊」樹狀菜單)。
我們以RedHat Linux 6.0系統為例,想要linuxconf在Web瀏覽器環境工作,必須進行以下設置:
* 在gnome-linuxconf對話框中,打開「Config/Networking/Misc/Linuxconf network access」分支,選中「Enable netwoork access」選項。
* 在對話框中輸入任何允許使用Linuxconf的計算機的主機名,包括用戶主機名字。
* 選擇「Accept」按鈕,並按空格鍵,單擊「Quit」按鈕。
* 啟動Netscape瀏覽器,在URL欄鍵入:http://〈hostname〉:98/ 〈cr〉。其中,必選項「hostname」應換成用戶計算機的主機名。
* 選擇瀏覽器頁面底部的「Start」按鈕,在彈出的口令驗證框中,分別輸入根用戶的名字「root」和相應的口令。如果口令正確,則進入基於Web的linuxconf工作界面。該界面主要由Config和Control兩部分組成,它們各自均含有5個具有超鏈接特性的選項,用戶單擊具體的選項,即可打開對應的頁面,完成相應的配置。
Linux系統中包含的「sendmail」是Internet電子郵件系統中主要的SMTP軟體,「imapd」軟體是POP3郵件伺服器,可以讓你使用Netscape或IE輕松收發電子郵件。注意,你要在/etc/sendmail.cw中添加內部域名,再將/etc/sendmail.cf中的F項修改為Fw/etc/sendmail.cw.遠程登錄(Telnet)。
現在有很多的關於Linux系統方方面面的文章,所以如果是要建立一個基於Linux系統的Intranet環境,還有很多的參考,而且要是想讓你的Intranet環境完美起來,還有很多的服務等你實現。
(出處:http://www.hackhome.com)
『叄』 青島adsl的Linux上網解決方案!!
對於青島地區的網通ADSL用戶,據我所知,使用的拔號方式為PPPoverATM,FC3自帶的拔號程序pppd並不直接支持,所以,需要插件,幸運的是,在FC3中巳經自帶了pppoatm.so,具體可通過 find /usr/lib/ -name pppoatm.so 來進行查詢,如果沒有找到,嘿嘿,找安裝光碟啊,肯定有的,哪一張就不曉得了。
重要:你的linux系統中必須有對應版本的內核源碼,在編譯驅動的時候,要用到內核的config文件。請使用安裝光碟里的內核源碼,而不要到網上下載。路徑一定為:/usr/src/linux
至此,安裝驅動的條件具備如下:
1.FedoraCore 3 linux
2.內核源碼
3.cxacru.tar.bz2驅動源碼包
4.pppd拔號軟體並有pppoatm.so插
下面,我們就來編譯安裝驅動程序,以下的操作都應該在"root"下完成(千萬別問偶偶什麼是"根",呼呼)。
將驅動源碼包解包:
#tar -xjvf cxacru.tar.bz2
得到一個目錄:cxacru,進入該目錄後執行:
#make all
一大堆信息輸出後,順利的話沒有錯誤就算是成功一半了呵,相應的驅動已經安裝到了指定目錄中,剩下的就是配置驅動程序和pppd拔號程序了。有錯誤的話,仔細看看出錯信息,然後找解決方法(只要注意前面提到的幾個必備條件,通常不會有什麼問題)。
下面我們來配置驅動程序和pppd拔號程序,這可是黎明前的黑暗,要修改的地方比較多,仔細些就可以。
首先進入/etc目錄:
#cd /etc
#vi cxacru
其中的"cxacru"是modem的配置文件,用來設定驅動程序的驅動方式,協議以及VCI.VPI值,如果全青島市一盤棋,那麼下面我的配置就適合你,若有個別特色,那就在Windows下打開modem的控制面板仔細看清楚,看明白;)
在這個配置文件中,只修改下面這5項即可,分別是:
DRIVER_MODE
PROTOCOL_MODE
OPEN_MODE
VPI 和 VCI值
下面是我的配置文件,仔細看看,一般大家都是相同的:
#
# Config file for Conexant AccessRunner
#
# Driver mode,選擇1,即正常驅動模式
DRIVER_MODE=1 # 1 = normal, 2 = debug, 3 = normal+max speed (without ask adsl status), 4 = debug+max speed (without ask adsl status)
# Protocol,協議為2,我們的拔號方式為PPPoA
PROTOCOL_MODE=2 # 1 = RFC1483/2684 routed, 2 = PPP over ATM (pppoa), 3 = RFC1483/2684 bridged, 4 = PPP over Ethernet (pppoe)
# Paths,這里不用改動
BINARY_PATH="/usr/sbin"
ATM_PATH=""
# ADSL
# if OPEN_MODE is blank then cxload uses default mode acoording VID & PID
# Values for OPEN_MODE are:一般為0就可以
# 0 = auto selection, G.Handshake
# 1 = auto selection, T1.413
# 2 = G.Handshake
# 3 = ANSI T1.413
# 4 = ITU-T G.992.1 (G.DMT)
# 5 = ITU-T G.992.2 (G.LITE)
OPEN_MODE=0
# ATM,這里很重要,要填寫正確
VPI=0
VCI=33
# Specific for RFC1483/2684 routed/bridged,和咱們無關,空著吧
# if IP_ADDRESS is blank in bridged mode then it uses DHCP to get IP
IP_ADDRESS=
NETMASK=255.255.255.0
GATEWAY=
上面配置好modem後,下面的工作就是配置pppd拔號程序了,一開始我們提到pppd必須有個插件才能正常工作,用find /usr/lib/ -name pppoatm.so 來進行查詢,記下它所在的目錄,我的這個是在"/usr/lib/pppd/2.4.2/pppoatm.so",當然若你和我一樣的Linux發行版本,那也應該是這樣子的。如果find顯示"No such a file or directory",恭喜中獎,到安裝光碟里找去吧!
好了,進入到相應的目錄:
#cd /etc/ppp
#vi options
打開options文件後,將下面的內容拷貝進去就OK,但切記要修改一下user欄位,哈哈,ez吧?
lock
noipdefault
defaultroute
sync
user "your user name here" # 在這里,將引號內的內容換成你的網通ADSL的賬號名稱,OK?
noauth
noaccomp
nopcomp
noccp
novj
persist
usepeerdns
logfile /var/log/pppd.log
plugin /usr/lib/pppd/2.4.2/pppoatm.so 0.33
好了,還是在這個目錄下,有pap-secret和chap-secret兩個文件,是用來保存上網帳戶和密碼的,打開後分別填入以下內容:
"用戶名" * "密碼" *
注意,填寫的時候是有引號的,中間的空白用TAB鍵間隔。保存退出。哈!大功基本告成,如果你是按照我上面說的各步驟認真搞定,通常就沒有什麼問題啦!呵呵,
下面,嘡!激動俺心的時刻到了,開始上網!下面的命令:
#/etc/cxacru.service start
呼呼~顯示什麼了啊?嘿嘿,等他忙完了,運行下面的命令:
#ifconfig
看看,是不是有一個ppp0的網路介面啊~看看,IP地址,218.???.......很熟悉吧?趕快打開個瀏覽器窗口上網吧!哈哈!!
對了,關閉網路,請運行:
#/etc/cxacru.service stop
OK,謝謝觀賞…
附錄:幹啥都要講究安全,上網更不例外。當你可以用linux上網的時候,記得打開內置防火牆,激活SELinux,習慣可視化的防火牆?到sourceforge下載個firstarter試試…想聊QQ?用LumaQQ最方便…瀏覽器?現在流行火狐狸"firefox"…
『肆』 電腦服務和埠問題,謝謝!
如果你裝了的金山網鏢,那就很簡單了,你打開網鏢後,切換到「網路狀態」標簽窗口,那裡面就列出了所有正在使用網路通信的進程,點擊想看的進程,就會自動展開詳細信息,其中就包括了該進程使用的埠信息,當然還有進程的本地文件等其它信息!我想這應該是你要的簡單方便的查詢方式吧!
『伍』 linux 系統配置文件
一般的配置文件都是放在/etc目錄下的 (你可以通過輸入:ll /etc命令來列出etc目錄下的具體內容專)
不同的服務對應屬不同的文件。如:
/etc/httpd.conf對應apache服務
/etc/named.conf對應DNS服務
/etc/dhcpd.coonf對應DHCP服務
/etc/samba/smb.conf對應文件共享
/etc/passwd 對應用戶名
/etc/shadow 對應用戶密碼
/etc/ypserv.conf 對應NIS服務
/etc/vsftpd/vsftpd.conf 對應FTP服務
/etc/hosts 對應主機名和IP地址關系
/etc/resolv.conf 對應DNS伺服器的設置
如果你要有所改動的話要根據你的實際需要修改一下相關的配置文件就可以了!不過有的文件的位置是不能修改的!
『陸』 Linux NAT 配置
Linux安全配置步驟簡述
一、磁碟分區
1、如果是新安裝系統,對磁碟分區應考慮安全性:
1)根目錄(/)、用戶目錄(/home)、臨時目錄(/tmp)和/var目錄應分開到不同的磁碟分區;
2)以上各目錄所在分區的磁碟空間大小應充分考慮,避免因某些原因造成分區空間用完而導致系統崩潰;
2、對於/tmp和/var目錄所在分區,大多數情況下不需要有suid屬性的程序,所以應為這些分區添加nosuid屬性;
方法一:修改/etc/fstab文件,添加nosuid屬性字。例如:
/dev/hda2 /tmp ext2 exec,dev,nosuid,rw 0 0
^^^^^^
方法二:如果對/etc/fstab文件操作不熟,建議通過linuxconf程序來修改。
* 運行linuxconf程序;
* 選擇"File systems"下的"Access local drive";
* 選擇需要修改屬性的磁碟分區;
* 選擇"No setuid programs allowed"選項;
* 根據需要選擇其它可選項;
* 正常退出。(一般會提示重新mount該分區)
二、安裝
1、對於非測試主機,不應安裝過多的軟體包。這樣可以降低因軟體包而導致出現安全漏洞的可能性。
2、對於非測試主機,在選擇主機啟動服務時不應選擇非必需的服務。例如routed、ypbind等。
三、安全配置與增強
內核升級。起碼要升級至2.2.16以上版本。
GNU libc共享庫升級。(警告:如果沒有經驗,不可輕易嘗試。可暫緩。)
關閉危險的網路服務。echo、chargen、shell、login、finger、NFS、RPC等
關閉非必需的網路服務。talk、ntalk、pop-2等
常見網路服務安全配置與升級
確保網路服務所使用版本為當前最新和最安全的版本。
取消匿名FTP訪問
去除非必需的suid程序
使用tcpwrapper
使用ipchains防火牆
日誌系統syslogd
一些細節:
1.操作系統內部的log file是檢測是否有網路入侵的重要線索,當然這個假定你的logfile不被侵入者所破壞,如果你有台伺服器用專線直接連到Internet上,這意味著你的IP地址是永久固定的地址,你會發現有很多人對你的系統做telnet/ftp登錄嘗試,試著運行#more /var/log/secure | grep refused 去檢查。
2. 限制具有SUID許可權標志的程序數量,具有該許可權標志的程序以root身份運行,是一個潛在的安全漏洞,當然,有些程序是必須要具有該標志的,象passwd程序。
3.BIOS安全。設置BIOS密碼且修改引導次序禁止從軟盤啟動系統。
4. 用戶口令。用戶口令是Linux安全的一個最基本的起點,很多人使用的用戶口令就是簡單的『password',這等於給侵入者敞開了大門,雖然從理論上說沒有不能確解的用戶口令,只要有足夠的時間和資源可以利用。比較好的用戶口令是那些只有他自己能夠容易記得並理解的一串字元,並且絕對不要在任何地方寫出來。
5./etc/exports 文件。如果你使用NFS網路文件系統服務,那麼確保你的/etc/exports具有最嚴格的存取許可權設置,不意味著不要使用任何通配符,不允許root寫許可權,mount成只讀文件系統。編輯文件/etc/exports並且加:例如:
/dir/to/export host1.mydomain.com(ro,root_squash)
/dir/to/export host2.mydomain.com(ro,root_squash)
/dir/to/export 是你想輸出的目錄,host.mydomain.com是登錄這個目錄的機器名,
ro意味著mount成只讀系統,root_squash禁止root寫入該目錄。
為了讓上面的改變生效,運行/usr/sbin/exportfs -a
6.確信/etc/inetd.conf的所有者是root,且文件許可權設置為600 。
[root@deep]# chmod 600 /etc/inetd.conf
ENSURE that the owner is root.
[root@deep]# stat /etc/inetd.conf
File: "/etc/inetd.conf"
Size: 2869 Filetype: Regular File
Mode: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Device: 8,6 Inode: 18219 Links: 1
Access: Wed Sep 22 16:24:16 1999(00000.00:10:44)
Modify: Mon Sep 20 10:22:44 1999(00002.06:12:16)
Change:Mon Sep 20 10:22:44 1999(00002.06:12:16)
編輯/etc/inetd.conf禁止以下服務:
ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger,
auth, etc. 除非你真的想用它。
特別是禁止那些r命令.如果你用ssh/scp,那麼你也可以禁止掉telnet/ftp。
為了使改變生效,運行#killall -HUP inetd
你也可以運行#chattr +i /etc/inetd.conf使該文件具有不可更改屬性。
只有root才能解開,用命令
#chattr -i /etc/inetd.conf
7. TCP_WRAPPERS
默認地,Redhat Linux允許所有的請求,用TCP_WRAPPERS增強你的站點的安全性是舉手
之勞,你可以放入
「ALL: ALL」到/etc/hosts.deny中禁止所有的請求,然後放那些明確允許的請求到
/etc/hosts.allow中,如:
sshd: 192.168.1.10/255.255.255.0 gate.openarch.com
對IP地址192.168.1.10和主機名gate.openarch.com,允許通過ssh連接。
配置完了之後,用tcpdchk檢查
[root@deep]# tcpdchk
tcpchk是TCP_Wrapper配置檢查工具,
它檢查你的tcp wrapper配置並報告所有發現的潛在/存在的問題。
8. 別名文件aliases
編輯別名文件/etc/aliases(也可能是/etc/mail/aliases),移走/注釋掉下面的行。
# Basic system aliases -- these MUST be present.
MAILER-DAEMON: postmaster
postmaster: root
# General redirections for pseudo accounts.
bin: root
daemon: root
#games: root ?remove or comment out.
#ingres: root ?remove or comment out.
nobody: root
#system: root ?remove or comment out.
#toor: root ?remove or comment out.
#uucp: root ?remove or comment out.
# Well-known aliases.
#manager: root ?remove or comment out.
#mper: root ?remove or comment out.
#operator: root ?remove or comment out.
# trap decode to catch security attacks
#decode: root
# Person who should get root's mail
#root: marc
最後更新後不要忘記運行/usr/bin/newaliases,使改變生效。
9.阻止你的系統響應任何從外部/內部來的ping請求。
既然沒有人能ping通你的機器並收到響應,你可以大大增強你的站點的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次啟動後自動運行。
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
10. 不要顯示出操作系統和版本信息。
如果你希望某個人遠程登錄到你的伺服器時不要顯示操作系統和版本信息,你能改變
/etc/inetd.conf中的一行象下面這樣:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
加-h標志在最後使得telnet後台不要顯示系統信息,而僅僅顯示login:
11.The /etc/host.conf file
編輯host.conf文件(vi /etc/host.conf)且加下面的行:
# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
# We don't have machines with multiple IP addresses on the same card
(like virtual server,IP Aliasing).
multi off
# Check for IP address spoofing.
nospoof on
IP Spoofing: IP-Spoofing is a security exploit that works by tricking
computers in a trust relationship that you are someone that you really aren't.
12. The /etc/securetty file
該文件指定了允許root登錄的tty設備,/etc/securetty被/bin/login程序讀取,它的
格式是一行一個被允許的名字列表,如你可以編輯/etc/securetty且注釋出下面的行。
tty1
#tty2
#tty3
#tty4
#tty5
#tty6
#tty7
#tty8
-意味著root僅僅被允許在tty1終端登錄。
13. 特別的帳號
禁止所有默認的被操作系統本身啟動的且不需要的帳號,當你第一次裝上系統時就應該做此檢查,Linux提供了各種帳號,你可能不需要,如果你不需要這個帳號,就移走它,你有的帳號越多,就越容易受到攻擊。
為刪除你系統上的用戶,用下面的命令:
[root@deep]# userdel username
為刪除你系統上的組用戶帳號,用下面的命令:
[root@deep]# groupdel username
在終端上打入下面的命令刪掉下面的用戶。
[root@deep]# userdel adm
[root@deep]# userdel lp
[root@deep]# userdel sync
[root@deep]# userdel shutdown
[root@deep]# userdel halt
[root@deep]# userdel mail
如果你不用sendmail伺服器,procmail.mailx,就刪除這個帳號。
[root@deep]# userdel news
[root@deep]# userdel uucp
[root@deep]# userdel operator
[root@deep]# userdel games
如果你不用X windows 伺服器,就刪掉這個帳號。
[root@deep]# userdel gopher
[root@deep]# userdel ftp
如果你不允許匿名FTP,就刪掉這個用戶帳號。
===
打入下面的命令刪除組帳號
[root@deep]# groupdel adm
[root@deep]# groupdel lp
[root@deep]# groupdel mail
如不用Sendmail伺服器,刪除這個組帳號
[root@deep]# groupdel news
[root@deep]# groupdel uucp
[root@deep]# groupdel games
如你不用X Windows,刪除這個組帳號
[root@deep]# groupdel dip
[root@deep]# groupdel pppusers
[root@deep]# groupdel popusers
如果你不用POP伺服器,刪除這個組帳號
[root@deep]# groupdel slipusers
====
用下面的命令加需要的用戶帳號
[root@deep]# useradd username
用下面的命令改變用戶口令
[root@deep]# passwd username
用chattr命令給下面的文件加上不可更改屬性。
[root@deep]# chattr +i /etc/passwd
[root@deep]# chattr +i /etc/shadow
[root@deep]# chattr +i /etc/group
[root@deep]# chattr +i /etc/gshadow
14. 阻止任何人su作為root.
如果你不想任何人能夠su作為root,你能編輯/etc/pam.d/su加下面的行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=isd
意味著僅僅isd組的用戶可以su作為root.
然後,如果你希望用戶admin能su作為root.就運行下面的命令。
[root@deep]# usermod -G10 admin
16. 資源限制
對你的系統上所有的用戶設置資源限制可以防止DoS類型攻擊(denial of service attacks)
如最大進程數,內存數量等。例如,對所有用戶的限制象下面這樣:
編輯/etc/security/limits.con加:
* hard core 0
* hard rss 5000
* hard nproc 20
你也必須編輯/etc/pam.d/login文件加/檢查這一行的存在。
session required /lib/security/pam_limits.so
上面的命令禁止core files「core 0」,限制進程數為「nproc 50「,且限制內存使用
為5M「rss 5000」。
17. The /etc/lilo.conf file
a) Add: restricted
加這一行到每一個引導映像下面,就這表明如果你引導時用(linux single),則需要一個password.
b) Add: password=some_password
當與restricted聯合用,且正常引導時,需要用戶輸入密碼,你也要確保lilo.conf
文件不能被不屬於root的用戶可讀,也免看到密碼明文。下面是例子:
編輯/etc/lilo.conf加:
====
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
Default=linux
restricted ?add this line.
password=some_password ?add this line.
image=/boot/vmlinuz-2.2.12-20
label=linux
initrd=/boot/initrd-2.2.12-10.img
root=/dev/sda6
read-only
[root@deep]# chmod 600 /etc/lilo.conf (不再能被其他用戶可讀).
[root@deep]# /sbin/lilo -v (更新lilo配置).
[root@deep]# chattr +i /etc/lilo.conf(阻止該文件被修改)
18. 禁止 Control-Alt-Delete 重啟動機器命令
[root@deep]# vi /etc/inittab
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
To
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
[root@deep]# /sbin/init q
19. 重新設置/etc/rc.d/init.d/目錄下所有文件的許可許可權
[root@deep]# chmod -R 700 /etc/rc.d/init.d/*
僅僅root可以讀,寫,執行上述所有script file.
20. The /etc/rc.d/rc.local file
默認地,當你login到linux server時,它告訴你linux版本名,內核版本名和伺服器
主機名。它給了你太多的信息,如果你就希望得到提示login: ,編輯
/etc/rc.d/rc.local放#在下面的行前面:
--
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
#echo "" > /etc/issue
#echo "$R" >> /etc/issue
#echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue
#
#cp -f /etc/issue /etc/issue.net
#echo >> /etc/issue
--
然後,做下面的事情:
[root@deep]# rm -f /etc/issue
[root@deep]# rm -f /etc/issue.net
[root@deep]# touch /etc/issue
[root@deep]# touch /etc/issue.net
21. 被root擁有的程序的位。
移走那些被root擁有程序的s位標志,當然有些程序需要這個,用命令『chmod a-s』完成這個。
註:前面帶(*)號的那些程序一般不需要擁有s位標志。
[root@deep]# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls –lg {} \;
-rwsr-xr-x 1 root root 33120 Mar 21 1999 /usr/bin/at
*-rwsr-xr-x 1 root root 30560 Apr 15 20:03 /usr/bin/chage
*-rwsr-xr-x 1 root root 29492 Apr 15 20:03 /usr/bin/gpasswd
-rwsr-xr-x 1 root root 3208 Mar 22 1999 /usr/bin/disable-paste
-rwxr-sr-x 1 root man 32320 Apr 9 1999 /usr/bin/man
-r-s--x--x 1 root root 10704 Apr 14 17:21 /usr/bin/passwd
-rws--x--x 2 root root 517916 Apr 6 1999 /usr/bin/suidperl
-rws--x--x 2 root root 517916 Apr 6 1999 /usr/bin/sperl5.00503
-rwxr-sr-x 1 root mail 11432 Apr 6 1999 /usr/bin/lockfile
-rwsr-sr-x 1 root mail 64468 Apr 6 1999 /usr/bin/procmail
-rwsr-xr-x 1 root root 21848 Aug 27 11:06 /usr/bin/crontab
-rwxr-sr-x 1 root slocate 15032 Apr 19 14:55 /usr/bin/slocate
*-r-xr-sr-x 1 root tty 6212 Apr 17 11:29 /usr/bin/wall
*-rws--x--x 1 root root 14088 Apr 17 12:57 /usr/bin/chfn
*-rws--x--x 1 root root 13800 Apr 17 12:57 /usr/bin/chsh
*-rws--x--x 1 root root 5576 Apr 17 12:57 /usr/bin/newgrp
*-rwxr-sr-x 1 root tty 8392 Apr 17 12:57 /usr/bin/write
-rwsr-x--- 1 root squid 14076 Oct 7 14:48 /usr/lib/squid/pinger
-rwxr-sr-x 1 root utmp 15587 Jun 9 09:30 /usr/sbin/utempter
*-rwsr-xr-x 1 root root 5736 Apr 19 15:39 /usr/sbin/usernetctl
*-rwsr-xr-x 1 root bin 16488 Jul 6 09:35 /usr/sbin/traceroute
-rwsr-sr-x 1 root root 299364 Apr 19 16:38 /usr/sbin/sendmail
-rwsr-xr-x 1 root root 34131 Apr 16 18:49 /usr/libexec/pt_chown
-rwsr-xr-x 1 root root 13208 Apr 13 14:58 /bin/su
*-rwsr-xr-x 1 root root 52788 Apr 17 15:16 /bin/mount
*-rwsr-xr-x 1 root root 26508 Apr 17 20:26 /bin/umount
*-rwsr-xr-x 1 root root 17652 Jul 6 09:33 /bin/ping
-rwsr-xr-x 1 root root 20164 Apr 17 12:57 /bin/login
*-rwxr-sr-x 1 root root 3860 Apr 19 15:39 /sbin/netreport
-r-sr-xr-x 1 root root 46472 Apr 17 16:26 /sbin/pwdb_chkpwd
[root@deep]# chmod a-s /usr/bin/chage
[root@deep]# chmod a-s /usr/bin/gpasswd
[root@deep]# chmod a-s /usr/bin/wall
[root@deep]# chmod a-s /usr/bin/chfn
[root@deep]# chmod a-s /usr/bin/chsh
[root@deep]# chmod a-s /usr/bin/newgrp
[root@deep]# chmod a-s /usr/bin/write
[root@deep]# chmod a-s /usr/sbin/usernetctl
[root@deep]# chmod a-s /usr/sbin/traceroute
[root@deep]# chmod a-s /bin/mount
[root@deep]# chmod a-s /bin/umount
[root@deep]# chmod a-s /bin/ping
[root@deep]# chmod a-s /sbin/netreport
你可以用下面的命令查找所有帶s位標志的程序:
[root@deep]# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -lg {} \;
> suid-sgid-results
把結果輸出到文件suid-sgid-results中。
為了查找所有可寫的文件和目錄,用下面的命令:
[root@deep]# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \; > ww-files-results
[root@deep]# find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \; > ww-directories-results
用下面的命令查找沒有擁有者的文件:
[root@deep]# find / -nouser -o -nogroup > unowed-results
用下面的命令查找所有的.rhosts文件:
[root@deep]# find /home -name .rhosts > rhost-results
建議替換的常見網路服務應用程序
WuFTPD
WuFTD從1994年就開始就不斷地出現安全漏洞,黑客很容易就可以獲得遠程root訪問(Remote Root Access)的許可權,而且很多安全漏洞甚至不需要在FTP伺服器上有一個有效的帳號。最近,WuFTP也是頻頻出現安全漏洞。
它的最好的替代程序是ProFTPD。ProFTPD很容易配置,在多數情況下速度也比較快,而且它的源代碼也比較干凈(緩沖溢出的錯誤比較少)。有許多重要的站點使用ProFTPD。sourceforge.net就是一個很好的例子(這個站點共有3,000個開放源代碼的項目,其負荷並不小啊!)。一些Linux的發行商在它們的主FTP站點上使用的也是ProFTPD,只有兩個主要Linux的發行商(SuSE和Caldera)使用WuFTPD。
ProFTPD的另一個優點就是既可以從inetd運行又可以作為單獨的daemon運行。這樣就可以很容易解決inetd帶來的一些問題,如:拒絕服務的攻擊(denial of service attack),等等。系統越簡單,就越容易保證系統的安全。WuFTPD要麼重新審核一遍全部的源代碼(非常困難),要麼完全重寫一遍代碼,否則WuFTPD必然要被ProFTPD代替。
Telnet
Telnet是非常非常不安全的,它用明文來傳送密碼。它的安全的替代程序是OpenSSH。
OpenSSH在Linux上已經非常成熟和穩定了,而且在Windows平台上也有很多免費的客戶端軟體。Linux的發行商應該採用OpenBSD的策略:安裝OpenSSH並把它設置為默認的,安裝Telnet但是不把它設置成默認的。對於不在美國的Linux發行商,很容易就可以在Linux的發行版中加上OpenSSH。美國的Linux發行商就要想一些別的辦法了(例如:Red Hat在德國的FTP伺服器上(ftp.redhat.de)就有最新的OpenSSH的rpm軟體包)。
Telnet是無可救葯的程序。要保證系統的安全必須用OpenSSH這樣的軟體來替代它。
Sendmail
最近這些年,Sendmail的安全性已經提高很多了(以前它通常是黑客重點攻擊的程序)。然而,Sendmail還是有一個很嚴重的問題。一旦出現了安全漏洞(例如:最近出現的Linux內核錯誤),Sendmail就是被黑客重點攻擊的程序,因為Sendmail是以root許可權運行而且代碼很龐大容易出問題。
幾乎所有的Linux發行商都把Sendmail作為默認的配置,只有少數幾個把Postfix或Qmail作為可選的軟體包。但是,很少有Linux的發行商在自己的郵件伺服器上使用Sendmail。SuSE和Red Hat都使用基於Qmail的系統。
Sendmail並不一定會被別的程序完全替代。但是它的兩個替代程序Qmail和Postfix都比它安全、速度快,而且特別是Postfix比它容易配置和維護。
su
su是用來改變當前用戶的ID,轉換成別的用戶。你可以以普通用戶登錄,當需要以root身份做一些事的時候,只要執行「su」命令,然後輸入root的密碼。su本身是沒有問題的,但是它會讓人養成不好的習慣。如果一個系統有多個管理員,必須都給他們root的口令。
su的一個替代程序是sudo。Red Hat 6.2中包含這個軟體。sudo允許你設置哪個用戶哪個組可以以root身份執行哪些程序。你還可以根據用戶登錄的位置對他們加以限制(如果有人「破」了一個用戶的口令,並用這個帳號從遠程計算機登錄,你可以限制他使用sudo)。Debian也有一個類似的程序叫super,與sudo比較各有優缺點。
讓用戶養成良好的習慣。使用root帳號並讓多個人知道root的密碼並不是一個好的習慣。這就是www.apache.org被入侵的原因,因為它有多個系統管理員他們都有root的特權。一個亂成一團的系統是很容易被入侵的。
named
大部分Linux的發行商都解決了這個問題。named以前是以root運行的,因此當named出現新的漏洞的時候,很容易就可以入侵一些很重要的計算機並獲得root許可權。現在只要用命令行的一些參數就能讓named以非root的用戶運行。而且,現在絕大多數Linux的發行商都讓named以普通用戶的許可權運行。命令格式通常為:named -u <user name> -g <group name>
INN
在INN的文檔中已經明確地指出:「禁止這項功能(verifycancels),這項功能是沒有用的而且將被除掉」。大約在一個月前,一個黑客發布了當「verifycancels」生效的時候入侵INN的方法。Red Hat是把「verifycancels」設為有效的。任何setuid/setgid的程序或網路服務程序都要正確地安裝並且進行檢查以保證盡量沒有安全漏洞。
安全守則
1. 廢除系統所有默認的帳號和密碼。
2. 在用戶合法性得到驗證前不要顯示公司題頭、在線幫助以及其它信息。
3. 廢除「黑客」可以攻擊系統的網路服務。
4. 使用6到8位的字母數字式密碼。
5. 限制用戶嘗試登錄到系統的次數。
6. 記錄違反安全性的情況並對安全記錄進行復查。
7. 對於重要信息,上網傳輸前要先進行加密。
8. 重視專家提出的建議,安裝他們推薦的系統「補丁」。
9. 限制不需密碼即可訪問的主機文件。
10.修改網路配置文件,以便將來自外部的TCP連接限制到最少數量的埠。不允許諸如tftp,sunrpc,printer,rlogin或rexec之類的協議。
11.用upas代替sendmail。sendmail有太多已知漏洞,很難修補完全。
12.去掉對操作並非至關重要又極少使用的程序。
13.使用chmod將所有系統目錄變更為711模式。這樣,攻擊者們將無法看到它們當中有什麼東西,而用戶仍可執行。
14.只要可能,就將磁碟安裝為只讀模式。其實,僅有少數目錄需讀寫狀態。
15.將系統軟體升級為最新版本。老版本可能已被研究並被成功攻擊,最新版本一般包括了這些問題的補救。
『柒』 哪個版本的Linux占硬碟空間最小
這要看你裝那些服務了哦,在安裝Linux的最後會又一個提示,看你需要哪些服務,安裝的服務越少系統資源佔用的就越少,用RedHat Linux9.0如果只裝幾個必要服務,只要10幾分鍾就可以裝完,所以建議你用9.0的試試。
『捌』 如何在win200中配置www伺服器
天互數據 杜超為您解答
在建設傳統的Intranet網路環境的時候,我們一般是基於Windows NT Server系統的,在它的基礎上實現一系列的服務。 現在的Linux系統中也包含了很多基於網路建設的軟體服務,基本上我們是完全可以利用Linux系統建立與Windows NT Server所具有的基本Intranet框架相同的框架。並且還可以在這個基礎上發展具有Linux系統自身特點的Intranet環境,在某種程度上其性能還優於Windows NT Server系統。
我們先假設一個基於Linux系統區域網的網路構架。首先,建議使用轉換器把Internet介面轉換為雙絞線,直接連接到一台雙網卡Server上。該Server的另外一塊網卡和其他的Server及Client連接到一個Hub上面,成為一個區域網。雙網卡的伺服器作為防火牆和網關,控制內部網和Internet連接的安全。我們在其上面還可以運行其他的服務,例如文件伺服器、代理伺服器、郵件伺服器和Web伺服器等。另外一台伺服器可以作為資料庫伺服器,在其上主要運行資料庫服務。
雙網卡中對外的網卡必須有正式的IP,另外一塊網卡和其他計算機的網卡可以使用私有IP,范圍從「192.168.1~192.168.254」自由分配,其他計算機的網關地址都指向防火牆網關伺服器的內部IP。防火牆網關伺服器的網路配置要根據申請的IP地址來具體設置。
一般地,我們要求的Intranet環境應該是提供最基礎的WWW服務、FTP服務、DNS服務、網上鄰居等服務項,下面我們就一一簡單地介紹一下。
1.WWW服務
首先我們要實現WWW服務,我們以在RedHat系統的完全安裝中為例,這里系統已經為大家安裝好了目前在Internet上使用得最多的HTTP伺服器Apache, 你只需要使用「setup」命令選擇該服務,或者直接運行「httpd」即可。它的安裝根目錄是在/home/httpd/目錄下的,只要使用瀏覽器按照「IP地址」訪問你的Web server,就能夠看到Apache的說明文檔。如果你要發行自己的主頁,只需要將這些文檔放在/home/httpd/Html/下即可,或者是將httpd.conf中的文檔根目錄修改為你的Windows系統下的目錄,這樣既可以享受Linux的效率,也可享受Windows的頁面製作工具的便利。但是我們要注意在Linux環境中要區分大小寫,所以頁面中的文件名最好統一使用大小寫。在Windows環境中的頁面文件一般是.htm後綴,而預設的Linux系統的瀏覽器Netscap或lyxn解釋的頁面文件是以.html為後綴的,你只需要在/etc/mime.types中增加如下一行即可:text/html html htm。同樣,你也可以按照注釋修改以下配置文件:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/Access.conf
/etc/httpd/conf/srm.conf 以建立更加強大而靈活的WEB伺服器。
2.FTP服務
接著讓我們看看FTP服務的實現,我們依然是在RedHat系統的完全安裝中,RedHat系統已經為你安裝好了目前Internet流行的WU-FTP-2.4.2 Server。它的匿名訪問目錄在/home/ftpd/中,如果是在FTP客戶端使用普通帳戶登錄,那麼我們將直接進入該賬戶的主目錄。它的配置文件主要是:
/ect/ftpaccess。
域名服務(DNS服務)的功能是把我們取的名字映射為具體的IP地址。目前Internet流行的域名伺服器BIND,它的執行進程是「named」,其配置文件有:
/ect/named.conf
/etc/resolv.conf
/var/named/named.ca
/var/named/named.local
/var/named/named.hosts(自建)
/var/named/named.rev
其中的自建文件需要符合「named」配置文件的格式,我們從已有的文件中cp即可,尤其注意BIND 4的配置文件格式和BIND 8p是完全不同的,如果使用的版本不同的話,請查閱其具體的配置文件。
3.RAS服務
RAS服務(PPP)也是傳統的服務之一,配置PPP在Linux系統中是比較復雜的一項工作。它的主要配置文件有:
/etc/mgetty+sendfax/mgetty.config
/etc/mgetty+sendfax/loging.config
/etc/inittab
/etc/ppp/options
/etc/ppp/ppplogin
/etc/ppp/options.ttyS2
/etc/ppp/pap-secrets
/etc/hosts
提醒大家的是如果使用Win95的撥號適配器的話,它的網關為撥號伺服器的IP,DNS為內部網的DNS Server的IP,設置遠程自動配置IP,新手可以先不啟動該服務。
4.DHCP功能
DHCP的功能是動態分配IP地址。注意在啟動dhcpd之前,增加一項預設路由:/sbin/route add -host 255.255.255.255 dev eth0詳細的格式可以使用「main dhcpd」得到。它的執行進程是「dhcpd」,它的配置文件有:
/etc/dhcpd.conf /etc/dhcpd.leases(空文件)
/etc/dhcpd.leases~(空文件夾)
5.網上鄰居
網上鄰居(smbd nmbd)也是我們很關心的功能,微軟的網上鄰居是局域內直接而簡便的資源共享方法,但它採用的是Netbeui協議。而Linux系統採用的主要是TCP/IP協議,它提供的Samba可以方便地完成網上鄰居的功能,讓你的用戶通過網上鄰居看到你的伺服器和共享的資源。其主要配置文件有:
/etc/smb.conf
/etc/smbusers
代理服務和防火牆(routed lpmasquerdde ipfwadm)的設置對於一些用戶也是必要的。在Windows NT中也有「routed」命令,但要實現共享IP地址卻要使用專門的代理軟體,如proxy Server、 Wingate、Winproxy等。在這方面,Linux利用核心支持的「ipmasquerad」功能,配合「routet」和「ipfwadm」則可以輕松地實現這一功能,並且在使用瀏覽器時還不需要指定代理伺服器,同時利用「ipfwadm」確定接收和發送數據包的規則,並且還可以提供基於包過濾的防火牆設施。它的主要配置命令有:
/sbin/ipfwadm -F -P deny
/sbin/ipfwadm -F -a m -s 192.168.0.0/16 -D 0.0.0.0/0
/sbin/route add -net 192.168.0.0 netmask 255.255.255.0 gw 130.0.40.1
6.SQL資料庫系統
SQL資料庫系統(postgresql)在目前的Intranet環境中是越來越重要了,但在Windows NT平台上運行的商品化的SQL資料庫價格不菲。Linux系統集成的SQL資料庫主要有Postgre和SQLmysql,它們均達到了SQL92的標准,並且提供在 Windows系統的客戶端的ODBC驅動程序,是非常理想的後端資料庫系統。PostgreSQL是普遍使用的免費SQL資料庫系統之一,而且是一些商用SQL資料庫的原形。盡管它可能沒有現在的某些商品化SQL功能強大,並且能夠處理中文,作為一般的Intranet Web資料庫系統,使用它已經是綽綽有餘了。它還為編制CGI程序提供了方便的介面。要訪問postgreSQL可使用命令「psql」,預設的管理員賬號「postgres」是在安裝後禁用的,需要給予登錄許可權。為了讓Web客戶能夠訪問資料庫,我們需要給「nobody」用戶授權。
微軟的ASP技術作為IIS的模塊,可以簡化CGI程序的編制,提高Web伺服器的效率,提供靈活的資料庫連接方法。Linux系統中的Apache也有相應的PHP模塊,由於Linux系統中包含有使用最廣泛的CGI編程語言PERL 5,所以我們可以輕松而高效地設計CGI程序。
『玖』 linux網路設置
一.安裝和配置網路設備
在安裝linux時,如果你有網卡,安裝程序將會提示你給出tcp/ip網路的配置參數,如本機的 ip地址,預設網關的ip地址,DNS的ip地址等等.根據這些配置參數,安裝程序將會自動把網卡(linux系統首先要支持)驅動程序編譯到內核中去. 但是我們一定要了解載入網卡驅動程序的過程,那麼在以後改變網卡,使用多個網卡的時候我們就會很容易的操作.網卡的驅動程序是作為模塊載入到內核中去的, 所有linux支持的網卡驅動程序都是存放在目錄/lib/moles/(linux版本號)/net/ ,例如inter的82559系列10/100M自適應的引導網卡的驅動程序是eepro100.o,3COM的3C509 ISA網卡的驅動程序是3C509.o,DLINK的pci 10網卡的驅動程序是via-rhine.o,NE2000兼容性網卡的驅動程序是ne2k-pci.o和ne.o.在了解了這些基本的驅動程序之後,我們就可以通過修改模塊配置文件來更換網卡或者增加網卡.
1. 修改/etc/conf.moles 文件
這個配置文件是載入模塊的重要參數文件,大家先看一個範例文件
#/etc/conf.moles
alias eth0 eepro100
alias eth1 eepro100
這個文件是一個裝有兩塊inter 82559系列網卡的linux系統中的conf.moles中的內容.alias命令表明以太口(如eth0)所具有的驅動程序的名稱,alias eth0 eepro100說明在零號乙太網口所要載入的驅動程序是eepro100.o.那麼在使用命令 modprobe eth0的時候,系統將自動將eepro100.o載入到內核中.對於pci的網卡來說,由於系統會自動找到網卡的io地址和中斷號,所以沒有必要在 conf.moles中使用選項options來指定網卡的io地址和中斷號.但是對應於ISA網卡,則必須要在conf.moles中指定硬體的io地址或中斷號, 如下所示,表明了一塊NE的ISA網卡的conf.moles文件.
alias eth0 ne
options ne io=0x300 irq=5
在修改完conf.moles文件之後,就可以使用命令來載入模塊,例如要插入inter的第二塊網卡:
#insmod /lib/moles/2.2.14/net/eepro100.o
這樣就可以在以太口載入模塊eepro100.o.同時,還可以使用命令來查看當前載入的模塊信息:
[root@ice /etc]# lsmod
Mole Size Used by
eepro100 15652 2 (autoclean)
返回結果的含義是當前載入的模塊是eepro100,大小是15652個位元組,使用者兩個,方式是自動清除.
2. 修改/etc/lilo.conf文件
在一些比較新的linux版本中,由於操作系統自動檢測所有相關的硬體,所以此時不必修改/etc/lilo.conf文件.但是對於ISA網卡和老的版本,為了在系統初始化中對新加的網卡進行初始化,可以修改lilo.conf文件.在/etc/lilo.conf文件中增加如下命令:
append="ether=5,0x240,eth0 ether=7,0x300,eth1"
這條命令的含義是eth0的io地址是0x240,中斷是5,eth1的io地址是0x300,中斷是7.
實際上,這條語句來自在系統引導影像文件時傳遞的參數,
LILO: linux ether=5,0x240,eth0 ether=7,0x300,eth1
這種方法也同樣能夠使linux系統配置好兩個網卡.類似的,在使用三個以上網卡的時候,也可以依照同樣的方法.
在配置好網卡之後,就應該配置TCP/IP的參數,在一般情況下,在安裝linux系統的同時就會提示配置網路參數.但是之後如果我們想要修改網路設置,可以使用如下的命令:
#ifconfig eth0 A.B.C.D netmask E.F.G.H
A.B.C.D 是eth0的IP地址,E.F.G.H是網路掩碼.
其實,在linux系統中我們可以給一塊網卡設置多個ip地址,例如下面的命令:
#ifconfig eth0:1 202.112.11.218 netmask 255.255.255.192
然後,使用命令#ifconfig -a 就可以看到所有的網路介面的界面:
eth0 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A
inet addr:202.112.13.204 Bcast:202.112.13.255 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:435510 errors:0 dropped:0 overruns:0 frame:2
TX packets:538988 errors:0 dropped:0 overruns:0 carrier:0
collisions:318683 txqueuelen:100
Interrupt:10 Base address:0xc000
eth0:1 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A
inet addr:202.112.11.218 Bcast:202.112.11.255 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:10 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:2055 errors:0 dropped:0 overruns:0 frame:0
TX packets:2055 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
看到網路介面有三個,eth0 , eth0:1,lo,eth0是真實的乙太網絡介面,eth0:1和eth0是同一塊網卡,只不過綁定了另外的一個地址,lo是會送地址。
eth0和 eth0:
1可以使用不同網段的ip地址,這在同一個物理網段卻使用不同的網路地址的時候十分有用。
另外,網卡有一種模式是混雜模式(prosimc),在這個模式下,網卡將會接收網路中所有的數據包,一些linux下的網路監聽工具例如tcpmp,snort等等都是把網卡設置為混雜模式.
ifconfig命令可以在本次運行的時間內改變網卡的ip地址,但是如果系統重新啟動,linux仍然按照原來的默認的設置啟動網路介面。
這時候,可以使用netconfig或netconf命令來重新設置默認網路參數。netconfig 命令是重新配置基本的tcp/ip參數,參數包括是否配置為動態獲得ip地址(dhcpd和bootp),網卡的ip地址,網路掩碼,預設網關和首選的域名伺服器地址。
netconf命令可以詳細的配置所有網路的參數,分為客戶端任務,伺服器端任務和其他的配置三個部分,在客戶端的配置中,主要包括基本主機的配置(主機名,有效域名,網路別名,對應相應網卡的ip地址,網路掩碼,網路設備名,網路設備的內核驅動程序),
DNS地址配置,預設網關的地址配置,NIS地址配置,ipx介面配置,ppp/slip的配置等等。在伺服器端配置中,主要包括NFS的配置,DNS的配置, ApacheWebServer配置,Samba的配置和Wu-ftpd的配置
。在其他的配置選項中,一個是關於/etc/hosts文件中的主機配置,一個是關於/etc/networks文件中的網路配置信息,最後是關於使用linuxconf配置的信息。
在linuxconf命令下,同樣也可以配置網路信息,但是大家可以發現,linuxconf程序是調用netconf來進行網路配置的。
另外,在/etc/sysconfig/network-scripts目錄下存放著系統關於網路的配置文件,
範例如下:
:
<br><br>
ifcfg-eth0* ifdown-post* ifup-aliases* ifup-ppp*
ifcfg-eth1* ifdown-ppp* ifup-ipx* ifup-routes*
ifcfg-lo* ifdown-sl* ifup-plip* ifup-sl*
ifdown@ ifup@ ifup-post* network-functions
ifcfg-eth0是以太口eth0的配置信息,
它的內容如下:
DEVICE="eth0" /*指明網路設備名稱*/
IPADDR="202.112.13.204" /*指明網路設備的ip地址*/
NETMASK="255.255.255.192" /*指明網路掩碼*/
NETWORK=202.112.13.192 /*指明網路地址*/
BROADCAST=202.112.13.255 /*指明廣播地址*/
ONBOOT="yes" /*指明在系統啟動時是否激活網卡*/
BOOTPROTO="none" /*指明是否使用bootp協議*/
所以,也可以修改這個文件來進行linux下網路參數的改變。[/SIZE]
二 網路服務的配置
在這一部分,我們並不是詳細的介紹具體的網路伺服器(DNS,FTP,WWW,SENDMAIL)的配置(那將是巨大的篇幅),而是介紹一下與linux網路服務的配置相關的文件.
1. LILO的配置文件
在linux系統中,有一個系統引導程序,那就是lilo(linux loadin),利用lilo可以實現多操作系統的選擇啟動.它的配置文件是/etc/lilo.conf.在這個配置文件中,lilo的配置參數主要分為兩個部分,一個是全局配置參數,包括設置啟動設備等等.另一個是局部配置參數,包括每個引導影像文件的配置參數.
在這里就不詳細介紹每個參數,特別的僅僅說明兩個重要的參數:password和restricted選項,password選項為每個引導的影像文件加入口令保護. 都知道,在linux系統中有一個運行模式是單用戶模式,在這個模式下,用戶是以超級用戶的身份登錄到linux系統中.人們可以通過在lilo引導的時候加入參數(linux single 或linux init 0)就可以不需要口令直接進入單用戶模式的超級用戶環境中,這將是十分危險的.所以在lilo.conf中增加了password的配置選項來為每個影像文件增加口令保護. 可以在全局模式中使用password選項(對所有影像文件都加入相同的口令),或者為每個單獨的影像文件加入口令.
這樣一來,在每次系統啟動時,都會要求用戶輸入口令.也許覺得每次都要輸入口令很麻煩,可以使用restricted選項,它可以使lilo僅僅在linux啟動時輸入了參數(例如 linux single)的時候才會檢驗密碼.這兩個選項可以極大的增加系統的安全性,建議在lilo.conf文件中設置它們.
由於password在/etc/lilo.conf文件是以明文存放的,所以必須要將/etc/lilo.conf文件的屬性改為僅僅root可讀(0400).
另外,在lilo的早期版本中,存在著引導扇區必須存放到前1024柱面的限制,在lilo的2.51版本中已經突破了這個限制,同時引導界面也變成了圖形界面更加直觀.將最新版本下載解壓後,使用命令make" 後,使用命令make install即可完成安裝.
注意: 物理安全才是最基本的安全,即使在lilo.conf中增加了口令保護,如果沒有物理安全,惡意闖入者可以使用啟動軟盤啟動linux系統.
2. 域名服務的配置文件
(1)/etc/HOSTNAME 在這個文件中保存著linux系統的主機名和域名.範例文件
ice.xanet.e.cn
這個文件表明了主機名ice,域名是xanet.e.cn
(2)/etc/hosts和/etc/networks文件在域名服務系統中,有著主機表機制,/etc/hosts和/etc/networks就是主機表發展而來在/etc/hosts中存放著你不需要DNS 系統查詢而得的主機ip地址和主機名的對應,下面是一個範例文件:
# ip 地址 主機名 別名
127.0.0.1 localhosts loopback
202.117.1.13 www.xjtu.e.cn www
202.117.1.24 ftp.xjtu.e.cn ftp
在/etc/networks 中,存放著網路ip地址和網路名稱的一一對應.它的文件格式和/etc/hosts是類似的
(3)/etc/resolv.conf 這個文件是DNS域名解析器的主要配置文件,它的格式十分簡單,每一行由一個主關鍵字組成./etc/resolv.conf的關鍵字主要有:
domain 指明預設的本地域名,
search 指明了一系列查找主機名的時候搜索的域名列表,
nameserver 指明了在進行域名解析時域名伺服器的ip地址.
下面給出一個範例文件:
#/etc/resolv.conf
domain xjtu.e.cn
search xjtu.e.cn e.cn
nameserver 202.117.0.20
nameserver 202.117.1.9
(4)/etc/host.conf 在系統中同時存在著DNS域名解析和/etc/hosts的主機表機制時,由文件/etc/host.conf來說明了解析器的查詢順序.
範例文件如下
#/etc/host.conf
order
hosts,bind #
解析器查詢順序是文件/etc/hosts,然後是DNS
multi on #允許主機擁有多個ip地址
nospoof on #禁止ip地址欺騙
3. DHCP的配置文件
/etc/dhcpd.conf是DHCPD的配置文件,我們可以通過在/etc/dhcpd.conf文件中的配置來實現在區域網中動態分配ip地址,一台linux主機設置為dhcpd伺服器,通過鑒別網卡的MAC地址來動態的分配ip地址.
範例文件如下:
option domain-name "chinapub.com";
use-host-decl-names off;
subnet 210.27.48.0 netmask 255.255.255.192
{
filename "/tmp/image";
host dial_server
{
hardware ethernet 00:02:b3:11:f2:30;
fixed-address 210.27.48.8;
filename "/tmp/image";
}
}
在這個文件中,最主要的是通過設置的硬體地址來鑒別區域網中的主機,並分配給它指定的ip地址,hardware ethernet 00:02:b3:11:f2:30指定要動態分配ip的主機得網卡的MAC地址,fixed-address 210.27.48.8指定分配其ip地址。filename "/tmp/image"是通過tftp服務,主機所要得到的影像文件,可以通過得到的影像文件來引導主機啟動
4. 超級守候進程inetd的配置
在linux系統中有一個超級守候進程inetd,inetd監聽由文件/etc/services指定的服務的埠,inetd根據網路連接請求,調用相應的服務進程來相應請求.在這里有兩個文件十分重要,/etc/inetd.conf和/etc/services,文件/etc/services定義linu系統中所有服務的名稱,協議類型,服務的埠等等信息,/etc/inetd.conf是inetd的配置文件,由它來指定那些服務可以由 inetd來監聽,以及相應的服務進程的調用命令
.首先介紹一下/etc/services文件,/etc/services文件是一個服務名和服務埠對應的資料庫文件,
如下面所示:
/etc/services文件
(實際上,以上僅僅是/etc/services的一部分,限於篇幅沒有全部寫出)
在這個文件中,為了安全考慮,可以修改一些常用服務的埠地址,
例如可以把telnet服務的埠地址改為52323,www的埠改為8080,ftp埠地址改為2121等等,這樣僅僅需要在應用程序中修改相應的埠即可.這樣可以提高系統的安全性.
/etc/inetd.conf文件是inetd的配置文件, 首先要了解一下linux伺服器到底要提供哪些服務。一個很好的原則是" 禁止所有不需要的服務",這樣黑客就少了一些攻擊系統的機會./etc/inetd.conf範例文件
大家看到的這個文件已經修改過的文件,除了telnet 和ftp服務,其他所有的服務都被禁止了.在修改了/etc/inetd.conf之後,使用命令kill -HUP (inetd的進程號),使inetd重新讀取配置文件並重新啟動即可.
5. ip route的配置
利用linux,一台普通的微機也可以實現高性價比的路由器.
首先了解一下linux的查看路由信息的命令:
[root@ice /etc]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
202.112.13.204 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
202.117.48.43 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
202.112.13.192 202.112.13.204 255.255.255.192 UG 0 0 0 eth0
202.112.13.192 0.0.0.0 255.255.255.192 U 0 0 0 eth0
202.117.48.0 202.117.48.43 255.255.255.0 UG 0 0 0 eth1
202.117.48.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 202.117.48.1 0.0.0.0 UG 0 0 0 eth1
命令netstat -r n 得到輸出結果和route -n是一樣的.它們操作的都是linux 內核的路由表.
命令cat /proc/net/route的輸出結果是以十六進製表示的路由表
.
[root@ice /etc]# cat /proc/net/route
Iface Destination Gateway Flags RefCnt Use Metric
Mask
eth0 CC0D70CA 00000000 0005 0 0 0 FFFFFFF
eth1 2B3075CA 00000000 0005 0 0 0 FFFFFFF
eth0 C00D70CA CC0D70CA 0003 0 0 0 C0FFFFF
eth0 C00D70CA 00000000 0001 0 0 0 C0FFFFF
eth1 003075CA 2B3075CA 0003 0 0 0 00FFFFF
eth1 003075CA 00000000 0001 0 0 0 00FFFFF
lo 0000007F 00000000 0001 0 0 0 000000F
eth1 00000000 013075CA 0003 0 0 0 0000000
通過計算可以知道,下面的這個路由表(十六進制)和前面的路由表(十進制)是一致的.
我們還可以通過命令route add (del )來操作路由表,增加和刪除路由信息.
除了上面的靜態路由,linux還可以通過routed來實現rip協議的動態路由.我們只需要打開linux的路由轉發功能,在/proc/sys/net/ipv4/ip_forward文件中增加一個字元
1.
三.網路的安全設置
在這一部分,再次強調一定要修改/etc/inetd.conf,安全的策略是禁止所有不需要的服務.
除此之外,還有以下幾個文件和網路安全相關.
(1)./etc/ftpusers ftp服務是一個不太安全的服務,所以/etc/ftpusers限定了不允許通過ftp訪問linux主機的用戶列表.當一個ftp請求傳送到 ftpd,ftpd首先檢查用戶名,如果用戶名在/etc/ftpusers中,則ftpd將不會允許該用戶繼續連接.範例文件如下:
# /etc/ftpusers - users not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
nadmin
(2)/etc/securetty 在linux系統中,總共有六個終端控制台,我們可以在/etc/securetty中設置哪個終端允許root登錄,所有其他沒有寫入文件中的終端都不允許root登錄.範例文件如下:
# /etc/securetty - tty's on which root is allowed to login
tty1
tty2
tty3
tty4
(3)tcpd的控制登錄文件/etc/hosts.allow和/etc/hosts.deny
在tcpd服務進程中,通過在/etc/hosts.allow和/etc/hosts.deny中的訪問控制規則來控制外部對linux主機的訪問.它們的格式都是
service-list : hosts-list [ : command]
服務進程的名稱 :
主機列表 可選,當規則滿足時的操作
在主機表中可以使用域名或ip地址,ALL表示匹配所有項,EXCEPT表示除了某些項, PARANOID表示當ip地址和域名不匹配時(域名偽裝)匹配該項.
範例文件如下:
#
# hosts.allow
This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
ALL : 202.112.13.0/255.255.255.0
ftpd: 202.117.13.196
in.telnetd: 202.117.48.33
ALL : 127.0.0.1
在這個文件中,網段202.112.13.0/24可以訪問linux系統中所有的網路服務,主機202.117.13.196隻能訪問ftpd服務,主機202.117.48.33隻能訪問telnetd服務.本機自身可以訪問所有網路服務.
在/etc/hosts.deny文件中禁止所有其他情況:
#/etc/hosts.deny
ALL : DENY : spawn (/usr/bin
『拾』 linux下vyysh命令有什麼作用啊經常見到!
用了這么多年linux,真不知道有vyysh這個命令。
估計是在/etc/bashrc或~/.bashrc里做的命令別名。