歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux安全應用2

Linux安全應用2

日期:2017/3/3 11:53:00   编辑:Linux技術

[root@localhost 桌面]# service NetworkManager stop

[root@localhost 桌面]# chkconfig NetworkManager off

[root@localhost 桌面]# setup

[root@localhost 桌面]# vim /etc/udev/rules.d/70-persistent-net.rules

[root@localhost 桌面]# modprobe -rv e1000

[root@localhost 桌面]# modprobe -v e1000

[root@localhost 桌面]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

[root@localhost 桌面]#service network restart

[root@localhost 桌面]# setenforce 0

[root@localhost ssh]# vim /etc/selinux/config

SELINUX=disabled

:wq

ssh -X 192.168.1.1 //加X可以在遠程的服務器上打開system-network-date圖形界面,在本地顯示出來

ssh 192.168.10.1 'useradd bob' //在ip地址後面加命令,直接執行命令,不用登陸遠程服務器

ping6 ::1 //拼ipv6本地環回

ping 127.0.0.1 //拼ipv4本地環回

netstat -tunlp | nore //查看監聽tcp的端口號有哪些

:::111 //:冒號後面111代表端口號,前面那兩冒號代表ipv6任意地址

/etc/ssh 配置文件

ssh_config 客戶端配置文件

sshd_config 服務器端軟件

vim /etc/ssh/sshd_config

Port 3389 //端口號

Protocol2 2 //版本

ListenAddress 192.168.168.174 //端聽的IP地址,0.0.0.0代表所有的IP地址

PermitRootLogin no //不允許root用戶登陸

PermitEmptyPasswords no //不允許空密碼

UseDNS no //不查找DNS,不查找IP對的名字是多少

LoginGraceTime 2m //登陸頁面兩分鐘不動,自動斷開

StrictModes yes

MaxAuthTries 6 //最大身份認證嘗試6次

:wq

man ssh //查ssh命令幫助

man 5 sshd_config //查配置文件配幫助,不要加路徑

ssh -p 3389 192.168.10.3 //通過端口號3389連接ssh

sshl黑白名單設置

配置文件 /etc/ssh/sshd_config

從上往下

1. DenyUsers USER1 USER2 ...

2. AllowUsers USER1@HOST USER2...

3. DenyGroups GROUP1 GROUP2...

4. AllowGroups GROUP1 GROUP2...

例:

vim /etc/ssh/sshd_config

AllowUsers tom [email protected] //允許tom用戶登陸,允許root用戶在192.168.10.5的主機上登陸,其他不設允許的主機,默認不允許登陸

:wq

rsync httpd-2.2.25.tar.gz [email protected]:/home/demo

scp httpd..tar.gz [email protected]:/home/demo

加密技術

一.加密方式

1.對稱加密:加解密使用相同的密鑰。算法:DES/3DES/AES。優點,加密效率高,缺點,

密鑰的傳輸和保管不方便。

2.非對稱加密:公鑰加密、私鑰解密。算法:RSA。優點,密鑰傳輸保管方便。缺點,

加密效率低

3.單向加密:加密只能向一個方向進行,不能回推。哈希算法。MD5、SHA

[root@localhost ssh]# md5sum /etc/passwd

[root@localhost ssh]# sha -> 敲tab健

sha1sum sha224sum sha256sum sha384sum sha512sum sharesec

[root@localhost ssh]# sha512sum /etc/passwd //數字越大密鑰越長

bob:$6$xA/CY //6代表sha512加密

bob:$1$xA/CY //1代表MD5加密

實現不用密碼即可連接ssh

一.生成密鑰對

# ssh-keygen ->後續全部回車->第一次回車修改密鑰名字,第二次和第三次回車修改密鑰密碼

/root/.ssh/id_rsa //密鑰對存放位置

二.上傳公鑰到服務器root用戶下

# ssh-copy-id -i root@服務器IP地址

# ssh-copy-id -i [email protected]

/root/.ssh/id_rsa 私鑰

/root/.ssh/id_pub 公鑰

/root/ known_hosts 保存的密碼信息

cd /etc/ssh

rm -rf ssh_host*

service sshd restart

ssh 192.168.1.2 //登陸不了

這時把known_hosts 刪了就可登陸

rm -rf known_hosts

ssh 192.168.1.2 //登陸成功

[root@localhost .ssh]# ls

id_rsa id_rsa.pub known_hosts

[root@localhost .ssh]# rm -f id*

[root@localhost .ssh]# ssh-keygen //重新生成密鑰

[root@localhost .ssh]# ssh-add //執行此步可以不用輸入密鑰就可以進行遠程連接

Could not open a connection to your authentication agent.

[root@localhost .ssh]#eval `ssh-agent` //如果ssh-add失敗就執行此步

Agent pid 5267

[root@localhost .ssh]# ssh-add ~/.ssh/rsa //如果ssh-add失敗就執行此步

/root/.ssh/rsa: No such file or directory

[root@localhost .ssh]# ssh-add

Enter passphrase for /root/.ssh/id_rsa:

Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

[root@localhost .ssh]# ssh-keygen

yum list | grep wire //查抓包工具

yum -y install wireshark wireshark-gnome //安裝抓包工具

應用程序-Internet-wireshark //打開抓包工具

二.SSH加密、認證的驗證

1.當客戶端第一次SSH到服務器時,服務器會發送他的密鑰信息。客戶端不能確定該密

