linux系統一些加固

1root用戶  其他的都限制使用su命令的權限

在/etc/pam.d/su下加入:

auth required pam_wheel.so

2 超時設置

/etc/profile 裏面
TMOUT=1800

3 定時修改密碼

·  /etc/shadow

用戶名:$1$8zdAKdfC$XDa8eSus2I7nQL7UjRsIy/:13025:5:60:7:2:13125:

   1                      2                  3  4  5 67    8  9

 

這表示什麼呢?要注意的是, 13025 是 2005/08/30 ,所以, dmtsai 這個用戶他的密碼相關意義是:

  • 最近一次更動密碼的日期是 2005/08/30 (13025);

  • 能夠修改密碼的時間是     5 天以後,也就是 2005/09/04 以前 dmtsai     不能修改自己的密碼;

·  使用者必須要在 2005/09/04 到 2005/10/29 之間的 60 天限制內去修改自己的密碼,若 2005/10/29 之後還是沒有變更密碼時,該賬號就會宣告失效;

·  如果用戶一直沒有更改密碼,那麼在 2005/10/29 之前的 7 天內,系統會警告 dmtsai 應該修改密碼的相關信息;

·  如果該賬號一直到 2005/10/29 都沒有更改密碼,由於還有兩天的恕限時間,因此, dmtsai 還是可以在 2005/10/31 以前繼續登入;

·  如果使用者在 2005/10/29 以前變更過密碼,那麼那個13025 的日期就會跟着改變,因此, 所有的限制日期也會跟着相對變動喔!^_^

·  無論使用者如何動作,到了 13125 ,大約是 2005/12/8 左右,該賬號就失效了~

 

查看當前日期所對應的數字echo $(($(date --date="2008/09/04" +%s)/86400+1))——————貌似最終結果不對

參考:http://vbird.dic.ksu.edu.tw/linux_basic/fedora_4/0410accountmanager-fc4.php#account_user

所以,需求可改爲:密碼有效期120天  密碼失效前14天發出警告,失效後14天內能登陸


用戶名:密碼:16695:0:120:14:14::

 

 

 

4 登陸錯誤N次後自動鎖定N分鐘

在字符終端下,實現某一用戶連續錯誤登陸N次後,就鎖定該用戶X分鐘。
執行 vi /etc/pam.d/sshd

 

/etc/pam.d/login中配置只在本地文本終端上做限制;

/etc/pam.d/kde(suse爲gdm)在配置時在kde圖形界面調用時限制;

/etc/pam.d/sshd中配置時在通過ssh連接時做限制;

/etc/pam.d/system-auth中配置凡是調用 system-auth 文件的服務,都會生效


在#%PAM-1.0 下新起一行,加入

auth required pam_tally2.so deny=3 unlock_time=5 even_deny_rootroot_unlock_time=10

如果不限制root用戶,則可以寫成

auth required pam_tally2.so deny=3 unlock_time=5

其中大概含義如下:
even_deny_root    也限制root用戶;
deny           設置普通用戶和root用戶連續錯誤登陸的最大次數,超過最大次數,則鎖定該用戶;
unlock_time        設定普通用戶鎖定後,多少時間後解鎖,單位是秒;
root_unlock_time      設定root用戶鎖定後,多少時間後解鎖,單位是秒

 

 

解鎖與查看失敗

可以通過以下指令查看361way用戶登錄的錯誤次數及詳細信息:

1. pam_tally2 --user aaa

可以通過以下命令清空361way用戶的錯誤登錄次數,即手動解鎖:

1. pam_tally2 --user aaa --reset

同樣,使用faillog -r命令也可以進行解鎖

 

此處使用的是 pam_tally2 模塊,如果不支持 pam_tally2 可以使用 pam_tally 模塊。另外,不同的pam版本,設置可能有所不同,具體使用方法,可以參照相關模塊的使用規則。

 

 

 

 

 

snmpV3配置:(cacti可用到)

VNC掛載安裝包,然後安裝

yum –y install net-snmp*

useradd snmp

 

passwd snmp

 

service snmpd stop

 

net-snmp-config --create-snmpv3-user -ro -aaaaaaaaa -A MD5 snmp

 

service snmpd start

 

chkconfig snmpd on

 

snmpwalk -v3 -u snmp -l auth -a MD5 -A aaaaaaaa 127.0.0.1if

 

 

 

 

操作:

 

1root用戶  其他的都限制使用su命令的權限

/etc/pam.d/su下加入:

 

auth required pam_wheel.so

3 定時修改密碼

/etc/shadow

用戶名:密碼:16695:0:120:14:14::

4 登陸錯誤8次後自動鎖定30分鐘

vi /etc/pam.d/sshd   (root用戶也算進去)

在#%PAM-1.0 下新起一行,加入

auth required pam_tally2.so deny=8 unlock_time=1800 even_deny_rootroot_unlock_time=1800

vi /etc/pam.d/gdm(root用戶不算)

#%PAM-1.0 下新起一行,加入

