Ubuntu系統加固方案

2022-08-22 15:15:12 字數 4939 閱讀 1340

1、刪除系統不需要的預設賬號

# userdel lp

# groupdel lp

#passwd –l lp

如果下面這些系統預設帳號不需要的話,建議刪除。

lp, sync news, uucp, games, bin、man

修改一些系統帳號的shell變數,例如uucp,ftp和news等,還有一些僅僅需要ftp功能的帳號,一定不要給他們設定/bin/bash或者/bin/sh等shell變數。可以在/etc/passwd中將它們的shell變數設為/bin/false或者/dev/null等,也可以使用usermod -s /dev/null

2、限制超級管理員遠端登入

參考配置操作

ssh:

#vi /etc/ssh/sshd_config

把 permitrootlogin yes

改為 permitrootlogin no

重啟sshd服務

#service sshd restart

3、修改ssh埠

vi /etc/ssh/sshd_config

修改 port 22

修改成其他埠,迷惑非法試探者

linux下ssh預設的埠是22,為了安全考慮,現修改ssh的埠為1433,修改方法如下 :

/usr/sbin/sshd -p 1433

console:

在/etc/securetty檔案中配置:console = /dev/tty01

#service sshd restart

3、預設密碼生存週期限制

cat /etc/login.defs

參考配置操作

pass_max_days 90

pass_min_days 0

4、設定關鍵目錄的許可權

參考配置操作

通過chmod命令對目錄的許可權進行實際設定。

補充操作說明

etc/passwd 必須所有使用者都可讀,root使用者可寫 –rw-r—r—

/etc/shadow 只有root可讀 –r--------

/etc/group 必須所有使用者都可讀,root使用者可寫 –rw-r—r—

使用如下命令設定:

chmod 644 /etc/passwd

chmod 600 /etc/shadow

chmod 644 /etc/group

如果是有寫權vi限,就需移去組及其它使用者對/etc的寫許可權(特殊情況除外)

執行命令#chmod -r go-w /etc

5、修改umask值

參考配置操作

設定預設許可權:

vi /etc/profile

vi /etc/bash.bashrc

在末尾增加umask 027

修改檔案或目錄的許可權,操作舉例如下:

#chmod 444 dir ; #修改目錄dir的許可權為所有人都為唯讀。

根據實際情況設定許可權;

補充操作說明

如果使用者需要使用乙個不同於預設全域性系統設定的umask,可以在需要的時候通過命令列設定,或者在使用者的shell啟動檔案中配置

補充說明

umask的預設設定一般為022,這給新建立的檔案預設許可權755(777-022=755),這會給檔案所有者讀、寫許可權,但只給組成員和其他使用者讀許可權。

umask的計算:

umask是使用八進位制資料**設定的,對於目錄,該值等於八進位制資料**777減去需要的預設許可權對應的八進位制資料**值;對於檔案,該值等於八進位制資料**666減去需要的預設許可權對應的八進位制資料**值。

6、資源限制

參考配置操作

第一步

編輯limits.conf檔案

(vi /etc/security/limits.conf),加入或改變下面這些行:

* soft core 0

* hard core 0

* hard rss 5000

* hard nproc 20

* soft nofile 10000

* hard nofile 10000

如果限制limitu使用者組對主機資源的使用,

加入:

@limitu soft core 0

@limitu hard nproc 30

@limitu - maxlogins 5

這些行的的意思是:「core 0」表示禁止建立core檔案;「nproc 20」把最多程序數限制到20;「rss 5000」表示除了root之外,其他使用者都最多只能用5m記憶體。上面這些都只對登入到系統中的使用者有效。通過上面這些限制,就能更好地控制系統中的使用者對程序、core檔案和記憶體的使用情況。星號「*」表示的是所有登入到系統中的使用者。

第二步

session required /lib/security/pam_limits.so

補充說明:

加入這一行後「/etc/pam.d/sudologin」檔案是這樣的:

#%pam-1.0 auth required /lib/security/pam_securetty.so

auth required /lib/security/pam_pwdb.so shadow nullok

