美文网首页
给ssh服务加一道更安全的锁

给ssh服务加一道更安全的锁

作者: Kim9501 | 来源:发表于2019-04-30 09:38 被阅读0次

给ssh服务加一道更安全的锁

在远程使用Linux服务器时,使用最频繁也是最重要的服务莫过于ssh,通过ssh服务我们不仅远程登录服务器,还可以往服务器传输文件,其重要性可见一斑。如此重要的服务,入侵者当然不会放过,攻下了ssh服务,就拿到了服务器的控制权。所以,在安装完服务器操作系统并开启了ssh服务后,第一件事就是修改ssh服务,让其更安全。

PAM的妙用

  • ssh服务除了修改默认端口号、使用密钥登录、限制root登录的安全设置外,还可以通过pam模块来限制登录;
  • 常用于ssh服务的模块主要有2个:pam_access、pam_time,前者用来限制登录源,后者用来限制登录时间;
  • pam模块限制的服务可以通过ls /etc/pam.d来查看;
    show_pam.d
  • 使用pam来限制ssh登录,主要操作分为2步:在sshd服务中添加pam模块->在pam配置文件中添加限制条目;

pam_access

使用pam_access模块来限制ssh登录源,ssh服务使用的服务名为sshd,pam_access模块使用的配置文件路径为/etc/security/access.conf

  1. 在ssh服务中添加pam_access模块
# 切换到pam.d目录,备份远文件
cd /etc/pam.d && sudo cp sshd sshd.old
# 使用vi编辑器编辑sshd文件
sudo vi sshd
# 添加pam_access模块
account  required  pam_access.so
add_pam_access
  1. 在pam配置文件中添加限制条目,条目的格式如下:
    +/-:users:origins
  • +/- :+号表示授权访问,-号表示拒绝访问
  • users :users表示限制的用户或用户组,多个用户或组时使用空格分隔
  • origins:origins表示来源,可以是本地主机名、ip地址/段,域名,有几个特殊关键词:ALL表示所有,LOCAL表示本地,EXCEPT表示除了
  • 当有多条规则时,执行的顺寻是自上而下
# 切换到配置文件目录,备份原文件
cd /etc/security && sudo cp access.conf access.conf.old
# 编辑配置文件
sudo vi access.conf
# 在文件最后添加一行,只允许用户kim通过192.168.0.90地址登录
+:kim:192.168.0.90
-:kim:ALL
login_from_192.168.0.90
login_from_192.168.0.99

pam_time

pam_time模块用来限制ssh登录的时间,ssh服务使用的服务名为sshd,pam_time模块使用的配置文件路径为/etc/security/time.conf,在需要对服务器进行维护的时候,或者是在特定时间禁止用户ssh登录服务器

  1. 在ssh服务中添加pam_time模块
# vi打开文件
sudo vi /etc/pam.d/sshd
# 添加pam_time模块
account  required  pam_time.so
add_pam_time
  1. 在pam配置文件中添加限制条目,条目的格式如下:
    services;devices;users;times
  • services:可以使用的services都包含在/etc/pam.d目录中
  • devices :可以使用的device有:*表示所有设备,!ttyp*表示除虚拟设别外的所有设备,ttyp*远程登录设备
  • users :限制的用户或组,使用列表时,各元素之间使用符号|分隔
  • time :限制的时间,由2段组成,第一段是首字母大写的星期缩写,第二段是时间段
    • 星期缩写:Mo、Tu、We、Th、Fr、Sa、Su
    • 特殊缩写:Wk工作日、Wd周末、Al每周的每天、WdSa周日、WdSu周六、WkMo除周一外的工作日
# 切换到配置文件目录,并备份原文件
cd /etc/security/ && sudo cp time.conf time.conf.old
# 编辑配置文件
sudo vi time.conf
# 在文件末尾添加一行,允许用户kim在每周凌晨0点到4点外的时间登录
sshd;*;kim;!A10000-0400
# 我们使用当前时间测试
sshd;*;kim;!A11600-1700
login_from_192.168.0.90
login_from_console

总结

通过pam_access模块可以限制ssh登录的设备,通过pam_time模块可以限制ssh登录的时间段,这样就可以限制特定用户从特定的设备在指定的时间ssh登录到服务器,双管齐下最大程度保证ssh服务的安全。

相关文章

  • 给ssh服务加一道更安全的锁

    给ssh服务加一道更安全的锁 在远程使用Linux服务器时,使用最频繁也是最重要的服务莫过于ssh,通过ssh服务...

  • 认识SSH,对称加密和非对称加密

    简单了解SSH SSH,全称Secure Shell。简单来说,SSH就是一种安全协议,通常用于登录远程服务器的加...

  • 第7章 网络服务及安全

    第7章 网络服务及安全 SSH服务 SSH协议简介 Ubuntu安装SSH SSH服务配置 使用putty登陆SS...

  • SSH简介及两种远程登录的方法

    目录 SSH的安全机制 SSH的安装 启动服务器的SSH服务 SSH两种级别的远程登录 SSH的高级应用 Secu...

  • 37ssh介绍与实践

    1.1 SSH服务基本介绍 SSH 服务是Secure Shell Protocol 的简写,是安全的Shell协...

  • iOS逆向

    SSH安全连接存储服务器公钥 客户端存储服务器ssh公钥文件路径~/.ssh/known_hosts服务器端的ss...

  • SSH 服务

    SSH 服务 ssh 默认安装的,加密传送的,比较安全 服务端的配置: 基本配置 GSSAPI 认证 开启后会去寻...

  • ssh相关

    查看系统ssh安全登录日志 重启sshd服务 配置本地ssh免密登录使用ssh-copy-id将本地的ssh-ke...

  • SSH远程登录

    SSH协议 概述 ssh协议, 安全壳协议, 可以安全远程登录Linux主机, 专为远程登录会话和其他网络服务提供...

  • sshd服务管理和防止暴力破解

    sshd服务 SSH协议:安全外壳协议。Secure Shell的缩写。SSH 为建立在应用层和传输层基础上的安全...

网友评论

      本文标题:给ssh服务加一道更安全的锁

      本文链接:https://www.haomeiwen.com/subject/edhmnqtx.html