auth required pam_tally2.so deny=8unlock_time=1800

 

 

 

 

 

在日誌服務器上放行514端口

iptables –A INPUT -m state--state NEW -m tcp -p tcp --dport 514 –j ACCEPT

 

 

iptables –A  INPUT -p udp -m state -m udp --dport 514--state NEW -j ACCEPT


   

 

新建帳號:

useradd   -g 0 -m -d /home/aaaa  -s  /bin/bash  aaaa


更改連接傳輸限制

vi /etc/security/limits.conf

*     soft   nofile 65535

*     hard   nofile  65535



1. 主機口令由大小寫字母、數字、特殊字符組成,至少8位,(vi /etc/login.defs PASS_MIN_LEN   8)每六個月更換一次 設備8次登陸失敗自動鎖定10分鐘(echo"auth required pam_tally2.so deny=8 unlock_time=600 even_deny_root root_unlock_time=600">>/etc/pam.d/sshd),記錄登陸失敗日誌,並且發送報警郵件;          

echo "auth required pam_tally2.sodeny=8 unlock_time=600 even_deny_root root_unlock_time=600">>/etc/pam.d/sshd

chmod 777 /var/log/usermonitor.log

 

密碼180天修改 sed-i's#99999#180#'/etc/login.defs

 

/etc/pam.d/su 或者vi /etc/pam.d/su-l

 

打開auth           required        pam_wheel.souse_uid

(要有#號,沒有的話su –root時不用輸密碼)

 


新建用戶: 

useradd -g 10 -m -d /home/luohy  -s  /bin/bash  luohy


 

 修改用戶密碼:


echo 'abc'| passwd --stdin luohy


 

 

禁止root通過ssh登錄

 

echo "PermitRootLogin no">>/etc/ssh/sshd_config

service sshd restart

 

 

 

登錄失敗次數echo "auth required pam_tally2.so deny=8 unlock_time=600 even_deny_root


root_unlock_time=600" >>/etc/pam.d/sshd

 

echo "auth required pam_tally2.sodeny=8 unlock_time=600 even_deny_root root_unlock_time=600">>/etc/pam.d/sshd


審計記錄/var/log/audit/audit.log


開啓審計功能:auditctl -e1    rcauditd restart


檢查屬主:stat -c %U filename  刪除無屬主文件:find / -nouser -exec rm -rf {} \;



19. 關閉BOOTP服務

檢查LINUX服務器        netstat -anptu|grep 68檢查端口,如果有,則

service dhcpd stop

chkconfig dhcpd off

 

 

25.統一同步時間centos

service ntpd status

service ntpd stop

chkconfig ntpd off

/usr/sbin/ntpdate 172.28.8.190

 

crontab-e              

 

#時間同步

* */1 * * * /usr/sbin/ntpdate 172.28.8.190

 

suse

 

可視化操作:

control center——system——date and time

 

 

 

49.將文件進行屬主分配或及時刪除

 

find / -nouser -exec rm -rf {} \;

 

50.先查看是否有審計記錄

cat /var/log/audit/audit.log

 

如沒有:則開啓審計功能:

 

auditctl -e1   

rcauditd restart

 

再查看是否有審計記錄

cat /var/log/audit/audit.log

 

 

 

32. 更新openssl版本(Heartbleed心臟出血

wgethttp://www.openssl.org/source/openssl-1.0.1h.tar.gz 

tar zxvf openssl-1.0.1h.tar.gz 

cd openssl-1.0.1h

 

./config --prefix=/usr/local/openssl 

make && make install 

mv /usr/bin/openssl/usr/bin/openssl.OFF 

mv /usr/include/openssl/usr/include/openssl.OFF 

ln -s /usr/local/openssl/bin/openssl/usr/bin/openssl 

ln -s /usr/local/openssl/include/openssl/usr/include/openssl 

echo"/usr/local/openssl/lib">>/etc/ld.so.conf 

ldconfig -v 

openssl version -a

 

 

 

 

 

 

 

 

 

操作

 


 

 

cp/nfs8205/soft/openssl-1.0.1t.tar.gz /opt/

cd /opt/

tar -zxvfopenssl-1.0.1t.tar.gz

cd /opt/openssl-1.0.1t/

./config--prefix=/usr/local/openssl 

make && makeinstall 

mv /usr/bin/openssl/usr/bin/openssl.OFF 

mv /usr/include/openssl /usr/include/openssl.OFF 

ln -s/usr/local/openssl/bin/openssl /usr/bin/openssl 

ln -s/usr/local/openssl/include/openssl /usr/include/openssl 

echo"/usr/local/openssl/lib">>/etc/ld.so.conf 

ldconfig -v 

cat /var/log/audit/audit.log

openssl version -a

 

 

 

 

cat /var/log/audit/audit.log

 

如沒有:則開啓審計功能:

 

auditctl -e1   

rcauditd restart

 

再查看是否有審計記錄

 

 

 

 

 

 

 

suse

 

可視化操作:

control center——system——date and time

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章