成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在CentOS或RHEL上如何為LAMP服務器保駕護航

譯文
安全 網站安全
LAMP是一套軟件架構,包括這幾大部分:Linux,Apache,MySQL,最后是PHP。我們在本文中假設這套架構的每個部分都已經搭建并運行起來,因而專門著重介紹為一臺或多臺LAMP服務器保駕護航。

LAMP是一套軟件架構,包括這幾大部分:Linux(作為基礎層的操作系統),Apache(“位于操作系統之上”的網站服務器),MySQL(或MariaDB,作為關系數據庫管理系統),最后是PHP(這種服務器端腳本語言用來處理和顯示存儲在數據庫中的信息)。

我們在本文中假設這套架構的每個部分都已經搭建并運行起來,因而專門著重介紹為一臺或多臺LAMP服務器保駕護航。不過必須要強調的是,服務器端安全是個龐大繁雜的課題,因而別指望僅僅用一篇文章就能充分而全面地加以論述。

我們在本文中將探討為LAMP軟件架構的每個部分保駕護航所要做的基本事項。

確保Linux安全

你可能想通過ssh來管理自己的CentOS服務器,那就應該考慮下面這些小貼士:通過編輯/etc/ssh/sshd_config配置文件,確保安全地遠程訪問服務器。

1)只要有可能,盡量使用基于密鑰的驗證遠程登錄到服務器,而不是使用基本的驗證機制(用戶名和密碼)。我們假設你已經在客戶機上建立了密鑰對和用戶名,并拷貝到服務器上。

PasswordAuthentication no

RSAAuthentication yes

PubkeyAuthentication yes

2)更改sshd將偵聽的端口。建議使用高于1024的端口:

Port XXXX

3)只允許協議版本2:

Protocol 2

4)配置驗證超時,不允許root登錄,并且限制哪些用戶可以通過ssh登錄:

LoginGraceTime 2m

PermitRootLogin no

AllowUsers gacanepa

5)只允許特定的主機(及/或特定的網絡)通過ssh登錄:

在/etc/hosts.deny文件中:

sshd: ALL

在/etc/hosts.allow文件中:

sshd: XXX.YYY.ZZZ. AAA.BBB.CCC.DDD

其中XXX.YYY.ZZZ.代表IPv4網絡地址的頭3個8位位組,而AAA.BBB.CCC.DDD是個IPv4地址。有了這種設置后,只有來自網絡XXX.YYY.ZZZ.0/24的主機和主機AAA.BBB.CCC.DDD才可以通過ssh進行連接。其他的所有主機還沒有進入到登錄提示符就被斷開,會收到類似這樣的錯誤信息:

在CentOS或RHEL上如何為LAMP服務器保駕護航

(別忘了重啟sshd后臺程序讓這些變更內容生效:service sshd restart)。

我們必須要強調的是,說到阻止訪問你服務器的入站連接,這種方法快捷又簡單,不過有點原始。想獲得進一步的定制性、擴展性和靈活性,應該考慮使用普通iptables及/或fail2ban。

確保Apache安全

1)確保運行Apache網站服務器的系統用戶無法訪問外殼:

# grep -i apache /etc/passwd

要是用戶apache有默認外殼(比如/bin/sh),我們必須將它更改成/bin/false或/sbin/nologin:

# usermod -s /sbin/nologin apache

在CentOS或RHEL上如何為LAMP服務器保駕護航

下列建議(2到5)針對/etc/httpd/conf/httpd.conf文件:

2)禁止目錄列表:如果目錄里面沒有index.html,這將防止瀏覽器顯示該目錄的內容。

刪除Options指令中的單詞Indexes:

# Options指令既復雜又重要。請參閱

# http://httpd.apache.org/docs/2.2/mod/core.html#options

# 了解更多信息。

# Options Indexes FollowSymLinks

應顯示為:

Options None

在CentOS或RHEL上如何為LAMP服務器保駕護航

此外,你需要確保目錄和虛擬主機的設置并沒有覆蓋這個全局配置。

請注意上述這個例子,如果我們檢查設置、查找/var/www/icons目錄,就會看到“Indexes MultiViews FollowSymLinks”應該被更改成了“None”。

更改前:

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

更改后:

Options None

AllowOverride None

Order allow,deny

Allow from all

3)隱藏Apache版本,并隱藏出錯頁面(比如Not Found和Forbidden頁面)中的模塊/操作系統信息。

