啟動和登入安全性
1.BIOS安全
設定BIOS密碼且修改引導次序禁止從磁碟片啟動系統。
2.使用者口令
使用者口令是linux安全的一個基本起點,很多人使用的使用者口令過於簡單,這等於給侵入者敞開了大門,雖然從理論上說,只要有足夠的時間和資源可以利用,就沒有不能破解的使用者口令,但選取得當的口令是難於破解的。較好的使用者口令是那些只有他自己容易記得並理解的一串字元,並且絕對不要在任何地方寫出來。
3.預設帳號
應該禁止所有預設的被作業系統本身啟動的並且不必要的帳號,當您第一次安裝系統時就應該這麼做,Linux提供了很多預設帳號,而帳號越多,系統就越容易受到攻擊。
1、刪除多餘的使用者和使用者組
| 代碼如下 |
複製代碼 |
//刪除多餘使用者 # vi /etc/passwd userdel adm userdel lp userdel sync userdel shutdown userdel halt userdel news userdel uucp userdel operator userdel games userdel gopher userdel ftp //刪除多餘使用者組 # vi /etc/group groupdel adm groupdel lp groupdel news groupdel uucp groupdel games groupdel dip groupdel pppusers |
2.刪減登入資訊
預設情況下,登入提示資訊包括Linux發行版、核心版本名和伺服器主機名稱等。對於一台安全性要求較高的機器來說這樣泄漏了過多的資訊。可以編輯/etc/rc.d/rc.local將輸出系統資訊的如下行注釋掉。
| 代碼如下 |
複製代碼 |
#Thiswilloverwrite/etc/issueateveryboot.So,makeanychangesyou #wanttomaketo/etc/issuehereoryouwilllosethemwhenyoureboot#echo"">/etc/issue #echo"$R"》/etc/issue #echo"Kernel$(uname-r)on$a$(uname-m)"》/etc/issue #cp-f/etc/issue/etc/issue.net #echo》/etc/issue |
然後,進行如下操作:
#rm-f/etc/issue #rm-f/etc/issue.net #touch/etc/issue #touch/etc/issue.net
3、修改口令檔案屬性
| 代碼如下 |
複製代碼 |
//添加屬性,禁止修改 chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow //去除屬性 # chattr -i /etc/passwd # chattr -i /etc/shadow # chattr -i /etc/group # chattr -i /etc/gshadow
|
3、禁止[Ctrl+Alt+Delete]重啟命令
| 代碼如下 |
複製代碼 |
vi /etc/inittab //注釋掉下面這行 #ca::ctrlaltdel:/sbin/shutdown -t3 -r now //設定 /etc/rc.d/init.d/ 目錄下檔案的許可權 chmod -R 700 /etc/rc.d/init.d/*
|
4、防止別人ping的方法
| 代碼如下 |
複製代碼 |
echo 1 > /proc/sys/net/ipv4/icmp_ignore_all //用防火牆禁止(或丟棄) icmp 包 iptables -A INPUT -p icmp -j DROP |
1、修改SSH 連接埠
| 代碼如下 |
複製代碼 |
vi /etc/ssh/sshd_config Port 22 修改 PermitEmptyPasswords no 把#登出掉-禁止空密碼帳戶登入伺服器! MaxAuthTries 2 兩次不行就切斷重新SSH啟動登入 |
2、遠程5分鐘無操作自動登出:
| 代碼如下 |
複製代碼 |
vim /etc/profile export TMOUT=300 —5分鐘自動登出下來 找到 HISTSIZE=1000 修改為: HISTSIZE=100 –減少日記位元組為100KB,太大內容過多容易漏重要訊息. |
3、修改檔案屬性
| 代碼如下 |
複製代碼 |
chmod 700 /bin/rpm ‘只有root許可權使用者才可以使用rpm命定,安裝軟體包 chmod 664 /etc/hosts chmod 644 /etc/passwd chmod 644 /etc/exports chmod 644 /etc/issue chmod 664 /var/log/wtmp chmod 664 /var/log/btmp chmod 644 /etc/services chmod 600 /etc/shadow chmod 600 /etc/login.defs chmod 600 /etc/hosts.allow chmod 600 /etc/hosts.deny chmod 600 /etc/securetty chmod 600 /etc/security chmod 600 /etc/ssh/ssh_host_key chmod 600 /etc/ssh/sshd_config chmod 600 /var/log/lastlog chmod 600 /var/log/messages |
4、禁止ping 使用者使用ping不做任何反映
| 代碼如下 |
複製代碼 |
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all — 禁止ping echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all — 解除禁止ping操作 |
5、禁止IP偽裝
| 代碼如下 |
複製代碼 |
vi /etc/host.conf 在裡面加上: nospoof on |
6、防止DOS攻擊:
| 代碼如下 |
複製代碼 |
vi /etc/security/limits.conf 加入以下配置: * hard core 0 * hard rss 10000 * hard nproc 20 |
以上根據需求而論!
7、修改root帳戶密碼越複雜越好:
7.1、含有大小寫字母;
7.2、含有數字;
7.3、含有字元;
7.4、不用自己生日等常關聯的字母數字及字元。
9、垃圾IP封殺
| 代碼如下 |
複製代碼 |
| more /var/log/secure |
首先通過以上命定觀察多次掃描欲遠程登入伺服器的垃圾IP;
然後在
vi /etc/hosts.deny
增加:
sshd:61.131.47.157 —這以61.131.47.157這個垃圾IP為例!
儲存即可!
防止攻擊
1.阻止ping 如果沒人能ping通您的系統,安全性自然增加了。為此,可以在/etc/rc.d/rc.local檔案中增加如下一行:
| 代碼如下 |
複製代碼 |
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all |
2.防止IP欺騙
編輯host.conf檔案並增加如下幾行來防止IP欺騙攻擊。
| 代碼如下 |
複製代碼 |
order bind,hosts multi off nospoof on |
3.防止DoS攻擊
對系統所有的使用者佈建資源限制可以防止DoS類型攻擊。如最大進程數和記憶體使用量數量等。例如,可以在/etc/security/limits.conf中添加如下幾行:
| 代碼如下 |
複製代碼 |
* hard core 0 * hard rss 5000 #( 本行或許沒用,man limits.conf 顯示 maximum resident set size (KB) (Ignored in Linux 2.4.30 and higher) * hard nproc 50 |
然後必須編輯/etc/pam.d/login檔案檢查下面一行是否存在。
| 代碼如下 |
複製代碼 |
session required /lib/security/pam_limits.so |
上面的命令禁止調試檔案,限制進程數為50並且限制記憶體使用量為5MB。
經過以上的設定,您的Linux伺服器已經可以對絕大多數已知的安全問題和網路攻擊具有免疫能力,但一名優秀的系統管理員仍然要時刻注意網路安全動態,隨時對已經暴露出的和潛在安全性漏洞進行修補