歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> CentOS安裝Apache-2.4.10+安全配置,apache2.4安全配置

CentOS安裝Apache-2.4.10+安全配置,apache2.4安全配置

日期:2017/3/3 18:01:22   编辑:學習Linux

CentOS安裝Apache-2.4.10+安全配置,apache2.4安全配置

CentOS安裝Apache-2.4.10+安全配置,apache2.4安全配置


注:以下所有操作均在CentOS 6.5 x86_64位系統下完成。

#准備工作#

在安裝Nginx之前,請確保已經使用yum安裝了各基礎組件,並且配置了www用戶和用戶組,具體見《CentOS安裝Nginx-1.6.2+安全配置》。

另外還需要先安裝以下幾個組件:

1、安裝Sqllite:

# wget http://www.sqlite.org/2014/sqlite-autoconf-3080704.tar.gz
# tar zxf sqlite-autoconf-3080704.tar.gz
# cd sqlite-autoconf-3080704
# ./configure --prefix=/usr/local/sqlite-3.8.7.4
# make && make install

2、安裝apr:

# tar zxf apr-1.4.5.tar.gz
# cd apr-1.4.5
# ./configure --prefix=/usr/local/apr-1.4.5
# make && make install

3、安裝apr-util:

# tar zxf apr-util-1.3.12.tar.gz
# cd apr-util-1.3.12
# ./configure --prefix=/usr/local/apr-util-1.3.12 --with-apr=/usr/local/apr-1.4.5
# make && make install

#Apache的安裝#

開始下載Apache並進行編譯安裝:

# cd /usr/local/src
# wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.10.tar.gz
# tar zxf httpd-2.4.10.tar.gz
# cd httpd-2.4.10
# ./configure --prefix=/usr/local/apache-2.4.10 --with-apr=/usr/local/apr-1.4.5 --with-apr-util=/usr/local/apr-util-1.3.12 --enable-dav --enable-so --enable-maintainer-mod --enable-rewrite --with-sqlite=/usr/local/sqlite-3.8.7.4
# make && make install
# cp /usr/local/apache-2.4.10/conf/httpd.conf /usr/local/apache-2.4.10/conf/httpd.conf.default
# ln -s /usr/local/apache-2.4.10/ /usr/local/apache

接著修改http.conf配置文件:

# vim /usr/local/apache-2.4.10/conf/httpd.conf

Listen 8888

User www
Group www

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule rewrite_module modules/mod_rewrite.so

注:這裡我們配置其監聽端口是8888,並且開啟DAV模塊和Rewrite模塊。

之後保存文件並開啟apache服務:

# /usr/local/apache/bin/apachectl start

注意新版本的Apache已經禁止以root用戶啟動Apache,啟動後如下所示:

# ps aux | grep httpd
www      10087  0.0  0.5 221664  2960 ?        Sl   15:41   0:00 /usr/local/apache-2.4.10/bin/httpd -k start
www      10088  0.0  0.5 221664  2964 ?        Sl   15:41   0:00 /usr/local/apache-2.4.10/bin/httpd -k start
www      10089  0.0  0.7 287200  3528 ?        Sl   15:41   0:00 /usr/local/apache-2.4.10/bin/httpd -k start
www      10171  0.0  0.5 221664  2968 ?        Sl   15:41   0:00 /usr/local/apache-2.4.10/bin/httpd -k start
root     12966  0.0  0.7  98588  3872 ?        Ss    2014   0:15 /usr/local/apache-2.4.10/bin/httpd -k start
root     10331  0.0  0.1 103252   836 pts/0    S+   15:49   0:00 grep httpd

注:這裡有個httpd進程是root的,這是正常的,因為啟動後root才會fork出ww權限的進程,用戶的請求由www權限進程處理。

這個時候打開浏覽器訪問地址http://youripaddress:8888/應該可以看到:

至此,Apache已經安裝完畢並且已經啟動成功。

#Apache的安全配置#

1、Apache默認是允許目錄浏覽的,如果目錄下沒有索引文件則會出現目錄浏覽漏洞,所以這裡需要關閉目錄浏覽。這裡直接選擇全局關閉:

# vim /usr/local/apache/conf/httpd.conf

<Directory "/usr/local/apache-2.4.10/htdocs">
    Options Indexes FollowSymLinks
    Require all granted
</Directory>

注:原來的Indexes改成-Indexes,也可以選擇在.htacess文件中部分禁止該功能,或者直接把Indexes這行刪除。

2、Apache默認輸出的banner會洩漏關鍵信息,比如服務器OS類型、Apache版本等。可以禁止起輸出這些信息:

# vim /usr/local/apache/conf/httpd.conf

ServerSignature Off
ServerTokens Prod

注:直接在文件末尾添加內容即可。

3、開啟訪問日志並正確配置其路徑(默認已開啟):

# vim /usr/local/apache/conf/httpd.conf

<IfModule log_config_module>
    CustomLog "logs/access_log" common
</IfModule>

4、確保目錄安全,由於是以www用戶啟動Apache的,所以可以設置Web目錄和文件的屬主為root用戶,Web目錄統一設置權限為755,Web文件權限統一設置為644(cgi文件若需執行可設置為755),只有上傳目錄需要可讀寫的權限設置為777。

# chown -R root:root /data/www/
# chmod 755 /data/www/
# chmod -R 777 /data/www/upload

另外,為了防止黑客上傳可執行腳本到777目錄下,必須設置該目錄為不能執行或訪問腳本,比如:

# vim /usr/local/apache/conf/httpd.conf

<Directory "/usr/local/apache/htdocs/yourpath">
    Options None
    AllowOverride None
    Order deny,allow
    Deny from all
    <FilesMatch "\.(jpg|jpeg|gif|png)$">
        Order deny,allow
        Allow from all
    </FilesMatch>
</Directory>

5、對管理目錄設置訪問IP名單限制,比如:

# vim /usr/local/apache/conf/httpd.conf

<Directory "/usr/local/apache/htdocs/admin">
Order deny,allow
Deny from all
Allow from pair 11.12.23.0/24
</Directory>

6、去掉UserDir功能(默認已關閉)。

http://xxxxxx/Linuxjc/1178063.html TechArticle

Copyright © Linux教程網 All Rights Reserved