auth required /lib/security/pam_nologin.so a

ccount required /lib/security/pam_pwdb.so password required /lib/security/pam_cracklib.so

password required /lib/security/pam_pwdb.so

nullok use_authtok md5 shadow

session required /lib/security/pam_pwdb.so

session required /lib/security/pam_limits.so

#session optional /lib/security/pam_console.sodaemon

統計程序數量 ps ax | grep httpd | wc -l

7、設定目錄許可權

參考配置操作

檢視重要檔案和目錄許可權:ls –l

更改許可權:

對於重要目錄,建議執行如下類似操作:

# chmod -r 750 /etc/init.d/*

這樣只有root可以讀、寫和執行這個目錄下的指令碼。

8、設定關鍵檔案的屬性

# lsattr /etc/shadow

# lsattr /etc/passwd

# lsattr /etc/group

1、參考配置操作

# chattr +i /etc/shadow

# chattr +i /etc/passwd

# chattr +i /etc/group

建議管理員對關鍵檔案進行特殊設定(不可更改或只能追加等)。

9、使用pam禁止任何人su為root

參考配置操作

auth sufficient /lib/security/pam_rootok.so

auth required /lib/security/pam_wheel.so group=wheel

這表明只有wheel組的成員可以使用su命令成為root使用者。你可以把使用者新增到wheel組,以使它可以使用su命令成為root使用者。新增方法為:

# chmod –g10 username

10、更改主機解析位址的順序

「/etc/host.conf」 說明了如何解析位址。編輯「/etc/host.conf」 檔案(vi /etc/host.conf),加入下面該行:

# lookup names via dns first then fall back to /etc/hosts. order bind,hosts

multi on

# check for ip address spoofing

nospoof on

第一項設定首先通過dns解析ip位址,然後通過hosts檔案解析。第二項設定檢測是否「/etc/hosts」檔案中的主機是否擁有多個ip位址(比如有多個以太口網絡卡)。第三項設定說明要注意對本機未經許可的ip欺騙。

11、開啟syncookie

# echo 1 > /proc/sys/net/ipv4/tcp_syncookies

net.ipv4.tcp_syncookies = 1

可以加入/etc/rc.d/rc.local中。/

12、不響應icmp請求:

# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

13、參考配置操作

sysctl -w net.ipv4.tcp_max_syn_backlog = 2048

永久有效需要在vim /etc/sysctl.conf 直接新增上述net.ipv4.tcp_max_syn_backlog = 2048,而後執行sysctl -p

上述操作主要是對ubuntu、linux系統進行評估分析,做了幾個方面的安全加固,主要策略涉及到如下幾點:

取消所有伺服器的root遠端ssh登入,限制su - root的使用者許可權,同時ssh登入埠調整,外網ssh登入全部調整;

調整密碼過期時間和複雜度;

調整網路泛洪、syn等防攻擊策略引數;

清理伺服器無效賬戶如lp、news等,調整系統關鍵目錄許可權;

優化伺服器連線數引數;

日誌管理:登入認證記錄等;

Android加固方案

執行時修改dalvik指令 定位 odex 檔案的mao位址,odex檔案確定dex檔案的偏移量,解析dex檔案頭,定位各部分所在分割槽,找到byte code的insns引數,通過mprotect修改 加殼 源apk 殼apk 加密工具 加密演算法加密源aok,與殼apk合併得到新dex檔案,替換...

linux系統加固

系統加固步驟 1 修改前備份配置檔案 etc login.defs cp r etc login.defs etc login.defs.bak 2 vi etc login.defs 修改如下配置 pass max days 90 使用者的密碼不過期最多的天數 pass min days 0 密碼...

linux系統加固

主要加固內容 操作檔案備份格式 原始檔.bakdate y m d h m 01 鎖定不常用使用者 02 密碼輸入失敗3次鎖定1分鐘 03 設定密碼強度 8位4種字元 04 5分鐘無活動自動退出 05 修改儲存歷史命令數為10 06 修改使用者密碼使用最長時間90天,修改密碼最小長度8位 07 給 ...