day2-ssh+tcp warappers+pam

LINUX安全应用

ssh访问控制

TCP Wrappers防护

PAM可插拔认证

PAM认证案例实践

?

SSH登录 有哪些隐患

不安全的网络环境

密码嗅探

键盘记录

恶意猜 解及攻击

账号枚举

暴力破解密码

?

提高 SHH的安全性

启用SSH黑名单、白名单

仅允许、仅拒绝

验证客户端密钥

客户端存私钥、服务器存公钥

其他控制手段

防火墙、TCP防护、PAM认证

?

yum install expect

#!/bin/bash

pass=root

newpass=root1

?

for IP in $(cat /root/bin/ip.list)

do

????expect <<EOF

????spawn ssh [email protected]${IP} "echo $newpass" | passwd –stdin root"

????expect "(yes/no)?" {

????send "yes\r"

????expect "password:"

????send "${pass}\r"

} "password:" { send "${pass}\r" }

expect eof

EOF

done

?

sshd基本安全配置

配置文件/etc/ssh/sshd_config

Port 22????????修改端口号默认为22

Protocol 2

ListenAddress 192.168.100.100

PermitRootLogin no????????是否允许root用户登录

PermitEmptyPasswords no

StrictModes yes????????检查用户相关环境信息,若不匹配拒绝登录

MaxAuthTries 6????最大的尝试次数

MaxSessions 10????最大的会话连接数

UseDNS no???? 取消DNS反记录

LoginGraceTime 2m 在输入密码的时间默认2分钟

?

sshd黑/白名单配置

配置文件/etc/ssh/sshd_config

DenyUsers????USER1 USER2 ..

AllowUsers????USER1HOST USER2 ..

DenyGroups????GROUP1 GROUP2 ..

AllowGroups????GROUP1 GROUP2 ..

?

#for I in {1..254}

do

echo –e "192.168.100.$i\ser$i.test.com" >>/etc/hosts

done

?

sshd的登录验证方式

口令验证

检查登录用户的口令是否一致

密钥验证

检查客户端私钥与服务器上的公钥是否匹配

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_Keys????公钥库:存放授权客户机的公钥文本

?

SSH无密码登录

使用工具ssh-keygen生成SSH密钥对

可以手动指定加密算法-t rsa 或 –t dsa

若不指定,默认采用RSA加密

#ssh-keygen

id_rsa????id_rsa.pub

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

?

vim authorized_keys????删除你定义的一行

cat .ssh/known_hosts

提高OpenSSH服务安全

基本安全策略——禁止root、禁止空口令

为SSH访问配置"仅允许"策略

分别实现密钥验证倒入、免密码登入、禁用密码验证

?

为私密加密码用

先生成 密钥ssh-keygen

ssh-copy-id –i IP地址

ssh-agent

将出的ssh-agent输出的信息执行一次

ssh-add

ssh IP地址

?

TCP Wrappers防护

通用的保护机制

统一的保护策略

多种TCP服务共用,提高效率

?

作用

方式一:由tcpd或xinetd提供统一保护

超级服务器xinetd

方式二:各服务独自调用libwrap.so模块

典型服务:vsftpd、sshd、xinetd

ldd `which sshd vsftpd `|grep wrap

?

防护规则存放在

/etc/hosts.allow

/etc/hosts.deny

策略应用规律

先检查hosts.allow,有匹配则允许

否则再检查hosts.deny,有匹配则拒绝

若两文件中均无匹配,默认为允许

?

规则格式

服务列表:客户机列表

ALL为所有

?

DenyHosts阻止SSH攻击

安装及使用请参照README.txt

dneyhosts.cfg配置要点

SECURE_LOG=/var/log/secure

HOSTS_DENY=/etc/hosts.deny

PURGE_DENY=2h????????2小时

BLOCK_SERVICE=sshd????服务名

DENY_THRESHOLD_INVALID=3????????无效账户尝试登陆次数

DENY_THRESHOLD_VALID=5????????有效账户尝试登陆次数

DENY_THRESHOLD_ROOT=2????????ROOT用户尝试登陆次数

?

PAM可插拔认证

关于用户认证

如何识别真正的用户

如何控制合法用户对资源的访问

应用如何降低认证开发成本

Pluggable Authentication Modules

1995年,由sun公司最好初提出

应用》》接口》》模块

?

三A认证

Authentication:身份认证????你是认证

Authorization:授权????????你能干什么

Audit:审计????????你干了什么

配置文件/etc/pam.d/

查看/etc/pam.d/su

account????????required????pam_nologin.so

第一列是认证类型,可用的选项有:

account:执行基于用户管理的非认证行为操作。典型的,它可以限制用户的登录时间、可用的系统资源

auth:这个模块提供了验证用户的两个方面。首先,它认证用户是他声称的那个人(比如:密码验证);其次,它赋予用户组成员身份或其他权限。

password:当用户修改密码时,需要这个模块。

session:当赋予用户某些服务之前或之后,要执行哪些操作。例如:用户在访问数据执行的日志操作

?

第二列是控制方式,可用选项有:

required:检查结果失败,最终一定会失败,但是仍然检查后续项

requisite:与required类似。只不过该项检查失败,立即停止后续检查项

sufficient:该项检查成功,立即通过,不再检查后项。如果该检查失败,也不意味着最好终会失败

optional:可选

include:包含另一个文件 的内容

?

