搭建Linux安全的SquidProxy 伺服器

來源:互聯網
上載者:User

本文介紹Linux下非常著名、常用的SquidProxy 伺服器的使用,並著重講述如何使用其提供的存取控制策略,來保證Proxy 伺服器的合法使用。

    Proxy 伺服器的功能是代理網路使用者取得網路資訊,它是網路資訊的
中轉站。隨著Proxy 伺服器的廣泛使用,隨之而來的是一系列的安全問題。由於沒有對Proxy 伺服器的存取控制策略作全面細緻的配置,導致使用者可以隨意地通過Proxy 伺服器訪問許多色情、反動的非法網站,而這些行為往往又很難追蹤,給管理工作帶來極大的不便。

    Squid是Linux下一個緩衝Internet資料的Proxy 伺服器軟體,其接收使用者的下載申請,並自動處理所下載的資料。也就是說,當一個使用者想要下載一個首頁時,可以向Squid發出一個申請,要Squid代替其進行下載,然後Squid串連所申請網站並請求該首頁,接著把該首頁傳給使用者同時保留一個備份。當別的使用者申請同樣的頁面時,Squid把儲存的備份立即傳給使用者,使使用者覺得速度相當快。目前,Squid可以代理HTTP、FTP、 GOPHER、SSL和WAIS協議,暫不能代理POP3、NNTP等協議。Squid可以工作在很多作業系統中,如AIX、Digital、Unix、 FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。

    安裝和配置Squid Server

    通常說來,安裝Squid有兩種方法:一是從Red Hat Linux 9中擷取該軟體的RPM包進行;二是安裝從Squid的官方網站http://www.squid-cache.org/ 下載該軟體的源碼進行編譯後安裝。目前網上最新的穩定版本為squid-2.5.STABLE10,下面以此版本為例對兩種安裝方法進行介紹。

Squid伺服器工作原理

    1. RPM包的安裝

    首先,查看是否已經安裝了squid:

    #rpm -qa | grep squid

    Red Hat Linux9內建了Squid安裝軟體包,將第一張安裝光碟片放入光碟機後掛裝光碟片分區:

    #mount /mnt/cdrom

    然後,進入/mnt/cdrom/Red Hat/RPMS目錄:

    #cd /mnt/cdrom/Red Hat/RPMS

    最後,執行安裝:

    #rpm -ivh squid-2.5.STABLE1-2.i386.rpm

    當然,我們也可以在開始安裝系統的過程中安裝該軟體。

    2. 原始碼包的安裝

    從http://www.squid-cache.org/下載squid軟體的最新原始碼包squid-2.5.STABLE10.tar.gz,然後,按照如下步驟進行安裝。

    首先,將該檔案拷貝到/tmp目錄:

    #cp squid-2.5.STABLE10.tar.gz /tmp

    然後,解開該檔案:

    #tar xzvf squid-2.5.STABLE10.tar.gz

    解開後,在/tmp產生一個新的目錄squid-2.5.STABLE10,為了方便使用mv命令,將該目錄重新命名為squid:

    #mv squid-2.5.STABLE10 squid

    切換進入squid目錄:

    #cd squid

    接著,執行/configure,可以用./configure --prefix=/directory/you/want指定安裝目錄,系統預設安裝目錄為/tmp/squid:

    #./configure

    最後,分別執行make all、make install:

    #make all

    #make install

    安裝結束後,Squid的可執行檔在安裝目錄的bin子目錄下,設定檔在etc子目錄下。

    Squid軟體向使用者提供了許多與配置、應用程式和庫、日誌等相關的文檔進行配置和管理,Squid有一個主要的設定檔squid.conf。同時,在 Red Hat環境下所有Squid的設定檔都位於/etc/squid子目錄下。在該目錄當中,系統同時提供了一個預設的設定檔,其名稱為 squid.conf.default,然而,在實際的應用當中,該預設的設定檔存在某些問題,所以在使用Squid之前,必須首先對該設定檔的有關內容進行修改。

    下面介紹squid.conf檔案的結構以及一些常用的選項。squid.conf設定檔可以分為13個部分。雖然Squid的設定檔很龐大,該設定檔的規模達到了3000多行。然而,如果只是為一個中小型網路提供代理服務,並且只準備使用一台伺服器,那麼,配置問題將會變得相對簡單,只需要修改設定檔中的幾個選項即可滿足應用需求。這些幾個常用選項分別是:

    1. http_port

    該選項定義Squid監聽HTTPD客戶串連請求的連接埠。預設是3128,如果使用HTTPD加速模式,則為80。可以指定多個連接埠,但是所有指定的連接埠都必須在一條命令列上出現,程式才能正確地識別。

    2. cache_mem(bytes)

    該選項用於指定Squid可以使用的記憶體的理想值。這部分記憶體被用來儲存以下對象:In-Transit objects(傳入的對象)、Hot Objects(熱對象,即使用者常訪問的對象)、Negative-Cached objects(消極儲存的對象)。

    3. cache_dir Directory-Name Mbytes Level1 Level2

    該選項指定Squid用來儲存物件的交換空間的大小及其目錄結構。可以用多個cache_dir命令來定義多個交換空間,並且這些交換空間可以分布在不同的磁碟分割。“directory”指明了該交換空間的頂級目錄。如果想用整個磁碟作為交換空間,那麼可以將該目錄作為裝載點將整個磁碟掛裝上去。預設值為/var/spool/squid。Mbytes定義了可用的空間總量。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.