茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1675191 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_G9_00012.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

小企鵝開談 : [分享]Linux Red Hat 7.2 架網站指南

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[分享]Linux Red Hat 7.2 架網站指南
Linux Red Hat 7.2 架網站指南
------------------------------------------

不限時數 計時制adsl 變動ip 架站看這邊

你一定是急著用redhat 連網吧
小弟的說明內有寫連網設定的方法
由於為了安全的理由
是有一定的順序啟動程式
所以就依順序寫下來

意即先設好hosts.allow 及 hosts.deny
並組態好並啟動防火牆
在啟動防火牆之前 .就連線到網際網路
你的主機完全暴露在駭客的面前

安裝前請先以red hat 跑expert模式的fdisk 請分割如下
第一磁區給win98 fat32 vfat 6.5gb 第2磁區 ext3 7.0gb
第3磁區win fat32 ext 4.3gb 第四磁區linux swap 2048mb(最大值)
第五磁區 winfat32 邏輯磁碟4.3gb
畫好分割表後寫入重開機,以ghost重灌win98後升級xp(而不是全新安裝xp)

以下說的都是免先付費,你也可不付費

為了安全的理由
(避免駭客用你的主機攻擊第三地主機)
請勿到其它不能信任的網站或ftp台下載

先以xp上網至
所以要下載是因為redhat7.2內附的adsl-setup少一個script
如果是固定IP 不需下載
點網站的download或到下面這個網址
http://www.roaringpenguin.com/pppoe/#download
下載這兩個檔啊
rp-pppoe-3.3-1.i386.rpm
rp-pppoe-gui-3.3-1.i386.rpm

至members.dyndns.org 點選sign up下的secure 以加密https傳送申請會員,
請收電子郵件啟動帳號,回members.dyndns.org
在該站上進行一些設定
以secure登入並設定新密碼,及取一個你的dynamic domain Name,並核選啟用wildcard

至apache.org下載apache_1.3.23.tar.gz
至php.net下載php-4.1.2.tar.gz
至mysql.com下載
MySQL-3.23.49a-1.i386.rpm
MySQL-client-3.23.49a-1.i386.rpm
MySQL-shared-3.23.49a-1.i386.rpm

在安裝red hat 7.2須注意的
Network configuration 請勿核選 DHCP 及 Activate on Boot
在hostname欄位中填你申請的domain name如your.homeip.net

如果要支援中文檔名
請勿於安裝Red Hat 過程時指定自動掛載 Windows 的分割區
安裝語系時,
預設值並沒有把中文Chinese-Traditional(ROC Taiwan)裝進去
請清除English(US)核選ROC Taiwan
安裝套件時,請選Everything後,請注意其下方,
核選Select Indivisual,按Next
核選radio button 平面展開flat view ,
清除anonftpd, apache* php* mysql* logwatch tripwire
telnet-server wuftpd mrtg rwall* ruser* rwho*
finger finger-server rwho xinetd snmp ncftp wget
nmap nc lsof netstat logwatch ncftp ucd-snmp* nmap
為了防止駭客入侵不要一些服務(本文末有說明)
其中kde-i18n只要保留kde-i18n-big5即可



將/etc/sendmail.cf
#O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
改為
O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA
在/etc/mail/access
只有這三行(避免駭客經由你的主機cgi發垃圾信spam)
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY


等red hat安裝完畢後
請在shell下ntsysv指令清除sendmail xinetd syslogd xinetd及sshd的*號按ok
(不聆聽telnet 23埠及sendmail 25埠)
須先於mnt資料夾下建立win資料夾及data資料夾
以指令
mount -o iocharset=cp950 -t vfat /dev/hda1 /mnt/win
mount -o iocharset=cp950 -t vfat /dev/hda5 /mnt/data
此例為 windows os裝於 /dev/hda1
此例為 windows ap裝於 /dev/hda5 邏輯磁碟

接下來的順序不可前後顛倒,

修改/etc/hosts.deny 加入下1行
ALL: ALL <--拒絕所有的主機