鑰就是真正的服務器發過來的,所以屏幕上會提示是否信任該密鑰。用戶輸入YES後,

可以繼續。

2.在服務器端

# rm -f /etc/ssh/ssh_host_*

# service sshd restart

3.客戶端再次連接服務器,因為服務的密鑰重新生成了,客戶端本地存儲的服務器密鑰與

本次會話服務器發過來的密鑰信息不一致,所以客戶端拒接連接

4.客戶端重新信任密鑰

# rm ~/ssh/known_hosts

# ssh 服務器

三.生成ssh密鑰,使用密碼保護私鑰

1.客戶端生成密鑰對。

# ssh-keygen ->提示輸入passphrase的時候,輸入密碼,該密碼是保護私鑰的密碼

2.上傳至公鑰服務器

# ssh-copy-id -i 服務器ip

3.連接測試

# ssh 服務器IP ->提示輸入密碼,這個密碼是保護私鑰的密碼,而不是服務器的密碼

4.把私鑰密碼托管給agent

# ssh-add

5.再次SSH服務器,就不需要輸入任何密碼。

四.證書 ->算法的載體

1.CA證書頒發機構

五.TCP WRAPPERS

1.統一的保護策略

多種TCP服務共用,提高效率

2.檢查服務是否支持被TCP WRAPPERS保護

[root@localhost 桌面]# ldd `which sshd vsftpd` | grep wrap

libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f274758c000)

libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fb676477000)

3.防護規則存放在

/etc/hosts.allow

/etc/hosts.deny

策略應用規律

先檢查hosts.allow,有匹配則允許

否則再檢查hosts.deny,有配匹則拒絕

若兩文件中均無匹配,默認為允許

4.規則的格式

服務列表:客戶機列表

關於客戶機地址

可使用通配符 ? 和 *

網段地址,如 192.168.4

或者 192.168.4.0/255.255.255.0

區域地址, 如 .wsyht.com

5.例:

僅允許以下客戶機訪問 VSFTPD

網段192.168.4.0/24

IP范圍:192.168.7.1-192.168.7.20

# rpm -ql telnet-server //查看他的服務名字

# vim /etc/hosts.allow

vsftpd : 192.168.4.*,192.168.7.?,192.168.7.1?,192.168.7.20

sshd : 192.168.1.3

in.telnetd : 192.168.1.3

# vim /etc/hosts.deny

# vsftpd:ALL

五.AAA

Authentication:身份認證 -> 你是誰

Authorization:授權 -> 你能干什麼

Audit:審計 -> 你干了什麼

六.PAM可插拔身份認證模塊

1.配置文件:/etc/pam.d/

2.配置文件的內容(栽選一行如下):

account required pam_nologin.so

第一列是認證類型,可用的選項有:

accout: 執行基於用戶管理的非認證行為操作,典型的,它可以限制用戶的登陸時間、可用的系統資源

auth:這個模塊提供了驵證用戶的兩個方面。首先它認證用戶是他聲稱的那個人(比如用密碼驗證),其次,

它賦矛用戶組成員身份或其他權限。

password:當用戶修改時,需要這個模塊

session:當賦矛用戶某些服務之前或之後,要執行哪些操作。例如用戶在訪問數據時執行寫日志操作。

第二列是控制方式,可用的選項有

required:檢查結果失敗,最終一定會失敗,但是仍然檢查後續。

sufficient: 該項檢查成功,立即通過,不再檢查後續項。如果項檢查失敗,也不意味著最終會失敗。

optional: 可選

include:包含另一個文件的內容

第三列是調用的模塊,這些模塊位於/lib64/security下

/var/log/secure 安全日志文件

3.例一:只有whell組的成員才可以切換成root用戶

# vim /etc/pam.d/su -> 打開auth required 這行的注釋

以tom身份登陸,執行su - 操作,即使輸入正確的密碼,也不能登陸

# usermod -aG wheel tom -> 把tom加入到wheel組 a,追加,G附加

再次執行su - 操作,tom可以切換成root用戶

4.例二:禁止tom從tty2登陸

# vim /etc/pam.d/login 加入下面一行

account required pam_access.so

# vim /etc/security/access.conf 尾部增加,不能追加在最後一行

- : tom : tty2 //-號代表取消的意思

5.例三:只允許tom用戶打開兩個文件

查看/etc/pam.d/system-auth中包含

session required pam_limits.so 尾部添加

# vim /etc/security/limits.conf 尾部增加

tom hard nofile 2

不管是切換成為tom,還是以tom身份登陸,都被禁止

6.例四.創建文件/etc/vsftpd/ftpgrps,該文件中的組不能訪問ftp

# groupadd denyftp

# usermod -aG denyftp tom

# echo 'denyftp' > /etc/vsftpd/ftpgrps

# vim /etc/pam.d/vsftpd 尾部增加

auth required pam_listfile.so item=group sense=deny

file=/etc/vsftpd/ftpgrps onerr=succeed

驗證,tom登陸ftp,登陸不成功,檢查/var/log/secure 日志

7.例五,設置用戶密碼最短長度為9位

# vim /etc/pam.d/system-auth

password requisite pam_cracklib.so try_first_pass retry=3 minlen=9

dcredit=0 ucredit=0 lcredit=0 ocredit=0

本文出自 “wsyht的博客” 博客,請務必保留此出處http://wsyht2015.blog.51cto.com/9014030/1790277

Copyright © Linux教程網 All Rights Reserved