Linux身份鉴别机制是保护操作系统安全的重要机制之一,是防止恶意用户进入系统的一个重要环节。早期的身份鉴别机制就是传统的UNIX身份鉴别机制,它采用口令加密并与原密码进行对比的方式来对用户身份进行鉴别。但是这种加密方式过于单一,在一个服务中用户的帐号密码泄露会涉及到多个服务的安全性,所以为了增强系统的安全性,出现了许多其他的身份鉴别机制,如指纹认证、USB认证等。但是这样导致了一个问题,为了应用这些认证机制,就需要重新编写并编译应用程序(如系统登陆服务login)。为了解决这个问题,1995年Sun公司的Vipin Samar和 Charlie Lai提出了PAM(Pluggable Authentication Modules)身份鉴别机制,它采用模块化设计和插件功能,使得系统在更改认证机制时不再需要修改应用程序,极大的提高了认证机制的灵活性。本报告对Linux各用户帐号的权限区别进行了分析,对传统UNIX身份鉴别机制的实现过程进行了研究,重点对PAM身份鉴别机制的实现过程进行了研究与分析,最后通过一个具体的PAM策略演示场景实现了身份鉴别机制的执行过程,研究结果也发现Linux身份鉴别机制是在Linux用户态下实现的,并不涉及内核的具体实现。
本文不一定适合比较老版本的Linux,如果只关心使用,请直接看“总结”,本文主要针对CentOS,其它Linux发行版本类似,但细节可能有出入,比如重启服务可能不是用systemctl,而是service等。
在linux系统中,用户多次登录失败会被锁定,一段时间内将不能再登录系统,这是一般会用到Pam_Tally2进行账户解锁。
在Linux系统中,用户多次登录失败会被锁定,一段时间内将不能再登录系统,这是一般会用到Pam_Tally2进行账户解锁。
pam_tally2模块可于用于在对系统进行一定次数的失败ssh登录尝试后锁定用户
这里复现也真是奇怪,在靶机上没复现成功,在服务器上复现成功了 原理:替换本身操作系统的ssh协议支撑软件openssh,重新安装自定义的openssh,达到记录帐号密码,也可以采用万能密码连接的功能! 参考:(演示未做版本修改及文件修改时间处理)
以 ssh 为例,每当有 ssh 的连接请求时,tcpd(Tcp Wrapper的守护进程)即会截获请求, 当请求满足配置文件中的规则,则放行,否则中断连接,配置文件中可设置匹配规则后执行命令
在Linux中执行有些程序时,这些程序在执行前首先要对启动它的用户进行认证,符合一定的要求之后才允许执行,例如login, su等。在Linux中进行身份或是状态的验证程序是由PAM来进行的,PAM(Pluggable Authentication Modules)可动态加载验证模块,因为可以按需要动态的对验证的内容进行变更,所以可以大大提高验证的灵活性。 一、PAM模块介绍 Linux-PAM(即linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式。换句话说,不用(重新编写)
写作本系列文章的背景是我们要在大数据平台/企业数据湖场景下给出中心化的用户身份认证方案。此前,我们实现过Windows AD + Kerberos的集成方案,由于Windows AD是LDAP和Kerberos的双重实现,这种天然优势使得Windows AD可以实现真正意义上的(大数据集群的)Kerberos账号与企业用户账号的统一管理。当我们想在OpenLDAP + Kerberos上实现同样的目标时,发现这一领域的知识与方案琐碎而凌乱,缺少统一连贯,脉络清晰的讲解,在经过大量技术调研和系统梳理后,我们特别撰写了本系列文章,希望可以借此将这一话题全面彻底地阐述清楚。本系列由三篇文章组成,将沿着“如何集成OpenLDAP与Kerberos实现统一认证管理”这一主线推进,在实现过程中会详细介绍使用到的技术和原理并给出完备的执行脚本用于实际环境的搭建。我们假设读者已经具备OpenLDAP和Kerberos的基本知识,不再对两者进行单独介绍。
可能大多数人都觉得Linux是安全的吧?但我要告诉你,这种想法绝对是错误的!假设你的笔记本电脑在没有增强安全保护的情况下被盗了,小偷首先就会尝试用“root”(用户名)和“toor”(密码)来登录你的电脑,因为这是KaliLinux的默认用户名和密码,而大多数人仍然会继续使用它们。你是否也是这样?我希望你不是!
CVM云服务器通过VNC输入正确的密码后无法正常登录,报错Module is unknown
Note: 更改ssh相关配置后需要重启sshd服务 systemctl restart sshd
针对linux上的用户,如果用户连续3次登录失败,就锁定该用户,几分钟后该用户再自动解锁。Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。
本文主要给大家介绍了关于linux尝试登录失败后锁定用户账户的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍吧。
[TOC] 0x00 前言介绍 Q:什么是PAM? 答:PAM 的全称为可插拔认证模块(Pluggable Authentication Modules:简称 PAM /pæm/ ),Linux中的一
Unix machines depend on accurate timekeeping. The kernel maintains the system clock, which is the clock that is consulted when you run commands like date. You can also set the system clock using the date command, but it’s usually a bad idea to do so because you’ll never get the time exactly right. Your system clock should be as close to the correct time as possible.
这种认证方法操作起来类似password, 只不过它使用 PAM (插入式验证模块)作为认证机制。默认的 PAM 服务名是postgresql。PAM 只被用于验证用户名/口令对并且可以有选择地验证已连接的远程主机名或 IP 地址。因此,在使用 PAM 进行认证之前,用户必须已经存在于数据库中。有关 PAM 的更多信息,请阅读 Linux-PAM 页面2 . 下列被支持的配置选项用于 PAM:
root账号 是 Linux 和其他类 Unix 操作系统上的超级帐户。此帐户可以访问系统上的所有命令和文件,并具有完全读取、写入和执行权限。它用于在系统上执行任何类型的任务;create/update/access/delete其他用户的帐户,install/remove/upgrade软件包。 root用户拥有绝对权力,执行的任何操作都对系统至关重要。在这方面,任何错误由root用户可能对系统的正常运行产生巨大影响。此外,该帐户也可能因意外、恶意或人为无视规则而被不当或不当使用而被滥用。 因此,建议禁用
本文和等保联系不是很密切,还是说一了些linux里细节一些的东西,所以有可能会浪费你生命中的好几分钟,同时我使用的是centos6。
Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用其实很容易就达到这个数量 系统总限制是在这里,/proc/sys/fs/file-max.可以通过cat查看目前的值,修改/etc/sysctl.conf 中也可以控制. /proc/sys/fs/file-nr,可以看到整个系统目前使用的文件句柄数量 linux 中数据的含义 /proc/sys/fs/file-nr [root@localhost logs]# cat /proc/sys/fs/fi
近来很多知名企业都出现了密码泄露,业内对多重认证的呼声也越来越高。在这种多重认证的系统中,用户需要通过两种不同的认证程序:提供他们知道的信息(如 用户名/密码),再借助其他工具提供用户所不知道的信息(
Linux 系统安全与优化配置 Linux 系统安全问题 ---- 目录 1. Openssh 安全配置 1.1. 禁止root用户登录 1.2. 限制SSH验证重试次数 1.3. 禁止证书登陆 1.4. 使用证书替代密码认证 1.5. 图形窗口客户端记忆密码的问题 1.6. 关闭 GSSAPI 1.7. 禁止SSH端口映射 1.8. IP地址限制 2. Shell 安全 2.1. .history 文件 2.2. sudo 安全问题 2.3. 临时文件安全 2.4. 执行权限 3. 防火墙 3.1. 策略
我们都知道 Linux 下 Root 用户的权限是最大的,因此一般不推荐直接使用 Root 用户操作。通常都是使用普通用户,在必要时通过 Sudo 命令来提权。
有别于市面上常见的jumpserver方案,使用本文所搭建的跳板机将不会存储任何Linux服务器的账号、密码、密钥等信息,杜绝了信息泄露的可能。本文最大的特点是借助Linux的PAM机制,通过修改Linux服务器系统层配置,部分接管了Linux系统的身份认证能力,关于这一点,下文将详细描述。
我们都知道登录MySQL数据库时,连接层接入数据库需要经过mysql.user表中,用户名密码的验证才能登录数据库。
1 – 记录主机信息 每当您正在使用新的Linux主机进行安全增强时,您需要创建一个文档并记录本文档中列出的项目,工作完成后,您将需要检查这些项目。另外,在开始时该文档,您需要记录有关Linux主机的信息: 设备名称 IP地址 MAC地址 负责安全提升工作的人(实际上是你) 日期 资产编号(如果您正在开展业务,则需要记录设备的资产编号) 2 – BIOS保护 您需要为此主机的BIOS设置密码,以确保最终用户无法修改或覆盖BIOS中的安全设置,这非常重要!设置BIOS管理员密码后,您需要从外部媒体设备(US
本章讲述了基本的基于命令行界面的系统配置方法。在学习本章前,你需要先阅读 Ubuntu 系统安装提示, 第 3 章.
攻击者在获取系统权限后,通常会留下后门以便再次访问。本文将对Linux下常见的权限维持技术进行解析,知己知彼百战不殆。
作者 黑狐 [译自vpsboard] Linux服务器一直就是以稳定、高效、安全而著称。安全是比较重要的一个环节,这关系到商业机密,更关系到企业的存亡。本文介绍了如何使用optw生成一次性口令及只允许执行特定命令,以下为译文: 我想允许我的朋友登录我的服务器下载一些资料,但是只允许他登录10次,登陆后只允许执行scp命令,不许干别的事情,该怎么办呢? 归纳起来,完成以下2件事情: 生成一次性口令 只允许用户执行scp任务 实现目标1:生成一次性口令 安装otpw sudo apt-get in
不久以前,我就证明了对大多数用户而言,文件级加密具有足够的安全性,并且比全盘加密具有更高的性能。表达这种异质观点的努力比预期的要少得多。相对的,一些读者发送了表示好奇和渴望尝试文件级加密的消息和评论。
我们都知道计算机最喜欢的是数字,而人类喜欢的是语言,所以我们在计算机上运行的进程、定义的用户、端口号、协议、ip地址等都需要转换成数字的形式让计算机明白,在Linux上实现这种功能的框架就是nsswitch。
root账号 是 Linux 和其他类 Unix 操作系统上的超级帐户。此帐户可以访问系统上的所有命令和文件,并具有完全读取、写入和执行权限。它用于在系统上执行任何类型的任务; create/update/access/delete其他用户的帐户,install/remove/upgrade软件包。 root用户拥有绝对权力,执行的任何操作都对系统至关重要。在这方面,任何错误由root用户可能对系统的正常运行产生巨大影响。此外,该帐户也可能因意外、恶意或人为无视规则而被不当或不当使用而被滥用。 因此,建议禁
云主机无法ssh及ping通,端口开启。VNC中有大量“backlog limit exceeded”的提示
PAM 的全称为“可插拔认证模块(Pluggable Authentication Modules),是一套应用程序编程接口,它提供了一系列的验证机制,只要使用者将验证阶段的需求告知PAM后,PAM就能返回使用者验证的结果。
Linux服务器一直就是以稳定、高效、安全而著称。安全是比较重要的一个环节,这关系到商业机密,更关系到企业的存亡。本文介绍了如何使用optw生成一次性口令及只允许执行特定命令,以下为译文: 我想允许我
描述:dpkg是软件包管理基础工具“Debian Packager ”的简写,为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除,dpkg命令与rpm有异曲同工之妙; 使用方法:
2)Openssl版本:1.0.1e-15.el6,由于升级到openssh_6.7p1,需要OpenSSL的版本在0.9.8f以上,所以这里就不用升级openssl了。直接升级openssh就行了。
Linux 系统安全与优化配置 目录 1. Openssh 安全配置 1.1. 禁止root用户登录 1.2. 限制SSH验证重试次数 1.3. 禁止证书登陆 1.4. 使用证书替代密码认证 1.5. 图形窗口客户端记忆密码的问题 1.6. 关闭 GSSAPI 1.7. 禁止SSH端口映射 1.8. IP地址限制 2. Shell 安全 2.1. .history 文件 2.2. sudo 安全问题 2.3. 临时文件安全 2.4. 执行权限 3. 防火墙 3.1. 策略 3.2. 防止成为跳板机 3.3.
持久化后门是指当入侵者通过某种手段拿到服务器的控制权之后,通过在服务器上放置一些后门(脚本、进程、连接之类),来方便他以后持久性的入侵,简单梳理一下日常遇见windows用的比较多的一些持久化方式方便以后排查问题使用.
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。虽然任何网络服务都可以通过SSH实现安全传输,SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。使用频率最高的场合类Unix系统,但是Windows操作系统也能有限度地使用SSH。 SSH本身是一个非常安全的认证连接方式。不过由于人过等方面的原因,难免会造成密码的泄露。针对这种问题我们不妨给SSH再加一把锁。当然,增加这层锁的方式有很多种。例如:knockd、S/KEY、OPIE/OPTW、Two-factor authentication等。
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/122
vsftpd可能是世界上最好的ftpd。它在linux世界非常流行,安全,性能高。 本文的目的是让PgSQL存储你的vsftp的虚拟用户和密码,通过一个叫做pam的来认证。 零、简述PAM原理。 如果你已经对pam有所了解,请跳过,我知道的可能还不如你多。你不感兴趣也请跳过,因为不看这个也可配置。 代码: 用户 vsftpd PAM模块 用户和密码数据库 vsftpd用了一种很聪明同时也是unix/linux规范的方法来认证用户,就是PAM。大家对于PAM,也许有些陌生,但是一直在用。所谓PAM,英文是:Pluggable Authentication Modules,可拔插认证模块(不知道这样翻译对不对)。看见plug这个关键字,就知道是很灵活的。 现在几乎所有daemon程序一般都是用PAM来进行认证的,包括telnet/sshd/imapd,甚至你的login,都是用PAM。在 fbsd 4上的朋友,你可以打ps -ax|grep pam,你会发现login了多少个控制台,就会有多少个写着pam的进程。 PAM的最大好处是灵活。它不管你的用户和密码用什么数据格式存储(数据库也好,通常用的密码文件也好),只要有相应的PAM模块就可以存储。比如说,大家不仅可以用vsftpd + PgSQL做用户登陆验证,只要你喜欢你还可以用MySQL,Oracle,LDAP数据库存储用户数据,只要有相应的PAM就可以。所有的daemon 都可以用一个后台数据库来做用户验证登陆,包括telnet/sshd等等。 pam的配置机制在不同版本的freebsd上有差异。 freebsd-4放在/etc/pam.conf,一个文件记录所有pam服务。 freebsd-5放在/etc/pam.d,/usr/local/etc/pam.d。每个pam服务由一个独立的文件记录。 本文不打算详细叙述PAM的配置。PAM的配置不是很难,毕竟,只是要你配置一些参数,不是叫你开发一个pam模块出来。而且本文的篇幅所限,偶刚刚知道的一点东西希望能够起到抛砖引玉的作用。等偶对pam再玩得深入和熟一点的时候,再写一篇关于深入一点关于pam的东东? 准备开始:提要 简单讲讲要用到的配置文件的作用。 引用: /etc/pam.conf #pam服务的配置 /etc/pam_pgsql.conf #pam_pgsql.so的配置 /usr/local/etc/vsftpd.conf #vsftpd的配置 一、安装vsftpd,PostgreSQL,pam_pgsql。 我都是使用port来安装的,请大家用port/package来安装,不要自己下载源码来编译,否则可能根据本文的方法可能无法正常使用。其中vsftpd和pam-pgsql一定要用port/package来安装。 以下是他们的port目录: 引用: /usr/ports/ftp/vsftpd /usr/ports/databases/postgresql7 /usr/ports/security/pam-pgsql 安装:只要cd进去,然后make install就OK了。 二、PostgreSQL安装(如果你已经有了PostgreSQL,不需要看这一节) 简单提提用port来装PostgreSQL的过程,因为BSD版上的装PgSQL的方法都是自己下载源码编译的。我是用port来编译安装,因为这是fbsd推荐的安装方法,而且安装的软件会根据bsd的hier(目录结构)来安装,比较便于管理。 当用port来安装好PostgreSQL,默认的数据库管理用户是pgsql(port里头的安装程序自动添加的),其他系统默认的是postgres。初始化PostgreSQL的程序如下: 1、初始数据库。请先用root登陆或者su到root。然后,打命令: 代码: # su pgsql # initdb 正常初始化的应该有以下提示: 引用:
操作系统安全布置的作业,搞了一周多,虽然做完了。 但还是对PAM不是很了解…
查看账户、口令文件、与系统管理员确认不必要的账户。对于一些保留的系统伪账户如:bin,sys,adm,uucp,lp,nuucp,hpdb,www,daemon等可根据需求锁定登陆
工作中突然发现有一台linux机器不能su 到root, 即便密码是正确的,也还是提示: The password is too strict. 之类的错误;后来经过很多折腾找到了原因,这里re-produce 这个问题,以供大家参考下解决问题的思路: 如果你首先想到的是sudo的配置,建议你再回顾下sudo与su的区别;因为这个问题跟sudo 就不沾边啊,这里是直接用su - root 就报错,所以与sudo的配置没有关系;下面分享下如何解决这类问题: A.首先产生现象(centos7 的环境):
#!/bin/bash# ubuntu vsftpd installuserFile="/datadisk/eisc/ftp"# 配置用户的家目录ftp_install(){FtpPackageList=( vsftpd db-util )for i in ${FtpPackageList[*]}do FtpPackage=`sudo apt list --installed | grep $i ` if [ ${#FtpPackage} -lt 10 ] then ./ap
领取专属 10元无门槛券
手把手带您无忧上云