ssl secure sockets layer 安全套接字层
tls transport layer secure 传输层安全
openssl open secure sockets layer 安全套接字层
提供了加密的算法库 协议 和 秘钥管理工具
openSSH open secure SHELL 安全的shell
是一个套件组
查看服务与端口的对应关系 vim /etc/services
telnet-server 服务器段软件 telnet 客户端软件
telnet服务是一个瞬时守护进程,需要依赖超级守护进程调用.
# chkconfig --list 查看是由xinetd的子进程
# ss -tnl 查看TCP
# ss -unl 查看udp
瞬时守护进程只有在需要的时候才由xinetd调用
# watch 'ps aux | grep telnetd'
ssh secure Shell 安全的shell
sshd服务监听在 22端口
查看系统中服务于对应的默认端口 vim /etc/services
服务器端软件 openssh-server 客户端套件组 openssh-clients
sshd服务使用的协议版本 v1 和 v2 我们建议使用v2
OpenSSH 套件:
1 ssh secure Shell 安全的shell远程登录主机 代替不加密的telnet
ssh user@host -p port '[comment]'
user 指定登录的用户名
host 指定主机名
-p 指定连接的端口
comment 执行的命令
SSH的认证机制:
基于口令认证机制:
基于秘钥的认证机制:
就是客户端生成一对秘钥,默认是在客户端家目录中的id_rsa秘钥id_rsa_pub公钥,之后客户端在将公钥文件复制到服务器对应用户的家目录中去.
SSH基于秘钥认证机制的配置过程:
1 客户端生成秘钥对.
# ssh-keygen -t rsa
-t 表示指定加密秘钥对的算法.
秘钥文件默认是保存在客户端用户家目录的
~/.ssh/id_rsa 私钥
~/.ssh/id_rsa.pub 公钥
2 客户端将秘钥文件复制服务器中对应用户的家目录中
# ssh-copy-id user@host
~/.ssh/authorized-keys 公钥文件
2 scp 类cp命令 能够在不同的主机之间复制数据
源文件是本地文件
scp [options] 源文件 user@host:path/file
源文件是远程文件
scp [option] user@host:path/file 本地文件
options
-r recursive表示递归 就是复制目录的时候使用
-q quiet 表示静默默认
-p preserve 表示保留文件的原有属性
-p port 指定端口号码 如果sshd服务的端口改变了
sshd的服务的配置文件: /etc/ssh/sshd_config
Port 22 sshd服务的端口号码
ListenAddress 0.0.0.0 服务监听的IP地址
Protocol 2 这个是SSH协议的版本 2
HostKey /etc/ssh/ssh_host_rsa_key 这个是主机秘钥就是客户端验证主机
HostKey /etc/ssh/ssh_host_dsa_key
ServerKeyBits 1024 这个是主机秘钥的长度
KeyRegenerationIntervel 1h 这个是秘钥对使用的周期(加密数据的临时秘钥,不是主机秘钥)
LoginGraceTime 2m 这个是登录的宽限期就是在输入用户名之后输入密码之前的时间间隔
PermitRootLogin yes 表示是否允许root登录 默认是允许
StrictModes yes 严格模式就是在要检查家目录中文件的权限的合法性
MaxAuthTries 6 就是允许输错密码的次数
MaxSession 10 表示建立会话的个数
RSAAuthentication yes 是否支持RSA加密
PubKeyAuthentication yes 表示是否支持秘钥认证登录 默认是允许
AuthorizesKeysFile .ssh/authorized_keys 这个是秘钥认证的文件位置
PasswordAuthentication yes 表示是否允许密码登录
PermitEmptyPasswords no 表示是否允许空密码登录
使用SSH的最佳实践:
1 Only Use SSH Protocol 2 仅仅使用sshd协议的2版本
2 Limit Users SSH Access
AllowUsers root yan 白名单
DenyUsers hong fei 黑名单
注意:白名单和黑名单不要同时使用.
3 Configure Idle Log Out Timeout Interval 配置登录空闲过期
ClientAliveCountMax 0
ClientAliveInterval 300 设置空闲时间 单位是秒
4 Firewall SSH Port # 22
使用iptables 设置防火墙过滤
5 Change SSH Port and Limit IP Binding
Port 2222
ListenAddress 192.168.0.1
ListenAddress 192.168.0.2
6 Use Strong SSH Password and Passphrase
7 Use Public Key Based Authentication 使用公钥认证
8 Disable Empty Passwords
9 Thwart SSH Cracker 服务器漏洞扫描工具
10 Rate-limit 显示访问频率
11 Use Log 记录好日志,并多进行分析.
lastlog -u username 查看username 在最近一次登录的时间
tls transport layer secure 传输层安全
openssl open secure sockets layer 安全套接字层
提供了加密的算法库 协议 和 秘钥管理工具
openSSH open secure SHELL 安全的shell
是一个套件组
telnet 远程登录:
查看服务与端口的对应关系 vim /etc/services
telnet-server 服务器段软件 telnet 客户端软件
telnet服务是一个瞬时守护进程,需要依赖超级守护进程调用.
# chkconfig --list 查看是由xinetd的子进程
# ss -tnl 查看TCP
# ss -unl 查看udp
瞬时守护进程只有在需要的时候才由xinetd调用
# watch 'ps aux | grep telnetd'
ssh secure Shell 安全的shell
sshd服务监听在 22端口
查看系统中服务于对应的默认端口 vim /etc/services
服务器端软件 openssh-server 客户端套件组 openssh-clients
sshd服务使用的协议版本 v1 和 v2 我们建议使用v2
OpenSSH 套件:
1 ssh secure Shell 安全的shell远程登录主机 代替不加密的telnet
ssh user@host -p port '[comment]'
user 指定登录的用户名
host 指定主机名
-p 指定连接的端口
comment 执行的命令
SSH的认证机制:
基于口令认证机制:
基于秘钥的认证机制:
就是客户端生成一对秘钥,默认是在客户端家目录中的id_rsa秘钥id_rsa_pub公钥,之后客户端在将公钥文件复制到服务器对应用户的家目录中去.
SSH基于秘钥认证机制的配置过程:
1 客户端生成秘钥对.
# ssh-keygen -t rsa
-t 表示指定加密秘钥对的算法.
秘钥文件默认是保存在客户端用户家目录的
~/.ssh/id_rsa 私钥
~/.ssh/id_rsa.pub 公钥
2 客户端将秘钥文件复制服务器中对应用户的家目录中
# ssh-copy-id user@host
~/.ssh/authorized-keys 公钥文件
2 scp 类cp命令 能够在不同的主机之间复制数据
源文件是本地文件
scp [options] 源文件 user@host:path/file
源文件是远程文件
scp [option] user@host:path/file 本地文件
options
-r recursive表示递归 就是复制目录的时候使用
-q quiet 表示静默默认
-p preserve 表示保留文件的原有属性
-p port 指定端口号码 如果sshd服务的端口改变了
sshd的服务的配置文件: /etc/ssh/sshd_config
Port 22 sshd服务的端口号码
ListenAddress 0.0.0.0 服务监听的IP地址
Protocol 2 这个是SSH协议的版本 2
HostKey /etc/ssh/ssh_host_rsa_key 这个是主机秘钥就是客户端验证主机
HostKey /etc/ssh/ssh_host_dsa_key
ServerKeyBits 1024 这个是主机秘钥的长度
KeyRegenerationIntervel 1h 这个是秘钥对使用的周期(加密数据的临时秘钥,不是主机秘钥)
LoginGraceTime 2m 这个是登录的宽限期就是在输入用户名之后输入密码之前的时间间隔
PermitRootLogin yes 表示是否允许root登录 默认是允许
StrictModes yes 严格模式就是在要检查家目录中文件的权限的合法性
MaxAuthTries 6 就是允许输错密码的次数
MaxSession 10 表示建立会话的个数
RSAAuthentication yes 是否支持RSA加密
PubKeyAuthentication yes 表示是否支持秘钥认证登录 默认是允许
AuthorizesKeysFile .ssh/authorized_keys 这个是秘钥认证的文件位置
PasswordAuthentication yes 表示是否允许密码登录
PermitEmptyPasswords no 表示是否允许空密码登录
使用SSH的最佳实践:
1 Only Use SSH Protocol 2 仅仅使用sshd协议的2版本
2 Limit Users SSH Access
AllowUsers root yan 白名单
DenyUsers hong fei 黑名单
注意:白名单和黑名单不要同时使用.
3 Configure Idle Log Out Timeout Interval 配置登录空闲过期
ClientAliveCountMax 0
ClientAliveInterval 300 设置空闲时间 单位是秒
4 Firewall SSH Port # 22
使用iptables 设置防火墙过滤
5 Change SSH Port and Limit IP Binding
Port 2222
ListenAddress 192.168.0.1
ListenAddress 192.168.0.2
6 Use Strong SSH Password and Passphrase
7 Use Public Key Based Authentication 使用公钥认证
8 Disable Empty Passwords
9 Thwart SSH Cracker 服务器漏洞扫描工具
10 Rate-limit 显示访问频率
11 Use Log 记录好日志,并多进行分析.
lastlog -u username 查看username 在最近一次登录的时间