ServerTokens Prod # 這意味著http響應頭只返回“Apache”,而不返回版本號

ServerSignature Off # 操作系統信息隱藏起來

在CentOS或RHEL上如何為LAMP服務器保駕護航#p#

4)通過注釋掉聲明不需要模塊的對應行,禁用那些模塊:

在CentOS或RHEL上如何為LAMP服務器保駕護航

小提示:如果目錄列表中沒有index.html文件,禁用autoindex_module是隱藏目錄列表的另一個方法。

5)限制HTTP請求大小(請求主體和請求頭),并設置連接超時:

在CentOS或RHEL上如何為LAMP服務器保駕護航

想了解更多指令以及設置指令方面的說明,請參閱Apache文檔(http://httpd.apache.org/docs/)。

確保MySQL服務器安全

我們首先運行mysql-server軟件包隨帶的mysql_secure_installation腳本。

1)如果我們在安裝過程中沒有為MySQL服務器設置root密碼,現在可以設置root密碼了,另外要記住:這在生產環境中必不可少。

在CentOS或RHEL上如何為LAMP服務器保駕護航

繼續這個過程:

在CentOS或RHEL上如何為LAMP服務器保駕護航

2)刪除匿名用戶:

在CentOS或RHEL上如何為LAMP服務器保駕護航

3)只允許root從本地主機來連接:

在CentOS或RHEL上如何為LAMP服務器保駕護航

4)刪除名為test的默認數據庫:

在CentOS或RHEL上如何為LAMP服務器保駕護航

5)讓變更內容生效:

在CentOS或RHEL上如何為LAMP服務器保駕護航

6)下一步,我們將編輯/etc/my.cnf文件中的一些變量:

[mysqld]

bind-address=127.0.0.1 # MySQL將只接受來自本地主機的連接

local-infile=0 # Disable direct filesystem access log=/var/log/mysqld.log # 啟用日志文件以留意惡意活動

別忘了使用‘service mysqld restart’,重啟MySQL服務器。

現在,說到日常數據庫管理,你會發現下列建議很有用:

•要是由于某個原因我們需要遠程管理數據庫,我們可以首先通過ssh連接到服務器,本地執行必要的查詢和管理任務,以實現遠程管理。

•我們之后可能需要啟用直接訪問文件系統的功能,比如說為了需要將文件批量導入到數據庫中。

•保存日志不像上面兩點來得重要,但許多日志對于為數據庫排查故障及/或留意不熟悉的活動大有幫助。

•千萬不要以明文格式存儲敏感信息,比如密碼、信用卡號、銀行PIN等等。可以考慮使用散列函數來加密這些信息。

•確保針對特定應用程序的數據庫只能由該應用程序為此創建的相應用戶訪問:

想調整MySQL用戶的訪問權限,請使用這些指令。#p#

首先,檢索來自用戶表的用戶列表:

gacanepa@centos:~$ mysql -u root -p

Enter password: [Your root password here]

mysql> SELECT User,Host FROM mysql.user;

在CentOS或RHEL上如何為LAMP服務器保駕護航

確保每個用戶只能訪問它所需要的數據庫,并確保每個用戶只有最基本的權限。在下面這個示例中,我們將檢查用戶db_usuario的權限:

mysql> SHOW GRANTS FOR 'db_usuario'@'localhost';

在CentOS或RHEL上如何為LAMP服務器保駕護航

你隨后可以根據需要撤銷權限和訪問權。

確保PHP安全

由于本文旨在為LAMP架構的幾個部分保駕護航,我們在編程方面不會深入介紹。我們假設我們的Web應用程序很安全,因為開發人員已不怕麻煩地確保沒有留下為跨站腳本攻擊(XSS)或SQL注入攻擊等常見攻擊可趁之機的任何安全漏洞。

1) 禁用不必要的模塊:

我們可以使用下面這個命令:php -m,顯示當前編譯模塊列表:

在CentOS或RHEL上如何為LAMP服務器保駕護航

然后禁用不需要的那些模塊,為此只要刪除或更名/etc/php.d目錄中的相應文件。

比如說,由于自PHP v5.5.0起mysql擴展部分已被廢棄(將來會被刪除),我們需要禁用它:

# php -m | grep mysql

# mv /etc/php.d/mysql.ini /etc/php.d/mysql.ini.disabled

在CentOS或RHEL上如何為LAMP服務器保駕護航