第三列是调用的模块,这些模块位于/lib64/security/目录下

?

vim /etc/pam.d/su

auth sufficient pam_rootok.so

# Uncomment the following line to implicitly trust users in the "wheel" group.

#auth sufficient pam_wheel.so trust use_uid

# Uncomment the following line to require a user to be in the "wheel" group.

#auth required pam_wheel.so use_uid

?

限制用户登录终端

/etc/security/access.conf

  • : ????jack????:????tty2

/etc/pam.d/login

account required pam_access.so????????????注意顺序

限制对系统资源的访问

配置login,启用pam_limits.so模块

配置limits.conf访问策略

时间: 2024-08-28 17:38:22

day2-ssh+tcp warappers+pam的相关文章

SSH利用pam chroot限制登录用户

很多网友写了不少关于ssh如何使用pam chroot限制远程登录用户访的文章,不过多少都有些问题,导致不能正常使用,笔者经过研究,将ssh如何使用pam_chroot模块的方法写出来,帮着大家学习. 关于Linux系统的PAM机制这里不再介绍,只给出实现步骤: 1.保证当前安装的openssh支持pam,编译时需要带有--with-pam.如果编译时没有--with-pam以后想要启用pam时,需要修改配置文件sshd_config,将该文件中的"UsePAM no"改为"

Linux开启TCP 22端口(基于SSH协议)

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议. 第一步 #查看本机是否安装SSH软件包 [[email protected] ~]# rpm -qa | grep ssh openssh-server-6.6.1p1-12.el7_1.x86_64 openssh-clients-6.6.1p1-1

ssh 配置文件讲解大全 ssh调试模式 sftp scp strace进行调试

ssh 配置文件讲解大全  ssh调试模式  sftp scp strace进行调试 http://blog.chinaunix.net/uid-16728139-id-3265394.html 最近在研究openssh的源代码,不得不折服它代码的精炼和彪悍,即便搞清楚了其架构和思路之后,愣是到头来愣是发现,其实这个小东西还是有很多不为人知却又是研究代码不得不了解的知识,偶然发现如此强悍的介绍, 利索当然地笑纳一下. 一)客户端与服务端的通讯认证流程: 第一阶段: 双方协商SSH版本号和协议,协

Linux系统下如何配置SSH_Centos7 ssh连接配置 CentOS7下安全配置

转自:http://www.linuxdown.net/install/config/2016/0611/5853.html Linux系统下如何配置SSH_Centos7 ssh连接配置 CentOS7下安全配置SSH 时间:2016-06-11 11:13来源:未知 作者:Linux先生 举报 点击:1804次 SSH 通常是我们进入新伺服器的第一个应用程式,它也取代了telnet 和rsh 成为管理伺服器的最主要介面. SSH 通常是我们进入新伺服器的第一个应用程式,它也取代了telnet

linux修改ssh端口

该教程是目前最安全的教程,如果你是新手请严格按照教程的步骤进行,如果是有一定基础的人可以选择性跳过某些段落 修改端口配置 先运行 vim /etc/ssh/sshd_config 找到#Port 22 这行然后去掉前面的注释,然后再下面加一行 Port 1234 Port 22   Port 1234 很多教程是直接修改22为其他端口,最好不要这样做,万一修改的端口不能用,你就完全登陆不上了,所以先留一条后路 修改防火墙配置 修改iptables(linux 的防火墙)文件: vim /etc/

Linux下的ssh环境搭建与管理

Linux下的ssh环境搭建与管理 实验环境 1:网桥模式 2:安装好vmtoos 3:安装好yum 4:安装好ssh相关软件包 5:服务端:xuegod-63   IP:192.168.1.63 客户端:xuegod-64   IP:192.168.1.64 客户端普通用户:ceshi  密码:123456 6:安装好扫描软件rpm -ivh/mnt/Packages/nmap-5.21-4.el6.x86_64.rpm 实验目标 1:SSHD服务介绍 2:SSHD服务安装配置 3:两Linu

ssh环境搭建与管理(详解)

ssh环境搭建与管理 (详解) 实验环境 服务端:xuegod-63   IP:192.168.1.63 客户端:xuegod-64   IP:192.168.1.64 客户端普通用户:ceshi  密码:123456 安装好扫描软件rpm -ivh /mnt/Packages/nmap-5.21-4.el6.x86_64.rpm 实验目标 1:SSHD服务介绍 2:SSHD服务安装配置 3:两Linux服务器之间数据拷贝 4:SSHD服务作用: 实验步骤 1:搭建环境 1):网桥模式 2):v

查看ssh服务开启状态

[email protected]:/etc/init.d# /etc/init.d/ssh status * sshd is running 或者这样检查:[email protected]:/etc/init.d# service ssh status ssh start/running, process 748 或者这样检查: [email protected]:~# netstat -apntlu 激活Internet连接 (服务器和已建立连接的) Proto Recv-Q Send-Q

mysql+ssh 配置(转载)

Mysql+ssh配置 一.Linux平台间mysql+ssh配置 本机地址为:192.168.189.133 mysql服务器地址为:192.168.189.139 linux命令行下使用ssh命令建立SSH隧道本机上生成ssh public key并复制给Mysql服务器 利用 ssh-keygen 命令,生成本机id_rsa.pub文件 # ssh-keygen 连续回车生成id_rsa.pub 文件 将id_rsa.pub文件复制到mysql服务器中 # ssh-copy-id -i ~