Web服務(wù)器攻擊常利用Web服務(wù)器軟件和配置中的漏洞,web服務(wù)器安全也是我們現(xiàn)在很多人關(guān)注的一點(diǎn),那么你知道web服務(wù)器安全設(shè)置嗎?下面是我整理的一些關(guān)于web服務(wù)器安全設(shè)置的相關(guān)資料,供你參考。
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為成都公路鉆孔機(jī)等企業(yè)提供專業(yè)服務(wù)。
web服務(wù)器安全設(shè)置一、IIS的相關(guān)設(shè)置
刪除默認(rèn)建立的站點(diǎn)的虛擬目錄,停止默認(rèn)web站點(diǎn),刪除對應(yīng)的文件目錄c:inetpub,配置所有站點(diǎn)的公共設(shè)置,設(shè)置好相關(guān)的連接數(shù)限制, 帶寬設(shè)置以及性能設(shè)置等其他設(shè)置。配置應(yīng)用程序映射,刪除所有不必要的應(yīng)用程序擴(kuò)展,只保留asp,php,cgi,pl,aspx應(yīng)用程序擴(kuò)展。對于php和cgi,推薦使用isapi方式解析,用exe解析對安全和性能有所影響。用戶程序調(diào)試設(shè)置發(fā)送文本錯(cuò)誤信息給客戶。
對于數(shù)據(jù)庫,盡量采用mdb后綴,不需要更改為asp,可在IIS中設(shè)置一個(gè)mdb的擴(kuò)展映射,將這個(gè)映射使用一個(gè)無關(guān)的dll文件如C:WINNTsystem32inetsrvssinc.dll來防止數(shù)據(jù)庫被下載。設(shè)置IIS的日志保存目錄,調(diào)整日志記錄信息。設(shè)置為發(fā)送文本錯(cuò)誤信息。修改403錯(cuò)誤頁面,將其轉(zhuǎn)向到其他頁,可防止一些掃描器的探測。另外為隱藏系統(tǒng)信息,防止telnet到80端口所泄露的系統(tǒng)版本信息可修改IIS的banner信息,可以使用winhex手工修改或者使用相關(guān)軟件如banneredit修改。
對于用戶站點(diǎn)所在的目錄,在此說明一下,用戶的FTP根目錄下對應(yīng)三個(gè)文件佳,wwwroot,database,logfiles,分別存放站點(diǎn)文件,數(shù)據(jù)庫備份和該站點(diǎn)的日志。如果一旦發(fā)生入侵事件可對該用戶站點(diǎn)所在目錄設(shè)置具體的權(quán)限,圖片所在的目錄只給予列目錄的權(quán)限,程序所在目錄如果不需要生成文件(如生成html的程序)不給予寫入權(quán)限。因?yàn)槭翘摂M主機(jī)平常對腳本安全沒辦法做到細(xì)致入微的地步。
方法
用戶從腳本提升權(quán)限:
web服務(wù)器安全設(shè)置二、ASP的安全設(shè)置
設(shè)置過權(quán)限和服務(wù)之后,防范asp木馬還需要做以下工作,在cmd窗口運(yùn)行以下命令:
regsvr32/u C:\WINNT\System32\wshom.ocx
del C:\WINNT\System32\wshom.ocx
regsvr32/u C:\WINNT\system32\shell32.dll
del C:\WINNT\system32\shell32.dll
即可將WScript.Shell, Shell.application, WScript.Network組件卸載,可有效防止asp木馬通過wscript或shell.application執(zhí)行命令以及使用木馬查看一些系統(tǒng)敏感信息。另法:可取消以上文件的users用戶的權(quán)限,重新啟動(dòng)IIS即可生效。但不推薦該方法。
另外,對于FSO由于用戶程序需要使用,服務(wù)器上可以不注銷掉該組件,這里只提一下FSO的防范,但并不需要在自動(dòng)開通空間的虛擬商服務(wù)器上使用,只適合于手工開通的站點(diǎn)??梢葬槍π枰狥SO和不需要FSO的站點(diǎn)設(shè)置兩個(gè)組,對于需要FSO的用戶組給予c:winntsystem32scrrun.dll文件的執(zhí)行權(quán)限,不需要的不給權(quán)限。重新啟動(dòng)服務(wù)器即可生效。
對于這樣的設(shè)置結(jié)合上面的權(quán)限設(shè)置,你會發(fā)現(xiàn)海陽木馬已經(jīng)在這里失去了作用!
web服務(wù)器安全設(shè)置三、PHP的安全設(shè)置
默認(rèn)安裝的php需要有以下幾個(gè)注意的問題:
C:\winnt\php.ini只給予users讀權(quán)限即可。在php.ini里需要做如下設(shè)置:
Safe_mode=on
register_globals = Off
allow_url_fopen = Off
display_errors = Off
magic_quotes_gpc = On [默認(rèn)是on,但需檢查一遍]
open_basedir =web目錄
disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod
默認(rèn)設(shè)置com.allow_dcom = true修改為false[修改前要取消掉前面的;]
web服務(wù)器安全設(shè)置四、MySQL安全設(shè)置
如果服務(wù)器上啟用MySQL數(shù)據(jù)庫,MySQL數(shù)據(jù)庫需要注意的安全設(shè)置為:
刪除mysql中的所有默認(rèn)用戶,只保留本地root帳戶,為root用戶加上一個(gè)復(fù)雜的密碼。賦予普通用戶updatedeletealertcreatedrop權(quán)限的時(shí)候,并限定到特定的數(shù)據(jù)庫,尤其要避免普通客戶擁有對mysql數(shù)據(jù)庫操作的權(quán)限。檢查mysql.user表,取消不必要用戶的shutdown_priv,reload_priv,process_priv和File_priv權(quán)限,這些權(quán)限可能泄漏更多的服務(wù)器信息包括非mysql的 其它 信息出去??梢詾閙ysql設(shè)置一個(gè)啟動(dòng)用戶,該用戶只對mysql目錄有權(quán)限。設(shè)置安裝目錄的data數(shù)據(jù)庫的權(quán)限(此目錄存放了mysql數(shù)據(jù)庫的數(shù)據(jù)信息)。對于mysql安裝目錄給users加上讀取、列目錄和執(zhí)行權(quán)限。
Serv-u安全問題:
安裝程序盡量采用最新版本,避免采用默認(rèn)安裝目錄,設(shè)置好serv-u目錄所在的權(quán)限,設(shè)置一個(gè)復(fù)雜的管理員密碼。修改serv-u的banner信息,設(shè)置被動(dòng)模式端口范圍(4001—4003)在本地服務(wù)器中設(shè)置中做好相關(guān)安全設(shè)置:包括檢查匿名密碼,禁用反超時(shí)調(diào)度,攔截“FTP bounce”攻擊和FXP,對于在30秒內(nèi)連接超過3次的用戶攔截10分鐘。域中的設(shè)置為:要求復(fù)雜密碼,目錄只使用小寫字母,高級中設(shè)置取消允許使用MDTM命令更改文件的日期。
更改serv-u的啟動(dòng)用戶:在系統(tǒng)中新建一個(gè)用戶,設(shè)置一個(gè)復(fù)雜點(diǎn)的密碼,不屬于任何組。將servu的安裝目錄給予該用戶完全控制權(quán)限。建立一個(gè)FTP根目錄,需要給予這個(gè)用戶該目錄完全控制權(quán)限,因?yàn)樗械膄tp用戶上傳,刪除,更改文件都是繼承了該用戶的權(quán)限,否則無法操 作文 件。另外需要給該目錄以上的上級目錄給該用戶的讀取權(quán)限,否則會在連接的時(shí)候出現(xiàn)530 Not logged in, home directory does not exist。比如在測試的時(shí)候ftp根目錄為d:soft,必須給d盤該用戶的讀取權(quán)限,為了安全取消d盤其他文件夾的繼承權(quán)限。而一般的使用默認(rèn)的system啟動(dòng)就沒有這些問題,因?yàn)閟ystem一般都擁有這些權(quán)限的。
web服務(wù)器安全設(shè)置五、數(shù)據(jù)庫服務(wù)器的安全設(shè)置
對于專用的MSSQL數(shù)據(jù)庫服務(wù)器,按照上文所講的設(shè)置TCP/IP篩選和IP策略,對外只開放1433和5631端口。對于MSSQL首先需要為sa設(shè)置一個(gè)強(qiáng)壯的密碼,使用混合身份驗(yàn)證,加強(qiáng)數(shù)據(jù)庫日志的記錄,審核數(shù)據(jù)庫登陸事件的”成功和失敗”.刪除一些不需要的和危險(xiǎn)的OLE自動(dòng)存儲過程(會造成 企業(yè)管理 器中部分功能不能使用),這些過程包括如下:
Sp_OAcreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的注冊表訪問過程,包括有:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue
Xp_regenumvalues Xp_regread Xp_regremovemultistring
Xp_regwrite
去掉其他系統(tǒng)存儲過程,如果認(rèn)為還有威脅,當(dāng)然要小心drop這些過程,可以在測試機(jī)器上測試,保證正常的系統(tǒng)能完成工作,這些過程包括:
xp_cmdshell xp_dirtree xp_dropwebtask sp_addsrvrolemember
xp_makewebtask xp_runwebtask xp_subdirs sp_addlogin
sp_addextendedproc
在實(shí)例屬性中選擇TCP/IP協(xié)議的屬性。選擇隱藏 SQL Server 實(shí)例可防止對1434端口的探測,可修改默認(rèn)使用的1433端口。除去數(shù)據(jù)庫的guest賬戶把未經(jīng)認(rèn)可的使用者據(jù)之在外。 例外情況是master和 tempdb 數(shù)據(jù)庫,因?yàn)閷λ麄僩uest帳戶是必需的。另外注意設(shè)置好各個(gè)數(shù)據(jù)庫用戶的權(quán)限,對于這些用戶只給予所在數(shù)據(jù)庫的一些權(quán)限。在程序中不要用sa用戶去連接任何數(shù)據(jù)庫。網(wǎng)絡(luò)上有建議大家使用協(xié)議加密的,千萬不要這么做,否則你只能重裝MSSQL了。
查看 /etc/passwd 文件查看是否有無用的賬號,如果存在則刪除,降低安全風(fēng)險(xiǎn)。
操作步驟:
操作步驟:
操作步驟
操作步驟
使用命令 vim /etc/pam.d/su 修改配置文件,在配置文件中添加行。
例如,只允許admin組用戶su到root,則添加 auth required pam_wheel.so group=admin 。
【可選】為了方便操作,可配置admin支持免密sudo:在 /etc/sudoers 文件中添加 admin ALL=(ALL) NOPASSWD:ALL
為了防止使用"su"命令將當(dāng)前用戶環(huán)境變量帶入其它用戶,修改/etc/login.defs添加ALWAYS_SET_PATH=yes并保存。
操作步驟
操作步驟:
查看所有服務(wù)列表 systemctl list-units --type=service
操作步驟
使用命令 vim /etc/ssh/sshd_config 編輯配置文件。
配置文件修改完成后,重啟sshd服務(wù)生效(systemctl restart sshd)。
操作步驟
修改/etc/profile 配置文件,添加行 umask 027 , 即新創(chuàng)建的文件屬主擁有讀寫執(zhí)行權(quán)限,同組用戶擁有讀和執(zhí)行權(quán)限,其他用戶無權(quán)限。
操作步驟
修改 /etc/profile 配置文件,設(shè)置為 TMOUT=600, 表示超時(shí)10分鐘無操作自動(dòng)退出登錄。
操作步驟
Linux系統(tǒng)默認(rèn)啟用以下類型日志,配置文件為 /etc/rsyslog.conf:
通過上述步驟,可以在 /var/log/history 目錄下以每個(gè)用戶為名新建一個(gè)文件夾,每次用戶退出后都會產(chǎn)生以用戶名、登錄IP、時(shí)間的日志文件,包含此用戶本次的所有操作(root用戶除外)
服務(wù)器安全加固 - Linux - wubolive - 博客園
1、打開DC服務(wù)器開始菜單。
2、點(diǎn)擊開始菜單中的“Windows Powershell”圖標(biāo)。
3、Windows Powershell程序窗口自動(dòng)打開。
4、在Powershell程序中輸入 dcdiag。
5、點(diǎn)擊回車,指令自動(dòng)運(yùn)行,并開始對活動(dòng)目錄環(huán)境進(jìn)行測試。
6、從圖片中可以看到當(dāng)前的演示環(huán)境沒有任何問題。
本文將向你介紹基本的 Linux 服務(wù)器安全知識。雖然主要針對 Debian/Ubuntu,但是你可以將此處介紹的所有內(nèi)容應(yīng)用于其他 Linux 發(fā)行版。我也鼓勵(lì)你研究這份材料,并在適當(dāng)?shù)那闆r下進(jìn)行擴(kuò)展。
1、更新你的服務(wù)器
保護(hù)服務(wù)器安全的第一件事是更新本地存儲庫,并通過應(yīng)用最新的修補(bǔ)程序來升級操作系統(tǒng)和已安裝的應(yīng)用程序。
在 Ubuntu 和 Debian 上:
$ sudo apt update sudo apt upgrade -y
在 Fedora、CentOS 或 RHEL:
$ sudo dnf upgrade
2、創(chuàng)建一個(gè)新的特權(quán)用戶
接下來,創(chuàng)建一個(gè)新的用戶帳戶。永遠(yuǎn)不要以 root 身份登錄服務(wù)器,而是創(chuàng)建你自己的帳戶(用戶),賦予它 sudo 權(quán)限,然后使用它登錄你的服務(wù)器。
首先創(chuàng)建一個(gè)新用戶:
$ adduser username
通過將 sudo 組(-G)附加(-a)到用戶的組成員身份里,從而授予新用戶帳戶 sudo 權(quán)限:
$ usermod -a -G sudo username
3、上傳你的 SSH 密鑰
你應(yīng)該使用 SSH 密鑰登錄到新服務(wù)器。你可以使用 ssh-copy-id 命令將 預(yù)生成的 SSH 密鑰 上傳到你的新服務(wù)器:
$ ssh-copy-id username@ip_address
現(xiàn)在,你無需輸入密碼即可登錄到新服務(wù)器。
4、安全強(qiáng)化 SSH
接下來,進(jìn)行以下三個(gè)更改:
禁用 SSH 密碼認(rèn)證
限制 root 遠(yuǎn)程登錄
限制對 IPv4 或 IPv6 的訪問
使用你選擇的文本編輯器打開 /etc/ssh/sshd_config 并確保以下行:
PasswordAuthentication yes
PermitRootLogin yes
改成這樣:
PasswordAuthentication no
PermitRootLogin no
接下來,通過修改 AddressFamily 選項(xiàng)將 SSH 服務(wù)限制為 IPv4 或 IPv6。要將其更改為僅使用 IPv4(對大多數(shù)人來說應(yīng)該沒問題),請進(jìn)行以下更改:
AddressFamily inet
重新啟動(dòng) SSH 服務(wù)以啟用你的更改。請注意,在重新啟動(dòng) SSH 服務(wù)之前,與服務(wù)器建立兩個(gè)活動(dòng)連接是一個(gè)好主意。有了這些額外的連接,你可以在重新啟動(dòng) SSH 服務(wù)出錯(cuò)的情況下修復(fù)所有問題。
在 Ubuntu 上:
$ sudo service sshd restart
在 Fedora 或 CentOS 或任何使用 Systemd 的系統(tǒng)上:
$ sudo systemctl restart sshd
5、啟用防火墻
現(xiàn)在,你需要安裝防火墻、啟用防火墻并對其進(jìn)行配置,以僅允許你指定的網(wǎng)絡(luò)流量通過。(Ubuntu 上的) 簡單的防火墻 (UFW)是一個(gè)易用的 iptables 界面,可大大簡化防火墻的配置過程。
你可以通過以下方式安裝 UFW:
$ sudo apt install ufw
默認(rèn)情況下,UFW 拒絕所有傳入連接,并允許所有傳出連接。這意味著服務(wù)器上的任何應(yīng)用程序都可以訪問互聯(lián)網(wǎng),但是任何嘗試訪問服務(wù)器的內(nèi)容都無法連接。
首先,確保你可以通過啟用對 SSH、HTTP 和 HTTPS 的訪問來登錄:
$ sudo ufw allow ssh
$ sudo ufw allow http
$ sudo ufw allow https
然后啟用 UFW:
$ sudo ufw enable
你可以通過以下方式查看允許和拒絕了哪些服務(wù):
$ sudo ufw status
如果你想禁用 UFW,可以通過鍵入以下命令來禁用:
$ sudo ufw disable
你還可以(在 RHEL/CentOS 上)使用 firewall-cmd ,它已經(jīng)安裝并集成到某些發(fā)行版中。
6、安裝 Fail2ban
Fail2ban 是一種用于檢查服務(wù)器日志以查找重復(fù)或自動(dòng)攻擊的應(yīng)用程序。如果找到任何攻擊,它會更改防火墻以永久地或在指定的時(shí)間內(nèi)阻止攻擊者的 IP 地址。
你可以通過鍵入以下命令來安裝 Fail2ban:
$ sudo apt install fail2ban -y
然后復(fù)制隨附的配置文件:
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
重啟 Fail2ban:
$ sudo service fail2ban restart
這樣就行了。該軟件將不斷檢查日志文件以查找攻擊。一段時(shí)間后,該應(yīng)用程序?qū)⒔⑾喈?dāng)多的封禁的 IP 地址列表。你可以通過以下方法查詢 SSH 服務(wù)的當(dāng)前狀態(tài)來查看此列表:
$ sudo fail2ban-client status ssh
7、移除無用的網(wǎng)絡(luò)服務(wù)
幾乎所有 Linux 服務(wù)器操作系統(tǒng)都啟用了一些面向網(wǎng)絡(luò)的服務(wù)。你可能希望保留其中大多數(shù),然而,有一些你或許希望刪除。你可以使用 ss 命令查看所有正在運(yùn)行的網(wǎng)絡(luò)服務(wù):(LCTT 譯注:應(yīng)該是只保留少部分,而所有確認(rèn)無關(guān)的、無用的服務(wù)都應(yīng)該停用或刪除。)
$ sudo ss -atpu
ss 的輸出取決于你的操作系統(tǒng)。下面是一個(gè)示例,它顯示 SSH(sshd)和 Ngnix(nginx)服務(wù)正在偵聽網(wǎng)絡(luò)并準(zhǔn)備連接:
tcp LISTEN 0 128 *:http *:* users:(("nginx",pid=22563,fd=7))
tcp LISTEN 0 128 *:ssh *:* users:(("sshd",pid=685,fd=3))
刪除未使用的服務(wù)的方式因你的操作系統(tǒng)及其使用的程序包管理器而異。
要在 Debian / Ubuntu 上刪除未使用的服務(wù):
$ sudo apt purge service_name
要在 Red Hat/CentOS 上刪除未使用的服務(wù):
$ sudo yum remove service_name
再次運(yùn)行 ss -atup 以確認(rèn)這些未使用的服務(wù)沒有安裝和運(yùn)行。
以上文章來源,歡迎一起交流討論學(xué)習(xí)。