修改/etc/hosts.allow 加入下兩行

ALL: 127.0.0.1 your.homeip.net <--允許你使用本機機器的所有服務
httpd: ALL (只有開給user瀏覽網站)
*註:如果與hosts.deny衝突,hosts.allow此檔有優先權

請在文字指令下鎖死三檔
chattr +i /etc/hosts.allow
chattr +i /etc/hosts.deny
chattr +i /etc/hosts
重新開機

動態IP防火牆設法之一(port80)
KDE-系統-firewall-config
選浮動式按鈕Options
ICMP 選 Restricted就好(不要ping)
別人ping你的主機 會延長回應時間拖累系統速度
Default Policies
input --> Accept
output --> Accept
forward --> deny
選浮動式按鈕Rules按New
Source 將!左邊的方格全選
Destination
Dst Device 填入eth0(以只有一張網路卡為例)
Dst Ports 80
將!左邊的方格全選
Protocol
選* -->deny
chain 選 input
核選only connected
核選bidirectional
按apply 再按ok

防火牆設法之二(port8080)<--red hat建議的方式
設定防火牆組態參考網址
http://www.redhat.com/docs/manuals/linux/RHL-7.2-Manual/custom-guide/ch-gnomelokkit.html
此設定不支援Port 80(apache的預設值)
請將httpd.conf的Port 80改為8080
KDE選單-->Programs--系統--Lokkit
按是->下個->選Low Security-->選Yes(信任網路卡連網)
-->選No(沒有Dhcp)-->選Yes-->Enable Incoming Service
-->還是選Yes(如果你是用其它主機架Internet 網站,此機器只是做區域網路網頁伺服器選No)
-->選No(不准外來的SMTP送信進來)-->選No(不准SSH)-->選No(不准Telnet)
啟動防火牆參考網址
http://www.redhat.com/docs/manuals/linux/RHL-7.2-Manual/custom-guide/activate-firewall.html
啟動防火牆
/sbin/service ipchains restart
使用者需在網址欄指定Port
如your.homeip.net:8080
才能進入你的web站


從掛載的win磁區找到先前下載的rp-pppoe
安裝rp-pppoe
安裝方法
rpm -Uvh rp-pppoe-3.3-1.i386.rpm rp-pppoe-gui-3.3-1.i386.rpm
手動執行
/usr/bin/tkpppoe
設定
basic
username 輸入使用者名稱勿加@yourisp.net(加在下一欄但不要@)
network yourisp.net
password yourpasswd
請選浮動活頁Nic and Dns
ethernet interface 填eth0(以只有一張螃蟹卡為例)
dns setup specify
p dns 168.95.1.1
s dns 168.95.192.1(此以hinet網域名主機位址為例)
options 請核選Use synchronous ppp
firewalling 選standalone(以只有一台電腦為例)

按ok,
請先手動啟動 按start鍵

此時拉開mozilla瀏覽器即可上網
下載netscape 6.2.1安裝到/usr/lib/netscape
==以下的步驟不必要=============
目的:更新redhat核心及kde字型
先於shell執行rhn_register 註冊redhat
執行up2date
===============================



先依序安裝mysql
rpm -Uvh MySQL-3.23.49a-1.i386.rpm
安裝後出現教你怎麼設超級網管root的密碼畫面,安裝程式並啟動mysql
而且每次開機都會載入mysql
rpm -Uvh MySQL-client-3.23.49a-1.i386.rpm
rpm -Uvh MySQL-shared-3.23.49a-1.i386.rpm


安裝php前須對apache組態
偽裝apache版本
tar xvzf apache_1.3.23.tar.gz
編輯 apache_1.3.23/src/include/httpd.h
字串搜尋BASEREVISION 改1.3.23成別的版本
對資料夾更名成apache_1.3.*(*為數字)
% cd apache_1.3.*
% ./configure
偽裝php版本
tar xvzf php-4.1.2.tar.gz
編輯 php-4.1.1/main/php_version.h
改你要的版本號碼,別忘了同時改資料夾名稱
% cd ../php-4.0.*
以下兩行請打成同一行(空一格),如行數不夠讓它自動轉行勿按enter鍵
% ./configure --with-mysql --with-apache=../apache_1.3.x
--enable-i18n --enable-mbregex
% make
% make install

