PAM

安全:

硬件、系統、應用程序、網絡html

硬件安全:損壞、斷電、壽命、被盜
系統安全:權限(文件系統)、用戶登陸驗證、木馬、實時關心漏洞的補丁node

進程的權限稱爲:euid和egidmysql

權限:

mount掛載選項:mount -o 指定屬性
defaults:rw,suid,dev,exec,auto,nouser,async
rw、ro:是否可寫
suid、nosuid:是否能使用suid權限
dev、nodev:是否可使用設備文件
主從設備號:主(major number)定義驅動,從(minor number)定義第幾個設備
yum install kernel-doc
內核文檔:less /usr/share/doc/kernel-doc-2.6.18/Documentation/devices.txt
查看設備文件的主從設備號:ll /dev/
建立設備文件:mknod /dev/sda5 b 8 5
exec、noexec:執行權限是否可用
auto、noauto:開機是否自動掛載
acl、noacl:是否支持facl
mount命令查看分區支持的屬性sql

 

sudo:以管理員身份,不用輸入管理員密碼,不是全部命令都能使用,須要受權
修改sudo配置文件對用戶受權:visudo會對語法檢查
配置文件:vim /etc/sudoersvim

pam身份驗證:

pam手冊:firefox /usr/share/doc/pam-0.99.6.2/html/Linux-PAM_SAG.html
pam日誌:/var/log/secure
PAM:可插入式驗證模塊
查看pam:ldd /usr/sbin/sshd | grep pam
pam模塊存放位置:ls /lib/security/
修改服務支持的pam:vim /etc/pam.d/sshd ls /etc/pam.d/
第一列爲驗證類型:auth、account 用戶名密碼、除用戶名密碼之外對登陸起決定性做用的(time,network等) 決定是否能夠驗證成功
password、session 用戶修改密碼時和會話
第二列爲驗證條件:required //必要條件(必須知足)不會返回錯誤,會繼續檢查下面的條件
requisite //必要條件,但會返回錯誤,不會再檢查下面相同的驗證類型
sufficient //充分條件,會忽略錯誤,但成功後中止驗證
optional //對最終結果無影響
include //後面跟文件,引入公共的文件
第三列爲匹配的模塊或文件等安全

實例:

一、設置root用戶不能在那些終端登陸:
刪除/etc/securetty文件中的某個終端便可
二、設置登陸的環境變量:/etc/security/pam_env.conf
三、/etc/pam.d/system-auth文件中
auth pam_unix.so //驗證用戶名和密碼
account pam_unix.so //驗證用戶過時等策略
四、pam_nologin.so 配置上此模塊後,只要/etc/nologin文件存在,則非root用戶不可登陸
五、pam_rootok.so 判斷當前用戶身份模塊
六、在/etc/pam.d/login配置文件中添加上下面的認證模塊後:
auth required pam_access.so
就能夠在/etc/security/access.conf文件中設置某些用戶能夠登陸的終端
-:root:tty1
在/etc/pam.d/vsftpd文件中配置上pam_access.so模塊後,可控制不能登陸ftp的終端
七、pam_echo.so模塊可給用戶提供友好提示等,常常應用在ftp、ssh、passwd等中
用法:session optional pam_echo.so file=存放提示文件的路徑
八、pam_time.so此模塊能夠控制登陸的時間
配置文件:/etc/security/time.conf
login;tty;user;Al1100-1830
/etc/pam.d/login:account requisite pam_time.so debug(可選)
九、pam_tally.so模塊可以讓用戶錯誤登陸幾回以上就鎖定多長時間
auth required pam_tally.so deny=3 nulock_time=20
十、pam_limits.so模塊能夠控制用戶使用的系統資源(可用於對磁盤,內存,進程等限制)
session required pam_limits.so
配置文件:/etc/security/limits.conf網絡

pam+mysql+vsftp:

使vsftp的虛擬用戶存在mysql中,並經過pam來作認證:
先安裝yum install mysql-devel
解壓pam認證模塊:tar xvzf pam_mysql-0.7RC1.tar.gz
進入解壓目錄: pam_mysql-0.7RC1編譯
./configure --with-openssl
make && make install
安裝完成後會在/usr/lib/security/目錄下產生pam_mysql.so模塊文件
作一個鏈接:ln -s /usr/lib/security/pam_mysql.so /lib/security/pam_mysql.so
注意:若是在編譯前已經安裝好mysql則會直接生成在/lib/security/目錄下
建立一個必要的本地用戶:useradd -s /sbin/nologin virtual
登陸mysql建立庫和表:
create database vsftpd;
create table users(username varchar(20) not null,password varchar(40) not null,primary key(username)) type=myisam;
insert into users values('vu1','123');
讓本地用戶能讀取表中內容:
grant select on vsftpd.users to virtual@localhost identified by '123456';
flush privileges;
配置vsftpd的pam認證:
vim /etc/pam.d/vsftpd_mysql
auth required pam_mysql.so user=virtual passwd=123456 host=localhost db=vsftpd table=users usercolumn=username passwdcolumn=password crypt=0
account required pam_mysql.so user=virtual passwd=123456 host=localhost db=vsftpd table=users usercolumn=username passwdcolumn=password crypt=0
配置vsftpd配置文件:vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd_mysql
guest_enable=YES //開啓虛擬用戶功能
guest_username=virtual //指定虛擬用戶使用的系統用戶
virtual_use_local_privs=YES //此處爲YES時,虛擬用戶使用與本地用戶相同的權限,爲NO時,使用匿名賬戶的權限
重啓vsftpd服務session

相關文章
相關標籤/搜索