2) 隱藏PHP版本信息:

# echo "expose_php=off" >> /etc/php.d/security.ini [or modify the security.ini file if it already exists]

在CentOS或RHEL上如何為LAMP服務器保駕護航

3)將open_basedir設置成幾個特定的目錄(在php.ini中),目的是為了限制對底層文件系統的訪問:

在CentOS或RHEL上如何為LAMP服務器保駕護航

4)禁用遠程代碼/命令執行以及容易被利用的函數,比如exec()、system()、passthru()和eval()等函數(在php.ini)中:

allow_url_fopen = Off

allow_url_include = Off

disable_functions = "exec, system, passthru, eval"

在CentOS或RHEL上如何為LAMP服務器保駕護航

在CentOS或RHEL上如何為LAMP服務器保駕護航

結束語

1)將軟件包更新到最新版本(比較下列命令的輸出和‘yum info [package]’的輸出):

下列命令返回Apache、MySQL和PHP的當前版本:

# httpd -v

# mysql -V (capital V)

# php -v

在CentOS或RHEL上如何為LAMP服務器保駕護航

然后,‘yum update [package]’可用于更新軟件包,以便擁有最新的安全補丁。

2) 確保配置文件只能被root帳戶寫入:

# ls -l /etc/httpd/conf/httpd.conf

# ls -l /etc/my.cnf

# ls -l /etc/php.ini /etc/php.d/security.ini

在CentOS或RHEL上如何為LAMP服務器保駕護航

3)最后,如果你有機會的話,在不同的物理機或虛擬機中(通過防火墻來保護這些機器之間的聯系),運行這些服務(網站服務器、數據庫服務器和應用服務器),那樣萬一某一項服務受到了危及,攻擊者也無法立即訪問其他服務。如果真出現攻擊者能立即訪問其他服務這種情況,就得改動本文中討論的一些配置。請注意:有多種方案可以用來增強LAMP服務器的安全性,本文介紹的僅僅是其中之一。

責任編輯:林琳 來源: 51CTO.com
相關推薦

2021-06-30 09:11:17

KubernetesDevtronK8S

2021-07-14 13:30:44

KubernetesLinux文件

2020-10-27 09:00:39

數據保護DPaaS云服務

2013-01-10 11:32:12

阿里云雙十一云計算

2011-08-25 13:27:07

2018-01-23 11:10:09

2014-01-24 10:01:24

加密技術郵件服務器TLS加密

2009-09-05 12:16:10

2019-03-22 08:39:14

NginxWeb服務器Linux

2017-03-21 16:03:25

2010-11-04 15:32:05

SecSSM服務器安全網神

2013-11-18 10:44:51

雙11電商 CDN

2022-02-10 13:57:26

5G無線通信VR/AR

2014-05-16 09:38:14

2011-12-16 11:11:24

戴爾

2012-07-20 17:50:56

IT運維

2013-06-28 11:35:13

方物

2020-03-26 14:09:03

網絡安全疫情技術

2021-08-04 09:42:44

數字化

2018-03-23 12:08:34

企業上云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 夜夜爽99久久国产综合精品女不卡 | 日韩一区二区在线视频 | 日日骑 | 欧美精品欧美精品系列 | 国产精品国产三级国产aⅴ中文 | 亚洲精品欧美 | 欧美不卡视频一区发布 | 中文字幕1区2区3区 日韩在线视频免费观看 | 91精品久久 | 久久国产三级 | 成人精品一区 | 影音先锋成人资源 | 久久激情视频 | 男人av在线播放 | 97av| 一区二区高清 | 婷婷久久五月 | 国产高清视频 | 91日韩在线| 欧美在线国产精品 | 久久久久久久久久久久久91 | 91久久精品一区二区二区 | 亚洲精品日韩综合观看成人91 | 午夜一区 | 色精品 | 日韩精品一区在线 | 精品国产18久久久久久二百 | 欧美mv日韩mv国产网站91进入 | 国产一区二区在线免费观看 | 91香蕉嫩草| 久久国产成人 | 国产日韩精品一区 | 国产视频三区 | 日韩1区2区| 国产在线不卡 | 久久久久久黄 | 在线 丝袜 欧美 日韩 制服 | 少妇特黄a一区二区三区88av | 亚洲欧美国产一区二区三区 | 99精品免费久久久久久日本 | 精国产品一区二区三区四季综 |