$ cd ../apache_1.3.x
$ ./configure --prefix=/www
--activate-module=src/modules/php4/libphp4.a

$ make
$ make install
此時apache已安裝安成,但請稍候啟動apache

$ cd ../php-4.1.x
$ cp php.ini-dist /usr/local/lib/php.ini
編輯 /usr/local/lib/php.ini 此檔(初學者勿改).
編輯/www/conf/httpd.conf
加入一行
AddType application/x-httpd-php .php .php3

拒絕為網站目錄表列時 最末一行簽上web伺服器軟體名稱與版本
改變ServerSignature off


cgi的危險在chmod 777時,遠端可以輸入可執行的perl腳本
.cgi檔建議改為755,輸出文檔與存放文檔的資料夾改為666,圖檔放在/htdocs/下
=============================================
cgi修改後,再次存檔執行時會出現

500 Server Error
The server encountered an internal error or misconfiguration and was
unable to complete your request.
Message: Failed to create CGI process.

那是因為以記事本等純文字編輯軟體時 使cgi的文檔最末一行有空行
如果你是使用red hat 7.2 的advanced editor
那請於最末一行按倒退鍵 消去空白行即可
==============================================

下一行增加#號意指關閉
任何資料夾下若副檔名為.cgi .pl時視為cgi可執行角本
這個功能
#AddHandler cgi-script .cgi .pl

請限定可執行cgi的資料夾
將下一行#號去掉,網址加上/cgi-bin/即為絕對路徑的別名
ScriptAlias /cgi-bin/ "/www/cgi-bin/"

如何讓他們無法利用雙句點斜線及捷徑(符號連結)
透過cgi來攻擊web主機, 取得/etc/passwd檔
改變可ExecCGI及使.htaccess作用
< Directory "/www/cgi-bin" >
AllowOverride None <--- 這裡None改為Limit
Options None <--- 這裡None改為ExecCGI 並加上SymLinksIfOwnerMatch
Order allow,deny
Allow from all
以?U為如果你的CGI程式需要一個子目錄的例子
< Directory "/www/cgi-bin/lb5000" >
AllowOverride Limit
Options ExecCGI SymLinksIfOwnerMatch
Order allow,deny
Allow from all
< /Directory >
< Directory "/www/cgi-bin/mkaki" >
AllowOverride Limit
Options ExecCGI SymLinksIfOwnerMatch
Order allow,deny
Allow from all
< /Directory >



< Directory "/www/htdocs" >
注意此行下的AllowOverride None
使.htaccess作用
AllowOverride None <--- 這裡None改為Limit

< Directory / >
注意此行下的AllowOverride None
使.htaccess作用
AllowOverride None <--- 這裡None改為Limit

在下行加上index.php index.php3 index.htm為進入目錄時
DirectoryIndex index.html index.php index.php3 index.htm

資料夾經過選擇的檔案表列
以下為例,當index.html不存在時,表列list資料夾內檔案及子資料夾
< Directory "/www/htdocs/list" >
Options Indexes ...
搜尋此行
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
加上要忽略表列的子資料夾名稱或檔名(可支援萬用字元*)
如希望表列時不要加上robots.txt
可以加上robot*,如下行
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t robot*

shtml的危險在不受httpd.conf的控制便可執行cgi程式與指定前往的資料夾
如果要啟動shtml必須將下兩行的#去掉
#AddType text/html .shtml
#AddHandler server-parsed .shtml
如果是網站主目錄要放shtml檔如下所例
< Directory "/www/htdocs" >
Options Indexes MultiViews SymLinksIfOwnerMatch IncludesNOEXEC
醬子就可以避免駭客用shtml檔寫一個perl腳本以現有cgi為途徑遞到你的cgi-bin資料夾

