【Linux】Linux安全与密钥登录指南

打印 上一主题 下一主题

主题 832|帖子 832|积分 2496

在利用Linux服务器时,确保服务器的安全至关告急。本文将为你先容一些关键的Linux安全步伐,包括开启密钥登录、查看登录日志、限制登录IP以及查看系统中能够登录的账号。以下内容适合小白用户,通过简朴的操作就能有效提升服务器的安全性。

目录


  • Linux安全概述
  • 密钥登录的配置

    • 生成密钥对
    • 配置SSH密钥登录

  • 查看登录日志
  • 限制IP访问

    • 设置IP封禁
    • 允许特定IP访问

  • 查看系统可登录的账号

1. Linux安全概述

Linux系统安全重要依赖于控制访问权限、监控非常行为以及进行安全配置。通过得当的登录方式和访问限制,可以有效制止未经授权的访问。密钥登录是一种更安全的认证方式,制止了明文暗码的风险。而登录日志和IP限制则可以帮助我们辨认和防御潜伏的入侵。

2. 密钥登录的配置

密钥登录是一种比暗码登录更安全的方式,通过生成一对公钥和私钥来验证用户身份。以下是配置步调。
2.1 生成密钥对

在客户端(比方你的电脑)上生成密钥对:
  1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
复制代码
实行后,会提示你设置密钥存放的路径(默认是~/.ssh/id_rsa),可以直接按Enter利用默认路径。接下来,如果你乐意,可以设置密钥的暗码掩护。
2.2 配置SSH密钥登录


  • 将生成的公钥复制到Linux服务器上:
    1. ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
    复制代码
  • 确认公钥文件已被正确添加到服务器上的~/.ssh/authorized_keys文件中。
  • 在服务器上修改SSH配置,确保允许密钥登录并禁用暗码登录:
    编辑/etc/ssh/sshd_config文件:
    1. sudo nano /etc/ssh/sshd_config
    复制代码
    确保以下设置:
    1. PasswordAuthentication no
    2. PubkeyAuthentication yes
    复制代码
  • 生存文件并重启SSH服务:
    1. sudo systemctl restart ssh
    复制代码

3. 查看登录日志

Linux系统会记载全部登录活动。可以利用以下命令查看登录日志:
  1. sudo cat /var/log/auth.log | grep 'sshd'
复制代码
在CentOS和Red Hat系统上,身份验证日志通常存储在/var/log/secure文件中。你可以尝试利用以下命令查看SSH登录记载:
  1. sudo cat /var/log/secure | grep 'sshd'
复制代码
在日志中,你可以查看每次登录的时间、IP地址以及登录结果(乐成或失败)。这对监控非常登录行为非常有帮助。

4. 限制IP访问

有时我们希望限制某些IP的访问,大概仅允许特定IP访问,以增强安全性。
4.1 设置IP封禁

可以利用fail2ban工具来自动封禁多次尝试登录失败的IP。

  • 安装fail2ban:
    1. sudo apt-get install fail2ban
    复制代码
  • 启动并启用fail2ban:
    1. sudo systemctl start fail2ban
    2. sudo systemctl enable fail2ban
    复制代码
  • 配置fail2ban的SSH规则,编辑配置文件:
    1. sudo nano /etc/fail2ban/jail.local
    复制代码
    添加如下内容:
    1. [sshd]
    2. enabled = true
    3. port = ssh
    4. filter = sshd
    5. logpath = /var/log/auth.log
    6. maxretry = 3
    7. bantime = 3600
    复制代码
    这将封禁一连3次尝试登录失败的IP,而且封禁时间为3600秒(即1小时)。
  • 重启fail2ban服务:
    1. sudo systemctl restart fail2ban
    复制代码
4.2 允许特定IP访问

要仅允许特定IP访问SSH,可以修改sshd_config文件。

  • 编辑SSH配置文件:
    1. sudo nano /etc/ssh/sshd_config
    复制代码
  • 添加以下内容来限制IP:
    1. AllowUsers username@your_ip
    复制代码
    比方,若只允许IP 192.168.1.100的用户访问,添加如下内容:
    1. AllowUsers username@192.168.1.100
    复制代码
  • 生存并重启SSH服务:
    1. sudo systemctl restart ssh
    复制代码
这将仅允许指定IP的用户进行访问,有效防止其他IP的登录请求。

5. 查看系统可登录的账号

要查看当前系统中可以登录的账号,可以检查/etc/passwd文件。此文件列出了全部用户及其基本信息。
利用以下命令过滤出具有登录权限的账号:
  1. cat /etc/passwd | grep -E '/bin/bash|/bin/sh'
复制代码
该命令会列出具有有效shell的用户,表示这些用户具备登录权限,如果发现有不该登岸的账号却能够登岸,通过锁定用户账户,彻底阻止账户的登录操作。此方法实用于需要暂时禁用用户而无需更改Shell的情况,以下利用admin账户举例。
实行步调


  • 利用usermod命令锁定用户:
    1. sudo usermod -L admin
    复制代码
  • 验证是否已乐成锁定:
    1. sudo passwd -S admin
    复制代码
    输出类似于admin L的结果表示用户已被锁定。
   留意:锁定账户后,系统会在暗码字段前添加!符号,表明该账户已被禁用。如果要解锁账户,可利用usermod -U admin命令。
  
总结

通过以上方法,可以有效增强Linux服务器的安全性,包括启用密钥登录、监控登录日志、设置IP限制及检查登录账号。这些步伐对于新手用户来说操作简朴,而且能够明显进步系统的安全防护能力。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表