① linux下審計危險的操作
看了你的問題,說說我的想法:
linux下指令很難判斷它的危險程度,舉個例子,比如樓上這位說的 rm -rf,如果他是普通用戶登錄,那就不是危險的,至少不會危險到系統,至於會不會誤刪掉他自己的東西,那跟他的操作習慣有關系,我們在怎麼小心也是沒用的。至於系統管理員,那他應該是非常清除那些是危險操作,要不然他還經常備份干什麼呢,呵呵。 所以,與其控制危險操作,不如做好用戶許可權管理來得容易,只要把用戶許可權,文件許可權管理好,即使危險的指令也不會有太大問題,這也正式linux的安全的根本所在。
如果閣下是另有用途的話,就算我上面的廢話了
② 用kali入門linux是一種什麼體驗
Kali Linux是一個高級滲透測試和安全審計Linux發行版。作為使用者,我簡單的把它理解為,一個特殊的Linux發行版,集成了精心挑選的滲透測試和安全審計的工具,供滲透測試和安全設計人員使用。也可稱之為平台或者框架。
作為Linux發行版,Kali Linux是在BackTrack Linux的基礎上,遵循Debian開發標准,進行了完全重建。並且設計成單用戶登錄,root許可權,默認禁用網路服務。
了解更多開源相關,去LUPA社區看看吧
③ nmap掃出來好多linux系統
如下:
Nmap是一個免費的開源網路發現和安全審計實用程序,在Linux用戶社區中被廣泛使用,因為它使用起來非常強大。 Nmap通過在特定目標(通過IP)發送數據包,並通過解釋傳入的數據包來確定哪些帖子被打開/關閉,掃描系統上運行什麼服務,防火牆或過濾器是否設置和啟用,什麼操作系統正在運行。 這些能力由於各種各樣的原因而被使用,而且howtoing.com並不鼓舞,也不建議使用nmap進行惡意攻擊。
安裝Nmap首先,您應該在系統中安裝「nmap」軟體包。在CentOS上yum install nmap在Debianapt-get install nmap在Ubuntu上sudo apt-get install nmap使用Nmap安全掃描器然後您可以在終端上運行命令「nmap」,並附帶目標的IP或網站地址以及各種可用的參數。 要了解nmap可以使用的所有參數的概述,請使用「nmap -help」命令。
④ 怎麼樣在linux中分配審計 管理員 安全員s三個許可權呢
審計員負責審計日誌查詢、審計功能(audit、rsyslog)的控制;
安全員主要負責對安全日誌的的查詢
管理員擁有對用戶的增刪改查;
以上許可權都是獨立的
⑤ linux安全審計
selinux你可以直接理解為防火牆加系統許可權管理,在防火牆的更上一級。
你的問題可以說涵蓋比較多,先從系統管理許可權來說的話,文件使用ls -l來看的話,第一列會有10個例如-rwx--x--x這樣的文字組成的,這個第一位代表這個文件是什麼文件,2到4為代表創建者的許可權,rwx分別代表讀寫執行,5-7代表用戶所在組的許可權,8-10代表其他的人。root超級管理員不受這個屬性的控制,每個用戶都有一個基本組,也會有附加組。ls -l第二列代表用戶創建者,第三列代表文件擁有組。還有s和t的許可權。請仔細預讀關於linux系統許可權管理的相關文獻。這是第一層的安全控制,第二層的控制位iptables,防火牆,主要針對外網對本機的出入口的許可權控制。selinux涉及一部分系統管理許可權以及防火牆的功能,為第三層安全機制。
⑥ Linux中與安全審計有關的函數
我的答案是最正確的 請採納我的內核審計系統的介面函數在Linux內核需要輸出審計信息時,它先調用函數audit_log_start創建緩沖區。接著,調用函數audit_log或audit_log_format寫緩沖區寫入審計信息,最後調用函數audit_log_end發送審計信息,並釋放緩沖區。這三個函數分別說明如下:1.函數audit_log_start 函數audit_log_start申請審計緩沖區,如果任務當前在系統調用中,系統調用被標識為可審計的,並在系統調用退出時,產生一條審計記錄。函數audit_log_start的參數ctx為審計上下文結構實例;參數gfp_mask為分配內存的類型,如:__GFP_WAIT表示可以等待和重調度;參數type為審計消息類型。如果緩存區申請成功,它返回審計緩沖區的指針,否則返回NULL表示錯誤。函數audit_log_start申請審計緩沖區,當審計緩沖區鏈表的緩沖區個數超過上限時,當前進程需要等待用戶空間的後台進程將審計消息寫入log文件,直到緩沖區個數小於上限值為止。函數audit_log_start在申請並初始化審計緩沖區後,給緩沖區加時間戳和審計記錄序列號。函數audit_log_start列出如下(在linux26/kernel/audit.c中)://聲明等待隊列頭,用於等待審計消息被後台進程寫入log文件static DECLARE_WAIT_QUEUE_HEAD(audit_backlog_wait);struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask,int type){struct audit_buffer*ab= NULL;struct timespect;unsigned intserial;int reserve;unsigned long timeout_start = jiffies; //開始的時間if (!audit_initialized)//如果已初始化,就直接退出return NULL;if (unlikely(audit_filter_type(type)))return NULL;if (gfp_mask & __GFP_WAIT)reserve = 0;elsereserve = 5; /*允許調用者多出5個條目*/ //當鏈表中審計緩沖區數超出上限時,進程等待auditd處理鏈表中緩沖區while (audit_backlog_limit&& skb_queue_len(&audit_skb_queue) > audit_backlog_limit + reserve) {if (gfp_mask & __GFP_WAIT && audit_backlog_wait_time && time_before(jiffies, timeout_start + audit_backlog_wait_time)) {/* 等待後台進程auditd從隊列中處理部分緩沖區 */DECLARE_WAITQUEUE(wait, current);set_current_state(TASK_INTERRUPTIBLE); //設置當前進程的狀態為可中斷等待狀態add_wait_queue(&audit_backlog_wait, &wait); //將當前進程加入等待隊列if (audit_backlog_limit && skb_queue_len(&audit_skb_queue) > audit_backlog_limit)schele_timeout(timeout_start + audit_backlog_wait_time - jiffies);//調度__set_current_state(TASK_RUNNING);//設置當前進程為運行狀態remove_wait_queue(&audit_backlog_wait, &wait);continue;} //檢查每秒發送的記錄數不能超過上限,以防止受非法攻擊if (audit_rate_check())printk(KERN_WARNING "audit: audit_backlog=%d > " "audit_backlog_limit=%d\n", skb_queue_len(&audit_skb_queue), audit_backlog_limit);audit_log_lost("backlog limit exceeded");audit_backlog_wait_time = audit_backlog_wait_overflow;wake_up(&audit_backlog_wait);return NULL;}ab = audit_buffer_alloc(ctx, gfp_mask, type);//申請審計緩沖區if (!ab) {audit_log_lost("out of memory in audit_log_start");return NULL;}//得到當前時間存入t,計算審計記錄的序列號,存入serialaudit_get_stamp(ab->ctx, &t, &serial); //將時間戳和序列號寫入審計記錄audit_log_format(ab, "audit(%lu.%03lu:%u): ", t.tv_sec, t.tv_nsec/1000000, serial);return ab;}函數audit_buffer_alloc申請審計緩沖區,先嘗試從空閑鏈表上取下一個緩沖區,如果空閑鏈表中沒有,就分配一個緩沖區。然後,填充netlink消息頭。該函數列出如下: static DEFINE_SPINLOCK(audit_freelist_lock);//定義自旋鎖,用於鎖住鏈表audit_freeliststatic struct audit_buffer * audit_buffer_alloc(struct audit_context *ctx,gfp_t gfp_mask, int type){unsigned long flags;struct audit_buffer *ab = NULL;struct nlmsghdr *nlh; //從空閑鏈表中得到一個緩沖區spin_lock_irqsave(&audit_freelist_lock, flags);//加鎖if (!list_empty(&audit_freelist)) {ab = list_entry(audit_freelist.next,struct audit_buffer, list);list_del(&ab->list);--audit_freelist_count;}spin_unlock_irqrestore(&audit_freelist_lock, flags);//釋放鎖 //如果空閑鏈表中沒有空閑緩沖區成員,就分配一個緩沖區if (!ab) {ab = kmalloc(sizeof(*ab), gfp_mask);if (!ab)goto err;}ab->skb = alloc_skb(AUDIT_BUFSIZ, gfp_mask);//分配套接字緩沖區if (!ab->skb)goto err;ab->ctx = ctx;ab->gfp_mask = gfp_mask; //擴展套接字緩沖區skb的已使用數據區,將netlink消息頭數據nlmsghdr加到skbnlh = (struct nlmsghdr *)skb_put(ab->skb, NLMSG_SPACE(0));nlh->nlmsg_type = type;nlh->nlmsg_flags = 0;nlh->nlmsg_pid = 0;nlh->nlmsg_seq = 0;return ab;err:audit_buffer_free(ab);return NULL;}2.函數audit_log_format函數audit_log_format將一個審計消息按格式寫入審計緩沖區,參數ab為審計緩沖區,參數fmt為格式化的字元串。其列出如下:void audit_log_format(struct audit_buffer *ab, const char *fmt, ...){va_list args;if (!ab)return;va_start(args, fmt);audit_log_vformat(ab, fmt, args);va_end(args);}函數audit_log_vformat將一個審計消息按格式寫入套接字緩沖區中,如果審計緩沖區沒有足夠的空間,就擴展套接字緩沖區的數據域。由於printk緩沖區為1024,擴展的套接字緩沖區最小應為1024。函數audit_log_vformat列出如下: static void audit_log_vformat(struct audit_buffer *ab, const char *fmt, va_list args){int len, avail;struct sk_buff *skb;va_list args2;if (!ab)return;BUG_ON(!ab->skb);skb = ab->skb;avail = skb_tailroom(skb);//計算套接字緩沖區的空閑數據空間if (avail == 0) {//如果套接字緩沖區沒有空閑數據空間,擴展空間avail = audit_expand(ab, AUDIT_BUFSIZ);// AUDIT_BUFSIZ為1024,if (!avail)goto out;}va_(args2, args);len = vsnprintf(skb->tail, avail, fmt, args);//將信息寫入到緩沖區if (len >= avail) {//如果實際信息長度比可用的緩沖區大,擴展空間/* 由於printk緩沖區是1024,因此,擴展空間最少為1024 */avail = audit_expand(ab,max_t(unsigned, AUDIT_BUFSIZ, 1+len-avail));if (!avail)goto out;len = vsnprintf(skb->tail, avail, fmt, args2); //將審計信息寫入到緩沖區}if (len > 0)skb_put(skb, len); //將寫入信息的數據緩沖區附加到skb上out:return;}
函數audit_expand擴展在審計緩沖區中的套接字緩沖區,擴展成功,返回可用的空間大小,擴展失敗返回0,表示沒有空間。參數ab表示審計緩沖區的指針,參數extra表示加到套接字緩沖區skb尾部的緩沖區空間大小。函數audit_expand列出如下:static inline int audit_expand(struct audit_buffer *ab, int extra){struct sk_buff *skb = ab->skb;int ret = pskb_expand_head(skb, skb_headroom(skb), extra, ab->gfp_mask);if (ret < 0) {audit_log_lost("out of memory in audit_expand");return 0;}return skb_tailroom(skb);//返回可用的緩沖區空間大小}3.函數audit_log_end當進程完成了將審計記錄寫入審計緩沖區的操作時,它調用函數audit_log_end將套接字緩沖區中的審計記錄數據發送給用戶空間後台進程,由後台進程寫入到log文件。如果審計後台進程存在,使用netlink機制傳輸數據,由審計後台將套接字緩沖區中的審計記錄數據寫入審計文件audit.log中;如果審計後台不存在,使用函數printk記錄數據,然後由日誌後台進程將數據寫入到日誌文件中。當數據發送完成後,函數audit_log_end喚醒等待隊列kauditd_wait。有些進程因為審計套接字緩沖區鏈表上的緩沖區數量超過上限而在隊列kauditd_wait等待,當其他進程發送了數據時,應喚醒這些等待進程。函數audit_log_end列出如下:void audit_log_end(struct audit_buffer *ab){if (!ab)return;if (!audit_rate_check()) {//檢查審計系統的傳輸速度,如果netlink機制傳輸速度超過上限,則返回錯誤audit_log_lost("rate limit exceeded");} else {if (audit_pid) {//如果審計後台的進程ID存在,使用netlink機制傳輸數據struct nlmsghdr *nlh = (struct nlmsghdr *)ab->skb->data;nlh->nlmsg_len = ab->skb->len - NLMSG_SPACE(0);skb_queue_tail(&audit_skb_queue, ab->skb);ab->skb = NULL;wake_up_interruptible(&kauditd_wait);//發送了數據,喚醒等待隊列} else {//使用printk記錄數據printk(KERN_NOTICE "%s\n", ab->skb->data + NLMSG_SPACE(0));}}audit_buffer_free(ab);}
⑦ 綠盟安全審計系統SASNX3-HDB615
摘要 管理對象
⑧ Linux伺服器安全策略詳解的序言
Linux系統屬於開放源代碼軟體,由於Linux系統具有穩定、安全、網路負載力強、佔用硬體資源少等技術特點,自問世以來得到了迅速推廣和應用,並已發展為當今世界的主流操作系統之一。目前對Linux感興趣的用戶主要集中在一些垂直行業當中。在國外,企圖提升利潤率的有零售、家電行業,包括石油、動畫設計等在內的計算密集型應用企業,還有想通過Linux的成本控制來提高企業競爭優勢的一些電信、政府和醫療行業。對於零售行業的POS終端和數據中心而言,Linux既可靠又便宜。石油行業則通常利用上千個結點的Linux集群來承擔石油勘探中的大量運算工作。國內的企業應用同樣也迅速普及。由於電子政務的「崛起」,政府行業已佔據了Linux市場的大量份額。能源行業的Linux應用在國內市場份額上也名列前茅。金融、電信等傳統大行業應用Linux的趨勢已然顯露。可以總結出Linux的擅長應用領域是:
1.單一應用的基礎伺服器,如DNS和DHCP伺服器、Web伺服器、防火牆、文件和互聯網代理伺服器。
2.界定清晰,與其他系統沒有交叉的應用。
3.高性能計算及計算密集型應用,如風險分析、數據分析、數據建模等。
4.中小型資料庫。
對於那些應用很單純的企業,購買Linux軟體的成本優勢則十分明顯。與Windows系列相比,Linux令人欣慰的一點是其出色的安全性,可以降低管理成本。這也是使很多公司轉向Linux的一個非常重要的原因。在Windows伺服器上,補丁讓人應接不暇,耗費大量時間和精力。於是,人們選擇了Linux。盡管Linux也會受病毒和黑客的侵擾,但是Linux內核畢竟是由眾多具有黑客背景的程序員逐步完善而來的,相對安全一些。
目前,關於Linux方面的書雖然較多,但大多數都是介紹如何安裝,以及如何使用像KDE和GNOME這類圖形界面的,對Linux作為伺服器應用的介紹相對較少,Linux真正的優勢和發展方向是作為伺服器操作系統。根據需要,Linux可安裝成各種各樣的伺服器。
Linux是一個十分穩定的操作系統,目前用戶已逾千萬。但是,Linux伺服器是否安全,這對Linux的用戶來說是十分關心的問題。本書的目的,就是要說明Linux伺服器通過加固配置後是安全的。
第2版說明
本書第1版在2007年7月出版後,得到廣大讀者的關注,同時也得到一些熱心讀者的寶貴意見和反饋。所以在第2版中做了一些內容的添加和刪除。在第8章FTP伺服器安全策略部分刪除了現在Linux平台應用比較少的Wu-ftp和ProFTPD 兩種伺服器的內容。從21章開始是第2版添加的主要內容,首先使用三章的篇幅詳細論述了兩大開源資料庫MySQL和PostgreSQL安全策略。然後以此介紹了Linux下新聞組伺服器構建、網路釣魚的防範、Linux無線網路構建及其安全策略、使用Linux安全審計以及使用Selinux保護Linux伺服器的方法。附錄部分筆者介紹了Linux伺服器應急響應的流程與步驟。
限於本書的篇幅已經比較多了,關於虛擬化、集群、Web 2.0 等內容本書沒有介紹,對此感興趣的讀者可以查看筆者的《Red Hat Enterprise Linux 5.0伺服器構建與故障排除》。另外對於第1版的附錄也做了較大的修改。刪除了Linux命令的介紹,這么做的原因是考慮到目前已經有專門介紹Linux命令的相關圖書,於是這里筆者節省了寶貴的篇,對此感興趣的讀者可以查看筆者的《Linux系統最佳實踐工具:命令行技術》。
⑨ linux 是否有安全審計
有。除了PAM類的文件規定進程的創建、訪問及認證配置外。
SElinux可以實現更多關於用戶、組、特權等等的詳細劃分,但基於安全等級設定,其設置也比較繁瑣。
⑩ linux伺服器安全審計怎麼弄
Linux審計系統auditd 套件
安裝 auditd
REL/centos默認已經安裝了此套件,如果你使用ubuntu server,則要手工安裝它:
sudo apt-get install auditd
它包括以下內容:
auditctl :即時控制審計守護進程的行為的工具,比如如添加規則等等。
/etc/audit/audit.rules :記錄審計規則的文件。
aureport :查看和生成審計報告的工具。
ausearch :查找審計事件的工具
auditspd :轉發事件通知給其他應用程序,而不是寫入到審計日誌文件中。
autrace :一個用於跟蹤進程的命令。
/etc/audit/auditd.conf :auditd工具的配置文件。
Audit 文件和目錄訪問審計
首次安裝auditd後, 審計規則是空的。可以用sudo auditctl -l 查看規則。文件審計用於保護敏感的文件,如保存系統用戶名密碼的passwd文件,文件訪問審計方法:
sudo auditctl -w /etc/passwd -p rwxa
-w path :指定要監控的路徑,上面的命令指定了監控的文件路徑 /etc/passwd
-p :指定觸發審計的文件/目錄的訪問許可權
rwxa :指定的觸發條件,r 讀取許可權,w 寫入許可權,x 執行許可權,a 屬性(attr)
目錄進行審計和文件審計相似,方法如下:
$ sudo auditctl -w /proction/
以上命令對/proction目錄進行保護。
3.查看審計日誌
添加規則後,我們可以查看 auditd 的日誌。使用ausearch工具可以查看auditd日誌。
sudo ausearch -f /etc/passwd
-f設定ausearch 調出 /etc/passwd文件的審計內容
4. 查看審計報告
以上命令返回log如下:
time->Mon Dec 22 09:39:16 2016
type=PATH msg=audit(1419215956.471:194): item=0name="/etc/passwd"
inode=142512 dev=08:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL
type=CWD msg=audit(1419215956.471:194):cwd="/home/somebody"
type=SYSCALL msg=audit(1419215956.471:194): arch=40000003syscall=5
success=yes exit=3 a0=b779694b a1=80000 a2=1b6 a3=b8776aa8 items=1 ppid=2090 pid=2231auid=4294967295 uid=1000 gid=1000euid=0 suid=0 fsuid=0 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=4294967295
comm="sudo" exe="/usr/bin/sudo"key=(null)
time :審計時間。
name :審計對象
cwd :當前路徑
syscall :相關的系統調用
auid :審計用戶ID
uid 和 gid :訪問文件的用戶ID和用戶組ID
comm :用戶訪問文件的命令
exe :上面命令的可執行文件路徑
以上審計日誌顯示文件未被改動。