有關robots.txt
通常自己增一文字檔放在/www/htdocs下
加上如下兩行
User-agent: * 適用搜尋引擎robots程式的所有類別
Disallow: / 網站內容全部不允許發佈在搜尋引擎包括cgi
隱藏robots.txt加下五行至httpd.conf
< Files ~ "^
obots.txt" >
Order allow,deny
Deny from all
Satisfy All
< /Files >
robots.txt 應該讓搜尋引擎存取
原文只是一個示範

啟動apache
/www/bin/apachectl start
編輯/etc/rc.d/rc.local文字檔
加入此行
/www/bin/apachectl start
以後每次開機就會載入apache與php


此時在瀏覽器輸入yourhost.domain.org
應該可以看到apache在你htdocs資料夾下的預設首頁
但是只有你的機器看得到你的網站

http://clients.dyndns.org/unix.php
下載客戶端ddclient程式
依ddclient README檔案
將ddclient複製到/usr/sbin下
將sample_etc_ddclient.conf改名為ddclient.conf
編輯ddclient.conf
為下一行去除#號
use=web, web=checkip.dyndns.org/, web-skip='IP Address' ..
改login為你在dyndns.org的username 去除#號
password為你在dyndns.org的password 去??#號
wildcard=yes 去除#號
在## dyndns.org dynamic addresses一節
中下面第五行的
your-dynamic-host.dyndns.org請改為你的主機名稱
如your.homeip.net
改好將ddclient.conf放在/etc下

請手動啟動
/usr/sbin/ddclient start

最後啟動防火牆
方法之一 將kde-->系統-->防火牆config對話方塊打開
先按apply再按activate鍵
方法之二 <--red hat建議的方式
/sbin/service ipchains restart
===============================================

每次開機後必須先啟動tkpppoe adsl連線
/usr/bin/tkpppoe 按start鍵
小弟反對啟動redhat交由開機程式rc.local自動連上網路
在啟動防火牆之前 你的主機完全暴露在駭客的面前

再啟動ddclient 報告更動ip給dyndns.org主機
/usr/sbin/ddclient start

*如果這樣不能上你的網站
一定是apache沒有啟動
/www/bin/apachectl start

最後啟動防火牆
方法之一 將kde-->系統-->防火牆config對話方塊打開
先按apply再按activate鍵
方法之二 <--red hat建議的方式
/sbin/service ipchains restart
=============================
如果有更新httpd.conf那麼除了要重新啟動apache
/www/bin/apachectl restart
還要再啟動防火牆
方法之一 將kde-->系統-->防火牆config對話方塊打開
先按apply再按activate鍵
方法之二 <--red hat建議的方式
/sbin/service ipchains restart
==================================
有關.htaceess
通常自己增一文字檔放在要禁止存取的各目錄
如放.htaccess在/www/htdocs下
內容如
< Limit GET >
order allow,deny
allow from all
deny from 61.33.208.65
deny from 61.36.1.133
< /Limit >


通常自己增一文字檔放在要禁止存取的各目錄下
如放.htaccess在/www/cgi-bin下
內容如


< Limit GET PUT POST >
order allow,deny
allow from all
deny from 61.33.208.65
deny from 61.36.1.133
deny from 61.40.240.74
deny from 61.70.74.210
< /Limit >


高竿的駭客往往是透過入侵中國大陸的主機
植入可連續攻擊的腳本,及在看不見的網頁頁框安裝木馬,來攻擊你的web server
所列ip僅為舉例多是木馬網站以攻擊nt xp 2000為主
大陸的主機有一部份是被來自各地的駭客嫁禍的.
你能想像聆聽某銀行的連接埠居然是你的電腦嗎?
當然不是你做的,
但駭客可以在你的機器留下攻擊第三台電腦的證據
讓你百口莫辯.
這就是為什麼網路上可以匿名就儘量匿名的原因.
whois 是linux指令
方法是於shell文字模式下
whois xxxx.com即得nic的註冊資料

我們向dyndns.org註冊的是不需要用身份證號碼計算程式來假造資料的
因為跟本就不用填 ^___^
前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|