① 實現數據完整性有那些方法
數據的完整性靠添加約束實現。實現完整性約束的方法依類別不同而不同。完整性約束可以分為兩大類:靜態約束和動態約束。
1、靜態約束
靜態約束是對資料庫狀態的約束,有可分為固定約束、隱含約束和顯示約束。
2、固定約束
是數據模型固有的約束,如關系的屬性是原子的,即滿足INF的約束。固有約束在DBMS實現時已經考慮。
3、隱含約束
指隱含於數據模式中的約束,一般用數據定義語言(DDL)語句說明,並存於數據目錄中。例如,域完整性約束、實體完整性以及參照完整性約束,都由相應的DDL語句說明。
4、顯示約束
固有約束、隱含約束是最基本的約束,但概括不了所有的約束。數據完整性是多種多樣的,且依賴於數據的語義與應用,這些約束只有顯式地說明,故稱顯式約束。顯式約束的說明一般有三種方法:
①用過程說明約束。這種方法不約束的說明和檢驗交給應用程序,應用程序中可以插入一些過程,以檢驗資料庫更新是否違反給定的約束,如果違反約束,則回滾事務。檢驗約束的過程一般用通用高級程序語言編寫,可以表達各式各樣的約束。這是一種普遍方法。
②用語言說明約束。斷言指資料庫狀態必須滿足的邏輯條件。資料庫完整性約束可以看成一系列斷言的集合。為了表示約束,DBMS須提供斷言說明語言。
③用觸發子表示約束。觸發子是一個軟體機制,其功能相當於WHENEVERTHEN,即一旦給定條件成立,系統就引發相應的動作。利用觸發子可以表示約束,以違反約束作為條件,以違反約束的處理作為動作。
動作不限於回滾事務,也可以給用戶一個消息或過程。在系統中定義一批觸發之後,就會監督資料庫狀態,一旦出現違反約束的更新,就會引發相應的動作。
5、動態約束
動態約束不是對資料庫狀態的約束,而是資料庫從一個狀態變為另一個狀態時應遵守的約束,例如在更新職工表時,工資、工齡這些屬性值一般只會增加,不會減少。動態約束一般也是顯式說明的。
在上述約束中,固有約束必然實施,隱含約束在大部分現代DBMS中基本實施或部分實施,顯式和動態約束只在個別DBMS中實施。
(1)web保證數據完整性擴展閱讀
知識點①:對數據操作語句來說,數據存儲到資料庫中,如果我們不對其進行分析和處理的話那麼數據就是沒有價值的,這種用戶對數據中數據的操作大多數查詢和修改的,修改包括了增加新的數據刪除舊的數據以及更改已有的數據。
那麼SQL語言提供了功能強大的數據查詢以及修改功能,那麼他的查詢功能是html語言的核心功能,這是資料庫中使用得最多的操作,那麼查詢語句也是SQL語言中比較復雜的一個語句。
知識點②:其實查詢語句是資料庫操作中最基本和最重要的女婿之一,它的功能是從資料庫中檢索滿足條件的數據,查詢的數據源可以來自一張表也可以來自多張表甚至是仕途,那麼他的查詢功能是由領航。
或者多煮幾路組成的一個記錄集合,並允許選擇一個或多個欄位來作為,輸出欄位了,查詢語句的基本結構可以描述,在一些結構中,我們可以對指定的輸出欄位以及用於指定數據的來源,那麼他有什麼單表查詢呢,數據源只設計一張表查詢的話是為了幫助讀者更好地理解SQL語句中的執行情況,這里指大部分查詢語句均列出來返回了結果。
② Web資料庫的層次體系
當前,Internet/Intranet技術發展異常迅速,越來越多的資料庫應用軟體運行在Internet/Intranet環境下。在此之前,資料庫應用系統的發展經歷了單機結構、集中式結構、客戶機/伺服器(C/S)結構之後,隨著Internet的普及,又出現了瀏覽器/伺服器(B/S)結構與多層結構。在構造一個應用系統時,首先考慮的是系統的體系結構,採用哪種結構取決於系統的網路環境、應用需求等因素。
客戶機/伺服器結構
1.二層C/S結構
二層C/S結構是當前非常流行的資料庫系統結構,在這種結構中,客戶機提出請求,伺服器對客戶機的服務請求做出回答。它把界面和數據處理操作分開在前端(客戶端)和後端(伺服器端),這個主要特點使得C/S系統的工作速度主要取決於進行大量數據操作的伺服器,而不是前端的硬體設備;同時也大大降低了對網路傳輸速度的要求,因為只須客戶端把服務請求發送給資料庫伺服器,資料庫伺服器只把服務結果傳回前端。
在設計時,對數據可能有如下不同的處理形式。
(1)在處理時,客戶機先向伺服器索取數據,然後釋放資料庫,即客戶機發出的是文件請求,在客戶機端處理數據,最後將結果送回伺服器。這種處理方式的缺點很明顯:所有的應用處理都在客戶端完成,這就要求客戶端的計算機必須有足夠的能力,以便執行需要的任何程序。更為糟糕的是,由於所有的處理均在客戶端完成,每次運行時都要將文件整體傳送到客戶端,然後才能執行。如:Student表中有30 000條記錄,客戶端發出命令:
Select * From Student Where Sno='200101'
這條命令將要求伺服器將Student表中的所有記錄傳送到客戶端,然後在客戶端執行查詢,結果只用到一條記錄;如果查詢的記錄不存在,網路傳輸的數據實際上是無 用的。如此大的數據傳輸量是不可想像的。因此,人們提出了在伺服器中能夠執行部分代碼的客戶機/伺服器結構。
(2)在處理時,客戶機接受用戶要求,並發給伺服器;在伺服器端處理用戶要求,最後將結果傳回客戶機顯示或列印。這種處理方式網路通信量較小。客戶機向伺服器發出的是處理請求,而不是文件請求,處理請求中的代碼在伺服器端執行後向客戶機傳送處理後的結果。
這樣,為了特定任務,客戶機上的程序和伺服器上的程序協同工作:客戶機端的代碼用於完成用戶的輸入輸出及數據的檢查,而伺服器端的代碼完成對資料庫的操作。
客戶機/伺服器結構的另一個主要特點在於軟體、硬體平台的無關性。資料庫伺服器上的資料庫管理系統集中負責管理數據,它向客戶端提供一個開放的使用環境,客戶端通過資料庫介面,如ODBC(開放資料庫連接)和SQL語言訪問資料庫,也就是說,不管客戶端採用什麼樣的硬體和軟體,它只要能夠通過網路和資料庫介面程序連接到伺服器,就可對資料庫進行訪問。
在客戶機/伺服器結構中,常把客戶機稱為前台,而把伺服器端稱為後台。前台應用程序的功能包括用戶界面、接收用戶數據、處理應用邏輯、向後台發出請求、同時接收後台返回的結果,最後再將返回的結果按一定的格式或方式顯示給用戶。而後台伺服器則負責共享外部設備、存取共享數據、響應前台客戶端的請求並回送結果等工作。前台的應用程序和數據一般是用戶專用的,而後台的數據和代碼是所有用戶可以共享的。
由於資料庫伺服器不僅要管理共享數據,保證數據的完整性,還要執行一部分代碼,完成客戶端的一些處理請求,所以對用於伺服器的計算機提出較高的要求。最好要採用一台專用的伺服器,有較快的處理速度,有大容量的硬碟和內存,支持磁帶等大容量的存儲設備。
上面講的客戶機/伺服器結構將應用分在了客戶機、伺服器兩級,稱其為兩層客戶機/ 伺服器結構。總之,兩層C/S結構的基本工作方式是客戶程序向資料庫伺服器發送SQL請求,伺服器返回數據或結果。
這種C/S結構有兩種實現方式,一種是客戶來完成表示部分和應用邏輯部分,而伺服器完成數據訪問部分,這種情況是以客戶為中心的,適用於應用相對簡單、數據訪問量不是很大的情況。另一種是以伺服器為中心的,把一些重要的應用邏輯部分放到伺服器上,這樣可充分利用伺服器的計算能力,減少網路上需要傳送的數據。通常以存儲過程和觸發器的形式出現,但存儲過程都依賴於特定資料庫,不同資料庫之間很難移植,而三層C/S結構可以很好地解決這個問題。
注意:觸發器(trigger)是資料庫系統中,一個在插入、刪除、修改操作之後運行的記錄級事件代碼。不同的事件可以對應不同的動作。通常有3種類型的觸發器:INSERT觸發器、DELETE觸發器和UPDATE觸發器。
2.三層C/S結構
由於兩層結構的客戶機/伺服器系統本身固有的缺陷,使得它不能應用於一些大型、結構較為復雜的系統中,故出現了3層結構的客戶機/伺服器系統,將兩層結構中伺服器部分和客戶端部分的應用單獨劃分出來,即採用「客戶機—應用伺服器—資料庫伺服器」結構(如圖1-8所示)。典型的資料庫應用可分為三部分:表示部分、應用邏輯(商業邏輯)部分和數據訪問部分,三層結構便是對應於這三部分。
其中,應用伺服器和資料庫伺服器可位於同一主機,也可位於不同主機。客戶機是應用的用戶介面部分,負責用戶與應用程序的交互,運行在客戶機端的軟體也稱為表示層軟體。應用伺服器存放業務邏輯層(也稱為功能層)軟體,是應用邏輯處理的核心,實現具體業務。它能響應客戶機請求,完成業務處理或復雜計算。若有資料庫訪問任務時,應用伺服器層可根據客戶機的要求向資料庫伺服器發送SQL指令。應用邏輯變得復雜或增加新的應用時,可增加新的應用伺服器。資料庫伺服器便是用來執行功能層送來的SQL指令,完成數據的存儲、訪問和完整性約束等。操作完成後再通過應用伺服器向客戶機返回操作結果。
瀏覽器/伺服器結構
隨著Internet技術和Web技術的廣泛應用,C/S結構已無法滿足人們的需要。因為在典型C/S體系中,通常為客戶安裝前端應用程序的做法已不再現實,並且限制客戶端工作環境只能基於Windows、Macintosh或UNIX等操作系統也不切實際。於是基於瀏覽器/伺服器結構(Browser/Server)的系統應運而生。
採用B/S結構後,在客戶端只需安裝一個通用的瀏覽器即可,不再受具體操作系統和硬體的制約,實現了跨平台的應用。
基於B/S結構的典型應用通常採用三層結構:「瀏覽器—Web伺服器—資料庫伺服器」,B/S模式的工作原理是:通過瀏覽器以超文本的形式向Web伺服器提出訪問資料庫的請求,Web伺服器接受客戶請求後,激活對應的CGI程序將超文本HTML語言轉化為SQL語法,將這個請求交給資料庫,資料庫伺服器得到請求後,進行數據處理,然後將處理結果集返回給CGI程序。CGI再將結果轉化為HTML,並由Web伺服器轉發給請求方的瀏覽器,如圖1-9所示。
在B/S模式中,客戶端的標准配置是瀏覽器,如IE;業務功能處理由獨立的應用伺服器處理,Web伺服器成為應用處理的標准配置;數據處理仍然由資料庫伺服器處理。
從本質上講,B/S結構與傳統的C/S結構都是以同一種請求和應答方式來執行應用的,區別主要在於:C/S是一種兩層或三層結構模式,其客戶端集中了大量應用軟體,而B/S是一種基於超鏈接(HyperLink)、HTML、Java的三級或多級C/S結構,客戶端僅需單一的瀏覽器軟體,是一種全新的體系結構,解決了跨平台問題。到目前,這兩種結構在不同方面都有著廣泛的應用。雖然C/S結構在Internet環境下明顯不如B/S結構具有優勢,但它在區域網環境下仍具有優勢。
Internet/Intranet信息系統的多層體系結構
多層結構應用軟體與傳統的兩層結構應用軟體相比,有可伸縮性好、可管理性強、安全性高、軟體重用性好等諸多優點,如何在Internet/Intranet環境下構建應用軟體體系結構就成為一個非常重要的問題,也是現今軟體體系研究的一個新熱點。
目前各種技術層出不窮,如最初的靜態HTML頁面、簡單的CGI網關程序、Java Applet程序,現在的ASP等Web資料庫技術,還有動態的Java在線游戲及PHP技術等。
實際上,多層的概念是由Sun公司提出來的。Sun公司提出的多層應用體系包括4層:客戶層、頂端Web服務層、應用服務層和資料庫層。其中頂端Web服務層是Sun公司多層體系結構中非常重要的一層,它主要起代理和緩存的作用。頂端Web伺服器的作用是緩存本地各客戶機經常使用的Java Applet程序和靜態數據,通常被放置在客戶機所在的區域網內,起到一個Java Applet主機(向Web瀏覽器傳送Java Applet程序的計算機)和訪問其他服務的代理作用。與普通代理伺服器的作用相同。構建多層結構應用軟體時,選用Java平台是一個很好的選擇,因為它跨越各應用平台。總之,在Java平台上構建多層應用軟體體系代表著今後Internet/Intranet應用的趨勢。
③ 請問什麼是數據的完整性如何保證數據的完整性
數據完整性(Data Integrity)是
指數據的精確性(Accuracy) 和可靠性(Reliability)。它是應防止資料庫中存在不符合語義規定的數據和防止因錯誤信息的輸入輸出造成無效操作或錯誤信息而提出的。數據完整性分為四類:實體完整性(Entity Integrity)、域完整
性(Domain Integrity)、參照完整性(Referential Integrity)、用戶定義的完整性(User-definedIntegrity)。
保證數據的完整性:
1. 用約束而非商務規則強制數據完整性
如果你按照商務規則來處理需求,那麼你應當檢查商務層次/用戶界面:如果商務規則以後發生變化,那麼只需要進行更新即可。
假如需求源於維護數據完整性的需要,那麼在資料庫層面上需要施加限制條件。
如果你在數據層確實採用了約束,你要保證有辦法把更新不能通過約束檢查的原因採用用戶理解的語言通知用戶界面。除非你的欄位命名很冗長,否則欄位名本身還不夠。 — Lamont Adams
只要有可能,請採用資料庫系統實現數據的完整性。這不但包括通過標准化實現的完整性而且還包括數據的功能性。在寫數據的時候還可以增加觸發器來保證數據的正確性。不要依賴於商務層保證數據完整性;它不能保證表之間(外鍵)的完整性所以不能強加於其他完整性規則之上。
— Peter Ritchie
2. 分布式數據系統
對分布式系統而言,在你決定是否在各個站點復制所有數據還是把數據保存在一個地方之前應該估計一下未來5 年或者10 年的數據量。當你把數據傳送到其他站點的時候,最好在資料庫欄位中設置一些標記。在目的站點收到你的數據之後更新你的標記。為了進行這種數據傳輸,請寫下你自己的批處理或者調度程序以特定時間間隔運行而不要讓用戶在每天的工作後傳輸數據。本地拷貝你的維護數據,比如計算常數和利息率等,設置版本號保證數據在每個站點都完全一致。
— Suhair TechRepublic
3. 強制指示完整性
沒有好辦法能在有害數據進入資料庫之後消除它,所以你應該在它進入資料庫之前將其剔除。激活資料庫系統的指示完整性特性。這樣可以保持數據的清潔而能迫使開發人員投入更多的時間處理錯誤條件。
— kol
4. 關系
如果兩個實體之間存在多對一關系,而且還有可能轉化為多對多關系,那麼你最好一開始就設置成多對多關系。從現有的多對一關系轉變為多對多關系比一開始就是多對多關系要難得多。
— CS Data Architect
5. 採用視圖
為了在你的資料庫和你的應用程序代碼之間提供另一層抽象,你可以為你的應用程序建立專門的視圖而不必非要應用程序直接訪問數據表。這樣做還等於在處理資料庫變更時給你提供了更多的自由。
— Gay Howe
6. 給數據保有和恢復制定計劃
考慮數據保有策略並包含在設計過程中,預先設計你的數據恢復過程。採用可以發布給用戶/開發人員的數據字典實現方便的數據識別同時保證對數據源文檔化。編寫在線更新來「更新查詢」供以後萬一數據丟失可以重新處理更新。
— kol
7. 用存儲過程讓系統做重活
解決了許多麻煩來產生一個具有高度完整性的資料庫解決方案之後,我所在的團隊決定封裝一些關聯表的功能組,提供一整套常規的存儲過程來訪問各組以便加快速度和簡化客戶程序代碼的開發。在此期間,我們發現3GL 編碼器設置了所有可能的錯誤條件,比如以下所示:
SELECT Cnt = COUNT (*)
FROM [<Table>]
WHERE [<primary key column>] = <new value>
IF Cnt = 0
BEGIN
INSERT INTO [<Table>]
( [< primary key column>] )
VALUES ( <New value> )
END
ELSE
BEGIN
<indicate plication error>
END
而一個非3GL 編碼器是這樣做的:
INSERT INTO [<Table>]
( [< primary key column>] )
VALUES
( <New value> )
IF @@ERROR = 2627 -- Literal error code for Primary Key Constraint
BEGIN
<indicate plication error>
END
第2 個程序簡單多了,而且事實上,利用了我們給資料庫的功能。雖然我個人不喜歡使用嵌入文字(2627)。但是那樣可以很方便地用一點預先處理來代替。資料庫不只是一個存放數據的地方,它也是簡化編碼之地。
— a-smith
8. 使用查找
控制數據完整性的最佳方式就是限制用戶的選擇。只要有可能都應該提供給用戶一個清晰的價值列表供其選擇。這樣將減少鍵入代碼的錯誤和誤解同時提供數據的一致性。某些公共數據特別適合查找:國家代碼、狀態代碼等
④ 別人給我發的web服務端,會不會泄露資料庫的數據
會,但是如果WEB伺服器租用用戶使用了SSL證書的話,客戶端和服務端之間的通信內容已被加密,第三方再想窺探或篡改難上加難,HTTPS是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,可防止數據在傳輸過程中不被竊取、改變,確保數據的完整性。
所以,如果安裝了SSL 證書的話,是不需要擔心泄露數據的。
vTrus是天威誠信建設的通過國際WebTrust審計認證的,國產自主CA品牌,將以國際標准化的運營管理和服務水平,為中國企業網站可信認證,提供「安全」動力!
⑤ 無線路由器Web認證設置教程
作為不同網路之間互相連接的樞紐,路由器系統構成了基於TCP/IP 的國際互聯網路Internet 的主體脈絡,也可以說,路由器構成了Internet的骨架。目前越來越多的服務場所採用了無線路由器Web認證來實現上網登錄,那麼,無線路由器Web認證怎麼設置?對此,本文就以TP-LINK路由器為例,來為大家介紹Web認證無線路由器的設置方法
Web認證TP-LINK路由器步驟:
Web認證的設置第一步、web認證配置
舉例型號。TL-ER6520G
登錄路由器管理界面,點擊 認證管理 >> 認證設置 >> Web認證,具體設置如下。
注意。認證方式若選擇為“一鍵上網”,則無需第二步“新增用戶”。
Web認證的設置第二步、新增用戶
點擊 認證管理 >> 用戶管理 >> 本地用戶,點擊 新增,如下。
用戶設置如下。
添加完成用戶後,即可開始驗證認證效果。
Web認證的設置第三步、連接無線上網
1.連接無線信號
無線終端(手機)連接無線網路後,跳轉到認證登錄頁面(部分Android手機需要打開瀏覽器),如下。
2.登錄上網
輸入用戶名、密碼,點擊 登錄 後,無線終端就可以免費上網。
至此,Web認證設置完成,無線終端只需要連接Wi-Fi信號,輸入對應的認證用戶名密碼即可上網。
如果您想查看通過認證的終端列表,可以點擊 認證管理 >> 認證狀態,如下。
相關閱讀:路由器安全特性關鍵點
由於路由器是網路中比較關鍵的設備,針對網路存在的各種安全隱患,路由器必須具有如下的安全特性:
(1)可靠性與線路安全 可靠性要求是針對故障恢復和負載能力而提出來的。對於路由器來說,可靠性主要體現在介面故障和網路流量增大兩種情況下,為此,備份是路由器不可或缺的手段之一。當主介面出現故障時,備份介面自動投入工作,保證網路的正常運行。當網路流量增大時,備份介面又可承當負載分擔的任務。
(2)身份認證路由器中的身份認證主要包括訪問路由器時的身份認證、對端路由器的身份認證和路由信息的身份認證。
(3)訪問控制對於路由器的訪問控制,需要進行口令的分級保護。有基於IP地址的訪問控制和基於用戶的訪問控制。
(4)信息隱藏與對端通信時,不一定需要用真實身份進行通信。通過地址轉換,可以做到隱藏網內地址,只以公共地址的方式訪問外部網路。除了由內部網路首先發起的連接,網外用戶不能通過地址轉換直接訪問網內資源。
(5)數據加密
為了避免因為數據竊聽而造成的信息泄漏,有必要對所傳輸的信息進行加密,只有與之通信的對端才能對此密文進行解密。通過對路由器所發送的報文進行加密,即使在Internet上進行傳輸,也能保證數據的私有性、完整性以及報文內容的真實性。
(6)攻擊探測和防範
路由器作為一個內部網路對外的介面設備,是攻擊者進入內部網路的第一個目標。如果路由器不提供攻擊檢測和防範,則也是攻擊者進入內部網路的一個橋梁。在路由器上提供攻擊檢測,可以防止一部分的攻擊。
(7)安全管理
⑥ Web安全問題解答
很多新手都覺得自己的電腦web經常被木馬侵襲,所以下面我為大家帶來電腦基礎知識學習之Web安全問題,讓你了解下如何安全的保護好自己的電腦。
1、什麼叫Web應用系統?
答:Web應用系統就是利用各種動態Web技術開發的,基於B/S(瀏覽器/伺服器)模式的事務處理系統。用戶直接面對的是客戶端瀏覽器,使用Web應用系統時,用戶通過瀏覽器發出的請求,其之後的事務邏輯處理和數據的邏輯運算由伺服器與資料庫系統共同完成,對用戶而言是完全透明的。運算後得到的結果再通過網路傳輸給瀏覽器,返回給用戶。比如:ERP系統、CRM系統以及常見的網站系統(如電子政務網站、企業網站等)都是Web應用系統。
2、為什麼Google把我的網站列為惡意網站
答:Google在對網站內容進行搜索時,同時也會檢查是否含有惡意軟體或代碼(這些惡意軟體或代碼可能威脅該網站的訪問者)。如果該網站存在這樣的惡意軟體或代碼,就會在用戶搜索到該網站時,加上一個標記:“該網站可能含有惡意軟體,有可能會危害您的電腦”。這將會使網站信譽受損,並導致潛在的用戶流失。
3、Web威脅為什麼難以防範
答:針對Web的攻擊已經成為全球安全領域最大的挑戰,主要原因有如下兩點:
1. 企業業務迅速更新,需要大量的Web應用快速上線。而由於資金、進度、意識等方面的影響,這些應用沒有進行充分安全評估。
2. 針對Web的攻擊會隱藏在大量正常的業務行為中,而且使用各種變形偽裝手段,會導致傳統的防火牆和基於特徵的入侵防禦系統無法發現和阻止這種攻擊。
4、黑客為什麼要篡改網站頁面
答:當黑客獲取網站的控制許可權後,往往會更改網站頁面,可能的動機有:
1. 宣稱政治主張;
2. 炫耀技術,建立“聲望”;
3. 宣洩情緒;
4. 經濟利益,通過網站釋放木馬,從而獲取經濟利益。
5、黑客實施網站掛馬的目的是什麼
答:網站掛馬的主要目的是控制訪問該網站的用戶的計算機,從而可以進一步獲取用戶的計算機隱私信息而獲利,或者將這些用戶的計算機作為“肉雞”,對 其它 伺服器或網路進行DDos攻擊。
6、為什麼我網站的資料庫表內容被大量替換?
答:如果排除了管理員誤操作的可能性,則可能是網站伺服器被自動化攻擊工具(如SQL注入工具等)攻擊的結果。目前已經有自動化的工具對網站進行攻擊,如果網站存在漏洞的話,攻擊工具能夠獲得對網站資料庫訪問的許可權。如果發現這種情況,應該仔細核查網站伺服器和資料庫伺服器日誌,找出更改記錄。
7、在Web威脅防禦中防火牆的優點和不足
答:防火牆可以過濾掉非業務埠的數據,防止非Web服務出現的漏洞,目前市場上可選擇的防火牆品牌也較多。但對於目前大量出現在應用層面上的SQL注入和XSS漏洞,防火牆無法過濾,因而無法保護Web伺服器所面臨的應用層威脅。
8、常見發布系統之IIS
答:IIS 是Internet Information Server的縮寫,是由微軟開發的一種Web伺服器(Web server)產品,用以支持HTTP、FTP和SMTP服務發布。 它主要運行在微軟的 操作系統 之上,是最流行的Web伺服器軟體之一。
9、常見Web伺服器之Apache
答:Apache是Web伺服器軟體。它可以運行在幾乎所有廣泛使用的計算機平台上。Apache源於NCSAhttpd伺服器,經過多次修改,已成為世界上最流行的Web伺服器軟體之一。
10、Apache是不是比IIS要安全
答:早期的IIS在安全性方面存在著很大的問題,如果使用默認設置,黑客可以輕松趁虛而入。不過在IIS6中,微軟公司對其安全方面進行了大幅改進。只要保證操作系統補丁更新及時,就可以將網站安全系數盡可能地提高。
Apache在安全方面一直做得比較好,更主要的原因是很多用戶都是在linux系統下使用Apache。相對於微軟的操作系統,Linux系統被發布的安全按漏洞更少一些。
從技術角度講,兩個Web伺服器的安全性沒有本質區別,一個完整的Web系統的安全性更取決於Web程序的安全性以及Web伺服器配置的正確性。
11、什麼叫應用防火牆
答:應用防火牆的概念在上個世紀九十年代就已經被提出,但在最近幾年才真正走向成熟和應用。應用防火牆的概念與網路防火牆相對,網路防火牆關注網路層的訪問控制,應用防火牆則關注應用層數據的過濾與控制。
12、什麼叫網站防篡改系統
答:網站防篡改系統通過實時監控來保證Web系統的完整性,當監控到Web頁面被異常修改後能夠自動恢復頁面。網站放篡改系統由於其設計理念的限制,對靜態頁面的防護能力比較好,對動態頁面的防護則先天不足。
13、我的Web伺服器被訪問速度變慢,經常出現連接失敗的現象,可能是什麼原因造成的呢?
答:這可能有兩個方面的情況,一種是網路方面的原因,如運營商的線路故障,或帶寬消耗型的DDOS攻擊;另外一種情況是伺服器方面的原因,如感染病毒,或資源消耗型的拒絕服務攻擊。
14、我的Web伺服器部署了木馬查殺軟體,為什麼還被掛了木馬?
答:所謂的網頁被掛馬,很多情況下並不是有木馬程序或代碼被放到了Web伺服器上,而是有一段跳轉代碼(本身不包含攻擊信息)被放在了Web伺服器上網頁中。當遠程用戶訪問帶有跳轉代碼的頁面時,將會執行這段代碼,從另外一個地址下載並執行木馬。所以,即使在Web伺服器上部署了木馬查殺軟體,也會由於木馬本身並不存在於伺服器上,而無法避免網站被掛馬。
15、我的Web伺服器前端部署了入侵防禦產品設備,入侵防禦產品設備中包含了幾百條的SQL注入攻擊防禦特徵庫,為什麼我的Web系統還是被SQL注入攻擊成功了呢?
答:SQL注入是一種沒有固定特徵的攻擊行為,對安全設備來說,就是屬於變種極多的攻擊行為。所以,基於數據特徵的SQL注入檢測 方法 是沒有辦法窮盡所有組合的,會存在大量的誤報、漏報可能。如果採用的入侵防禦產品設備採用的是基於數據特徵的檢測方法,即使包含了數百條SQL注入特徵庫,也會有漏報出現。
16、黑客為什麼喜歡攻擊網站?
答:Web業務已經成為當前互聯網最為流行的業務,大量的在線應用業務都依託於Web服務進行。並且一些大型網站的日訪問量可達百萬之巨,不論是直接攻擊網站(如網路銀行,在線游戲伺服器)還是通過網站掛馬竊取訪問者信息,都可以使黑客獲得直接的經濟利益。另外一方面,網站是機構的網路形象,通過攻擊篡改網站頁面,也可以得到最大范圍的名聲傳播。對於那些企圖出名的黑客,攻擊網站是一項不錯的選擇。
17、如何判斷自己的Web伺服器是否已經成為肉雞?
答:如果發現自己的Web伺服器上開啟了一些奇怪的進程,發現Web伺服器總是有大量從內往外的連接,發現Web伺服器不定時系統緩慢,諸如此類的現象,可使用木馬清除軟體進行檢查和查殺。
細分攻擊形式:
18、目前國內Web應用系統存在哪些最突出的安全問題?
答:Web應用程序的漏洞是很難避免的,系統的安全隱患主要在三方面:
首先是網路運維人員或安全管理人員對Web系統的安全狀況不清楚。哪些頁面存在漏洞,哪些頁面已經被掛馬,他們不能夠清晰的掌握,從而及時採取改正 措施 ;
其次,在安全設備的部署方面,沒有選用專業的、針對Web業務攻擊的防禦產品對網站進行保護,而是寄託於防火牆這種訪問控制類的網關安全設備;
另外,從安全響應來看,Web安全事件發生後的應急與處理也存在欠缺。沒有相應的頁面恢復系統,也沒有處理Web安全事件的專業安全服務團隊。很多單位沒有制定實時監控的網站安全管理制度。
19、什麼叫SQL注入
答:SQL注入就是利用現有應用程序,將惡意的SQL命令注入到網站後台資料庫引擎執行的能力。SQL注入利用的是正常的HTTP服務埠,表面上看來和正常的Web訪問沒有區別,隱蔽性極強,不易被發現。
20、SQL注入有哪些危害
答:SQL注入的主要危害包括:
未經授權狀況下操作資料庫中的數據;
惡意篡改網頁內容;
私自添加系統帳號或者是資料庫使用者帳號;
網頁掛木馬;
21、什麼叫XSS
答:跨站腳本攻擊(XSS)是攻擊者將惡意腳本提交到網站的網頁中,使得原本安全的網頁存在惡意腳本;或者是直接添加有惡意腳本的網頁並誘使用戶打開,用戶訪問網頁後,惡意腳本就會將用戶與網站的會話COOKIE及其它會話信息全部截留發送給攻擊者,攻擊者就可以利用用戶的COOKIE正常訪問網站。攻擊者有時還會將這些惡意腳本以話題的方式提交到論壇中,誘使網站管理員打開這個話題,從而獲得管理員許可權,控制整個網站。跨站腳本漏洞主要是由於沒有對所有用戶的輸入進行有效的驗證所造成的,它影響所有的Web應用程序框架。
22、XSS有哪些危害
答:XSS攻擊的危害包括:
盜取各類用戶帳號,如機器登錄帳號、用戶網銀帳號、各類管理員帳號;
控制企業數據,包括讀取、篡改、添加、刪除企業敏感數據的能力;
盜竊企業重要的具有商業價值的資料;
非法轉賬;
強制發送電子郵件;
網站掛馬;
控制受害者機器向其它網站發起攻擊。
23、什麼叫Shellcode
答:Shellcode實際是一段代碼(也可以是填充數據),可以用來發送到伺服器,利用已存在的特定漏洞造成溢出,通稱“緩沖區溢出攻擊”中植入進程的代碼。這段代碼可以是導致常見的惡作劇目的的彈出一個消息框彈出,也可以用來刪改重要文件、竊取數據、上傳木馬病毒並運行,甚至是出於破壞目的的格式化硬碟等等。
24、什麼叫網站漏洞
答:隨著B/S模式被廣泛的應用,用這種模式編寫Web應用程序的程序員也越來越多。但由於開發人員的水平和 經驗 參差不齊,相當一部分的開發人員在編寫代碼的時候,沒有對用戶的輸入數據或者是頁面中所攜帶的信息(如Cookie)進行必要的合法性判斷,導致了攻擊者可以利用這個編程漏洞來入侵資料庫或者攻擊Web應用程序的使用者,由此獲得一些重要的數據和利益。
25、什麼叫木馬
答:木馬(Trojan)這個名字來源於古希臘 傳說 ,在互聯網時代它通常是指通過一段特定的程序(木馬程序)來控制另一台計算機。木馬通常有兩個可執行程序:一個是客戶端,即控制端,另一個是服務端,即被控制端。木馬的設計者為了防止木馬被發現,而採用多種手段隱藏木馬。木馬的服務一旦運行並被控制端連接,其控制端將享有服務端的大部分操作許可權,例如給計算機增加口令,瀏覽、移動、復制、刪除文件,修改注冊表,更改計算機配置等。
26、什麼叫網站掛馬
答:“掛馬” 就是黑客入侵了一些網站後,將自己編寫的網頁木馬嵌入被黑網站的主頁中。當訪問者瀏覽被掛馬頁面時,自己的計算機將會被植入木馬,黑客便可通過遠程式控制制他們的計算機來實現不可告人的目的。網頁木馬就是將木馬和網頁結合在一起,打開網頁的同時也會運行木馬。最初的網頁木馬原理是利用IE瀏覽器的ActiveX控制項,運行網頁木馬後會彈出一個控制項下載提示,只有點擊確認後才會運行其中的木馬。這種網頁木馬在當時網路安全意識普遍不高的情況下還是有一點威脅的,但是其缺點顯而易見,就是會出現ActiveX控制項下載提示。現在很少會有人去點擊那莫名其妙的ActiveX控制項下載確認窗口了。在這種情況下,新的網頁木馬誕生了。這類網頁木馬通常利用IE瀏覽器的漏洞,在運行的時候沒有絲毫提示,因此隱蔽性極高。
27、什麼叫DOS./DDOS攻擊?
答:DoS即Denial Of Service,拒絕服務的縮寫。DoS是指利用網路協議實現的缺陷來耗盡被攻擊對象的資源,目的是讓目標計算機或網路無法提供正常的服務或資源訪問,使目標系統服務系統停止響應甚至崩潰。在此攻擊中並不包括侵入目標伺服器或目標網路設備。這些被大量消耗的服務資源包括網路帶寬、文件系統空間容量、開放的進程或者允許的連接。這種攻擊會導致資源的匱乏,無論計算機的處理速度多快、內存容量多大、網路帶寬有多高,都無法避免這種攻擊帶來的後果。
DDoS(Distributed Denial Of Service)又把DoS又向前發展了一大步,這種分布式拒絕服務攻擊是黑客利用在已經被侵入並已被控制的、不同的高帶寬主機(可能是數百,甚至成千上萬台)上安裝大量的DoS服務程序,它們等待來自中央攻擊控制中心的命令。中央攻擊控制中心再適時啟動全體受控主機的DoS服務進程,讓它們對一個特定目標發送盡可能多的網路訪問請求,形成一股DoS洪流沖擊目標系統,猛烈地DoS攻擊同一個網站。被攻擊的目標網站會很快失去反應而不能及時處理正常的訪問甚至系統癱瘓崩潰。
28、什麼叫網路釣魚
答:網路釣魚(Phishing,又名釣魚法或釣魚式攻擊)是通過傳播“聲稱來自於銀行或其他知名機構”的欺騙信息,意圖引誘受害者泄漏出敏感信息(如用戶名、口令、帳號 ID 、 ATM PIN 碼或信用卡詳細信息)的一種攻擊方式。最典型的網路釣魚攻擊將受害者引誘到一個與其目標網站非常相似的釣魚網站上,並獲取受害者在此網站上輸入的個人敏感信息。通常這個攻擊過程不會讓受害者警覺。它是“社會工程攻擊”的一種形式。
29、什麼叫網路蠕蟲
答:一般認為:蠕蟲病毒是一種通過網路傳播的惡性病毒,它除具有病毒的一些共性外,同時具有自己的一些特徵。如:不利用文件寄生(有的只存在於內存中)、對網路造成拒絕服務,以及與黑客技術相結合,等等。蠕蟲病毒主要的破壞方式是大量的復制自身,然後在網路中傳播,嚴重佔用有限的網路資源,最終引起整個網路的癱瘓,使用戶不能通過網路進行正常的工作。每一次蠕蟲病毒的爆發都會給全球經濟造成巨大損失,因此它的危害性是十分巨大的。有一些蠕蟲病毒還具有更改用戶文件、將用戶文件自動當附件轉發的功能,更是嚴重的地危害到用戶的 系統安全 。
30、什麼叫僵屍網路
答:僵屍網路(英文名稱叫BotNet),是互聯網上受到黑客集中控制的一群計算機,往往被黑客用來發起大規模的網路攻擊。如:分布式拒絕服務攻擊(DDoS)、海量垃圾郵件等。同時,黑客控制的這些計算機所保存的信息也都可以被黑客隨意“取用”。因此,不論是對網路安全運行還是用戶數據安全的保護,僵屍網路都是極具威脅的隱患。然而,發現一個僵屍網路是非常困難的,因為黑客通常遠程、隱蔽地控制分散在網路上的“僵屍主機”,這些主機的用戶往往並不知情。因此,僵屍網路是目前互聯網上最受黑客青睞的作案工具。
31、什麼是ARP攻擊
答:ARP是地址解析協議,是一種將IP地址轉化為MAC地址的協議。在網路中,當A主機需要向B主機發送報文時,會先查詢本地的ARP緩存表,找到與B主機IP地址對應的MAC地址後,進行數據傳輸。如果未找到,則會發送一個廣播ARP請求報文,請求對應B主機IP的B回應MAC地址。這個廣播包會被整個廣播域中所有主機收到,但只有B主機會發現IP地址對應自己,才會將MAC地址回應給A。此時A收到這個回應並更新自己的ARP緩存,進行下一步的數據傳輸。ARP攻擊應當叫做ARP欺騙,就是冒充網關地址對網路中主機給出ARP查詢回應,使得本來是A->網關的數據走向,變成A->攻擊者->網關。
32、ARP攻擊的危害有哪些?
答:ARP攻擊的危害主要有兩個方面。從ARP攻擊的原理來看,這種攻擊使得受害主機的所有網路數據都將通過攻擊者進行轉發。這樣一來,要竊取信息或控制流量就變得輕而易舉。另一方面,由於ARP緩存會不斷刷新,有的時候,真正的網關會偶爾“清醒”。當真正的網關參與到數據包轉發中來時,由於做了一個切換動作,可能會有頻繁的短暫掉線現象。所以,如果Web伺服器所在網路中發生了ARP攻擊,將導致Web伺服器不可訪問。
細分攻擊介質:
33、WEB應用系統(網站)會面臨來自哪些方面的安全問題
答:網站面臨的安全問題是方方面面的,主要可概括為以下四個方面:
1)操作系統、後台資料庫的安全問題
這里指操作系統和後台資料庫的漏洞,配置不當,如弱口令等等,導致黑客、病毒可以利用這些缺陷對網站進行攻擊。
2)Web發布系統的漏洞
Web業務常用的發布系統(即Web伺服器),如IIS、Apache等,這些系統存在的安全漏洞,會給入侵者可乘之機。
3)Web應用程序的漏洞
主要指Web應用程序的編寫人員,在編程的過程中沒有考慮到安全的因素,使得黑客能夠利用這些漏洞發起對網站的攻擊,比如SQL注入、跨站腳本攻擊等等。
4)自身網路的安全狀況
網站伺服器所處的網路安全狀況也影響著網站的安全,比如網路中存在的DoS攻擊等,也會影響到網站的正常運營。
34、Web程序漏洞是怎麼形成的
答:Web站點之所以存在如此眾多的安全漏洞,是由下列所示的這些原因造成的:
1、 大部分的中小型網站都是使用某個建站模塊建設的,而這些通用的建站模塊不僅本身存在各種安全漏洞,同時一些使用它們的建站人員根本沒有在建站完成後對站點進行安全加固。
2、 Web站點開發人員對安全不夠重視,在編寫網頁時,沒有對用戶的輸入進行驗證,沒有對數據的大小、類型和字元串進行規范,沒有限制API函數對系統資源的使用,以及對Web伺服器沒有進行相應的資源限制,引起拒絕服務攻擊。
3、 管理員對Web伺服器主機系統及Web應用程序本身配置不當,一些中小企業自己管理的Web站點根本沒有足夠的技術人員來管理它們的安全。
4、 當Web站點是託管在某個電信機房時,對它們進行的遠程管理存在安全風險。
5、 Web站點管理員本身技術水平的限制,對各種針對Web站點的安全攻擊不了解,也沒有端正工作態度,沒能對站點進行認真的安全加固,以及進行日常的安全檢查。
6、 Web站點所處網路大環境的安全設計不合理,以及沒有將安全防範工作融入到站點整個生命周期的各個階段。
7、 企業領導不夠重視,在Web站點的安全防範方面投入的資金太少或不合理,沒有制定一個有效的Web站點安全防範策略,明確Web站點日常管理流程,也沒有對Web站點的管理人員和工作人員進行不斷的安全培訓。
35、黑客主要利用哪些方法對網站進行數據竊取和修改
答:黑客需要使用擁有一定許可權的用戶帳戶才能對網站進行數據竊取和修改,所以可能造成用戶許可權泄漏或提升的漏洞,都可以被黑客利用來進行攻擊,如SQL注入,溢出漏洞、暴力猜解等。
36、目前對Web伺服器威脅較大的SQL注入工具有哪些?
答:網上常見的SQL注入工具有“啊D SQL注入工具”、pangolin、NBSI、HDSI、“管中窺豹注入工具”等。
37、目前對Web伺服器威脅較大的XSS攻擊工具有哪些?
答:網上常見的XSS攻擊工具有sessionIE、Webscan、XSS Inject Scanner 等。
38、怎樣應對Web業務安全事件
答:應對Web業務安全事件,從根本上的解決辦法就是對Web應用程序源代碼進行代碼檢查和漏洞修復,但是這會影響正常Web業務運行,而且費用較高。比較有效的解決方案是通過專業的Web業務安全檢查工具或服務來檢查網站安全狀況,部署專業的Web安全產品。比如基於行為檢測的入侵防禦產品。同時在管理上,要求網管人員實時對網站進行監測,一旦發現網頁被篡改等問題立刻進行頁面恢復、刪除惡意腳本等工作。
39、如何防禦SQL注入
答:要想從根本上解決XSS攻擊,就要對Web應用程序源代碼進行檢查,發現安全漏洞進行修改。但是這種方法在實際中給用戶帶來了不便,如:需要花費大量的人力財力、可能無法找到當時的網站開發人員、需要網站下線等。對代碼進行修改後,由於增加了過濾條件和功能,同時也給伺服器帶來了計算壓力。通常的解決方法是在資料庫伺服器前端部署入侵防禦產品。SQL注入攻擊具有變種多、隱蔽性強等特點,傳統的特徵匹配檢測方式不能有效地進行防禦,需要採用“基於攻擊手法的行為監測”的入侵防禦產品才能夠精確地檢測到SQL注入攻擊。
40、如何防禦XSS
答:要想從根本上解決XSS攻擊,就要對Web應用程序源代碼進行檢查,發現安全漏洞進行修改。但是這種方法在實際中給用戶帶來了不便,如:需要花費大量的人力財力;可能無法找到當時的網站開發人員、需要網站下線等。對代碼進行修改後,由於增加了過濾條件和功能,同時也給伺服器帶來了計算壓力。通常的解決方法是在資料庫伺服器前端部署入侵防禦產品。XSS攻擊具有變種多、隱蔽性強等特點,傳統的特徵匹配檢測方式不能有效地進行防禦,需要採用基於攻擊手法的行為監測的入侵防禦產品產品才能夠精確地檢測到XSS攻擊。
41、如何發現網站掛馬
答:伺服器被掛馬,通常情況下,若出現諸如“彈出頁面”,則可以比較容易發現,發現防病毒軟體告警之類,則可以發現伺服器被掛馬;由於漏洞不斷更新,掛馬種類時刻都在變換,通過客戶端的反映來發現伺服器是否被掛馬往往疏漏較大;正確的做法是經常性的檢查伺服器日誌,發現異常信息;經常檢查網站代碼,藉助於專業的檢測工具來發現網頁木馬會大大提高工作效率和准確度。