sudo、TCP_Wrapper和PAM

1 基本介绍

sudo
来自sudo包
man 5 sudoers
sudo 能够授权指定 用户在指定主机上运行某些命令 。 如果未授权用用 尝试使用 sudo ,会提示联系管理员
sudo 可以提供日志,记录每个用户使用sudo 操作
sudo 为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机
sudo 使用时间戳文件来完成类似“检票”的 系统,默认 存活期为5 分钟的 “入场券”
通过visudo 命令编辑配置文件,具有语法检查功能
visudo –c  检查语法
配置文件 /etc/suders,/etc/suduers.d
时间戳文件:/var/db/sudo
日志文件:/var/log/secure
配置文件支持使用通配符glob:
  ?:任意单个一字符
  *: 匹配任意长度字符
配置文件规则两类:
  1 别名定义:不是必须的
  2 授权规则:必须的
root    ALL=(ALL)   ALL
%wheel  ALL=(ALL)   ALL

who 运行命令的身份 user
where 通过哪些主机 host
(whom) 以哪个用户的身份,runas
which 运行那些命令 command

配置项
    users  hosts=(RunAs) commands
    users
        username
        #uid
        user_alias
        %group_name
        %#gid
    hosts
        ip
        hostname
        netaddr
    command
        command name
        directory
        sudoedit
    Alias_Type NAME=item1,item2...
        Name 必须要全大写
        Alias_Type
            User_Alias
            Host_Alias
            Runas_Alias
            Which_Alias
普通用户使用sudo命令,需要在命令的前面加 sudo,并且要与sudo的配置文件中的定义格式必须完全一致
定义guest用户能够访问/var/log/message*的文件但是有不能其他文件
guest ALL=(ALL) /bin/cat /var/log/messsage* !/bin/cat/ message* *

2 tcp_wrapper

工作在第四层(传输层)的TCP 协议
对有状态连接的 特定 服务进行安全检测并实现访问控制
以库文件形式实现
某进程是否接受libwrap 的控制取决于发起此进程的程序在编译时是否针对libwrap 进行编译的
判断服务程序是否能够由tcp_wrapper 进行访问控制的方法:
ldd /PATH/TO/PROGRAM|grep libwrap.so
strings PATH/TO/PROGRAM|grep libwrap.so
配置文件 /etc/hosts.allow /etc/hosts.deny
基本用法
  daemon_list@host: client_list [ :options :option… ]
    option
      deny: 主要用在 /etc/hosts.allow 定义"拒绝"规则 如:vsftpd:172.16.:deny
      allow:主要用在/etc/hosts.deny定义"允许"规则 如:vsftpd:172.16.: allow
      spawn: 启动一个外部程序完成执行的操作
      twist 实际动作是拒绝访问,使用指定的操作替换当前服务,标准I/O和ERROR发送到客户端默认至/dev/null
tcpdmatch [-d] daemon[@host] client,如果在生产中,测试需要先写到其他文件中,然后使用-d 来调用
  -d 测试当前目录下的hosts.allow和hosts.deny文件
定义访问或拒绝的事件的时候使用到一些特殊字符,需要用到转义
例如:
  sshd:ALL: spawn echo "$(date +%%F) login attempt from %c  to %s,%d" >>/var/log/sshd.log
仅开放本机两个IP 地址中的一个地址172.18.0.X 上绑定的sshd 和vsftpd 服务给172.18.0.0/16 网络中除了172.18.0.0/24 网络中的主机之外的所有主机,但允许172.18.0.100 访问, 每次的用户访问都要记录于日志文件中注:其中X 为学号
allow
vsftpd@172.18.0.23,sshd@172.18.0.23:172.18. EXCEPT 172.18.0. EXCEPT 172.18.0.100:spawn echo "$(date +%%F) login attempt from %c to %s,%d" >> /var/log/sshd.log
deny
vsftpd,sshd@172.18.0.23:172.18.0.
vsftpd,sshd@all:all
编写脚本/root/bin/checkip.sh ,每5 分钟检查一次,如果发
现通过ssh 登录失败次数超过10 次,自动将此远程IP 放入Tcp
Wrapper的黑名单中予以禁止防问
#!/bash
declare -a dos
while :;do
dos=(`awk '$0 ~ /Failed/{ip[$(NF-3)]++}END{for(i in ip){if(ip[i]>10)print i}}'  /var/log/secure `)
    for i in ${dos[@]};do
    [ `iptables -L -n | grep "\<$i\>" | wc -l` -ge 1 ] && { echo $i;continue; }
    iptables -A INPUT -s $i -j REJECT
    done
sleep 5m
done

3 PAM 认证机制

PAM:Pluggable Authentication Modules
认证库:文本文件,MySQL ,NIS ,LDAP等 等
  Sun 公司于1995  年开发的 一种 与 认证 相关的通用框架 机制
  PAM 的 是关注如何为服务验证用户的 API, , 通过提供一些动态链接库和一套统一的API ,将系统提供的服务和该服务的认证方式分开
  使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方 式而无需更改服务程序
  一种认证框架,自身不做认证
  • PAM 认证机制
PAM相关文件
  模块文件目录: /lib64/security/
  环境相关的设置:/etc/security/
  主配置文件 /etc/pam.conf,默认不存在
  为每一种应用模块提供一个装用的配置文件: /etc/pam.d/app_name
  注意:/etc/pam.d/存在 /etc/pam.conf将失效
/etc/pam.d/文件的配置格式
  module_type control module args
module_type: auth(账号认证和授权),password(密码规则),session(会话资源),account(系统资源)
control:required(一票否决,但是还有检查),sufficient(一票通过),requisite(一票通过,后面不用检查),include(包含其他文件的同type的模块选者),optional(可选项,参考)
具体使用请自行查看
/user/share/doc/pam-*
rpm -qd pam
man –k pam_
man 名 模块名 如 如man rootok
《The Linux-PAM System Administrators' Guide》
1 、限制centos 用户只能够在工作时间通过ssh 远程连接本机
使用pam_time.so
  添加一行sshd;*;centos;MoTuWeThFr0900-1700到     /etc/security/time.conf
  在/etc/pam.d/sshd/加入
    account  required pam_time.so
2 、限制只有admins 组内的用户可ssh
  使用pam_group.so模块
  编辑 /etc/security/group.conf 添加如下行
   sshd;*;*;Al0000-2400;distro
  编辑 /etc/pam.d/sshd,添加入下
   auth   required  pam_group.so
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容