一、SSH服务
1.1 SSH基础
什么是SSH?
SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,对数据进行压缩,加快传输速度。
优点:
- 加密传输
- 压缩数据
1.2 ssh和openssh
ssh协议是一种安全通道协议。主要对通信数据进行了加密处理,用于远程管理,也对数据进行压缩
openssh服务名称:sshd 服务端主程序:/usr/sbin/sshd 服务端配置文件:/etc/ssh/sshd_config
/etc/ssh/
服务端 配置文件 sshd_config
客户端 配置文件 ssh_config服务名称:sshd
服务端主程序:/usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd_config
客户端配置文件:/etc/ssh/ssh_configOpenSSH 常用配置文件有两个/etc/ssh/ssh_config 和/etc/sshd_config。
ssh_config:为客户端配置文件,设置与客户端相关的应用可通过此文件实现
sshd_config:为服务器端配置文件,设置与服务端相关的应用可通过此文件实现
1.3 登录
登陆方法一
格式:ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port
命令 端口号登陆方法二
格式:ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p port
-l :-l 选项,指定登录名称。
-p: -p 选项,指定登录端口(当服务端的端口非默认时,需要使用-p 指定端口进行登录)
1.4 服务端配置
1.4.1 常用配置项
从上图挑一些重点列举在下方
Port 22
#生产建议修改ListenAddress ip
#监听地址设置SSHD服务器绑定的IP 地址,0.0.0.0 表示侦听所有地址安全建议:如果主机不需要从公网ssh访问,可以把监听地址改为内网地址 这个值可以写成本地IP地址,也可以写成所有地址,即0.0.0.0 表示所有IP。LoginGraceTime 2m
#用来设定如果用户登录失败,在切断连接前服务器需要等待的时间,单位为秒PermitRootLogin yes
#默认 ubuntu不允许root远程ssh登录StrictModes yes
#检查.ssh/文件的所有者,权限等MaxAuthTries
#用来设置最大失败尝试登陆次数为6
MaxSessions 10
#同一个连接最大会话
PubkeyAuthentication yes
#基于key验证PermitEmptyPasswords no
#密码验证当然是需要的!所以这里写 yes,也可以设置为 no,在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆。
PasswordAuthentication yes
#基于用户名和密码连接
GatewayPorts no
ClientAliveInterval 10
#单位:秒
ClientAliveCountMax 3
#默认3
UseDNS yes
#提高速度可改为no 内网改为no 禁用反向解析
GSSAPIAuthentication yes #提高速度可改为no
MaxStartups #未认证连接最大值,默认值10
Banner /path/file
#以下可以限制可登录用户的办法:白名单 黑名单
AllowUsers user1 user2 user3@ip(限制主机)
DenyUsers user1 user2 user3
AllowGroups g1 g2
DenyGroups g1 g2
1.4.2 实际操作
1.4.2.1 修改默认端口
#修改默认端口
[root@localhost ssh]#vim /etc/ssh/sshd_config
#17 行修改自己默认的端口
17 Port 9527
1.4.2.2 禁止root用户登录
修改pam认证模块
1.4.2.3 白名单黑名单列表
手动添加,允许所有的主机访问我的lisi用户,只允许站三从192.168.10.3上访问
1.4.2.4 输错密码限制(验证此处)
1.5 ssh客户端
scp命令:远程安全复制
sftp命令:安全文件传输协议
格式:sftp user@ip
二、TCP Wrappers
2.1 策略的配置格式
列表 | 分类 |
---|---|
服务程序列表 |
|
客户端地址列表 |
|
三、selinux
3.1 什么是linux
SELinux也就是安全强化的linux,解决传统 Linux 系统中自主访问控制系统中的各种权限问题
对于 SELinux,初学者可以这么理解,它是部署在 Linux 上用于增强系统安全的功能模块。
访问控制系统的特点:
自主访问控制系统
强制访问控制系统
3.2 selinux作用
SELinux 是部署在 Linux 系统中的安全增强功能模块,它通过对进程和文件资源采用 MAC(强制访问控制方式)为 Linux 系统提供了改进的安全性。
selinux的优点:
它采用的是MAC控制方式,被认为是最强控制方式
主题最小的访问特权,可以防止主体对其他用户或进程产生不利的影响
独立性
3.3 SELinux的工作模式
SELinux 提供了 3 种工作模式:Disabled、Permissive 和 Enforcing。