织梦管理密码更改-Linux 服务器安全技巧

不用说,对于系统管理员来说,提高服务器安全性是最重要的事情之一。 因此,有许多文章、博客和论坛帖子专门讨论这个主题。

服务器由大量具有不同功能的组件组成,这使得很难根据每个人的需求提供定制的解决方案。 本文试图介绍一些有用的提示,以帮助管理员确保服务器和用户的安全。

有一些常识是每个系统管理员都应该熟悉的,因此本文不会提及以下几点:

这里有一些更有趣的:

更改 SSH 默认端口

设置新服务器后要做的第一件事是更改 SSH 的默认端口。 这个小小的改变就可以保护你的服务器免受数以千计的暴力攻击(LCTT译注:不改变默认端口就相当于黑客知道了你的门牌号织梦管理密码更改,所以他们只需要一一尝试钥匙,就可能打开你家的锁) )。

要更改默认 SSH 端口,请首先打开 sshd_config 文件:

sudo vim /etc/ssh/sshd_config

找到以下行:

#Port 22

“#”号表示该行是注释。 首先删除#号,然后将端口号更改为目的端口。 端口号不能超过65535。请确保指定的端口号未被系统或其他服务占用。 建议查看[维基百科]上的常用端口号列表。 在本文中,使用此端口号:

Port 16543

然后保存并关闭文件并等待更改生效。

接下来的步骤是:

使用 SSH 密钥进行身份验证

通过 SSH 访问服务器时,使用 SSH 密钥进行身份验证尤为重要。 这样做为服务器增加了额外的保护级别,确保只有拥有密钥的人才能访问服务器。

在本地计算机上运行以下命令来生成 SSH 密钥:

ssh-keygen -t rsa

您将看到以下输出,询问将密钥写入文件的位置并设置密码:

Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): my_keyEnter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in my_key.Your public key has been saved in my_key.pub.The key fingerprint is:SHA256:MqD/pzzTRsCjZb6mpfjyrr5v1pJLBcgprR5tjNoI20A

完成后,你会得到两个文件:

我的钥匙

my_key.pub

接下来将 my_key.pub 复制到 ~/.ssh/authorized_key

cp my_key.pub ~/.ssh/authorized_keys

然后使用以下命令将密钥上传到服务器:

scp -P16543 authorized_keys user@yourserver-ip:/home/user/.ssh/

此时,您可以从本机访问服务器,而无需密码。

关闭SSH密码验证

现在您已经有了 SSH 密钥,关闭 SSH 的密码验证会更安全。 再次打开并编辑sshd_config,设置如下:

ChallengeResponseAuthentication noPasswordAuthentication noUsePAM no

关闭root登录

下一个关键步骤是关闭 root 用户的直接访问并使用 sudo 或 su 执行管理员任务。 首先,您需要添加一个具有root权限的新用户,因此编辑此路径中的sudoers文件:

/etc/sudoers/

建议使用 visudo 等命令编辑文件,因为它会在关闭文件之前检查任何可能的语法错误。 当您在编辑文件时出错时,这非常有用。

接下来,向用户授予 root 权限。 在本文中,使用用户sysadmin。 确保编辑此文件时使用的用户是系统上的现有用户。 找到以下行:

root ALL=(ALL) ALL

复制此行并将其粘贴到下一行,然后将 root 更改为“sysadmin”,如下所示:

root ALL=(ALL) ALLsysadmin ALL=(ALL) ALL

现在解释一下这一行中每个选项的含义:

(1) root (2)ALL=(3)(ALL) (4)ALL

(1) 指定用户

(2)指定用户使用sudo的终端

(3) 指定用户可以承担的用户角色

(4) 该用户可以使用的命令

(LCTT译注:所以上述配置的意思是:root用户可以在任何终端中充当任何用户,执行任何命令。)

使用此配置可​​以让用户访问某些系统工具。

此时,您可以安全地保存文件。

为了关闭通过 SSH 对 root 的直接访问,需要再次打开 sshd_config 并找到以下行:

#PermitRootLogin yes

改成:

PermitRootLogin no

然后保存文件并重新启动 sshd 守护进程以使更改生效。 只需执行以下命令:

sudo /etc/init.d/sshd restart

设置防火墙

防火墙有助于过滤传入和传出端口并阻止暴力登录尝试。 我倾向于使用SCF(配置服务器防火墙),一个强大的防火墙。 它使用iptables,易于管理,并为不擅长输入命令的用户提供Web界面。

要安装CSF,首先登录服务器并切换到该目录:

cd /usr/local/src/

然后以root权限执行以下命令:

wget https://download.configserver.com/csf.tgztar -xzf csf.tgzcd csfsh install.sh

只需等待安装程序完成,然后编辑 CSF 的配置文件:

/etc/csf/csf.conf

默认情况下,CSF 在测试模式下运行。 通过将“TESTING”值设置为 0 切换到产品模式。

TESTING = 0

接下来要设置的是服务器上允许的端口。 在 csf.conf 中找到以下部分并根据需要修改端口:

# 允许入站的 TCP 端口TCP_IN = 20,21,25,53,80,110,143,443,465,587,993,995,16543# 允许出站的 TCP 端口TCP_OUT = 20,21,22,25,53,80,110,113,443,587,993,995,16543# 允许入站的 UDP 端口UDP_IN = 20,21,53# 允许出站的 UDP 端口# 要允许发出 traceroute 请求,请加 33434:33523 端口范围到该列表 UDP_OUT = 20,21,53,113,123

请根据您的需要一一设置。 建议仅使用所需的端口,并避免设置较大范围的端口。 另外,避免使用不安全的端口来提供不安全的服务。 例如,仅允许使用端口 465 和 587 发送电子邮件,而不是默认的 SMTP 端口 25。(LCTT 翻译注释:前提是您的邮件服务器支持 SMTPS)

重要提示:不要忘记允许自定义 ssh 端口。

允许您的 IP 地址通过防火墙并且永远不会被阻止非常重要。 IP 地址在以下文件中定义:

/etc/csf/csf.ignore

被阻止的 IP 地址将出现在该文件中:

/etc/csf/csf.deny

进行更改后,使用以下命令重新启动 csf:

sudo /etc/init.d/csf restart

以下是服务器上 csf.deny 文件的一部分,用于说明 CSF 的有用性:

211.216.48.205 # lfd: (sshd) Failed SSH login from 211.216.48.205 (KR/Korea, Republic of/-): 5 in the last 3600 secs - Fri Mar 6 00:30:35 2015103.41.124.53 # lfd: (sshd) Failed SSH login from 103.41.124.53 (HK/Hong Kong/-): 5 in the last 3600 secs - Fri Mar 6 01:06:46 2015103.41.124.42 # lfd: (sshd) Failed SSH login from 103.41.124.42 (HK/Hong Kong/-): 5 in the last 3600 secs - Fri Mar 6 01:59:04 2015103.41.124.26 # lfd: (sshd) Failed SSH login from 103.41.124.26 (HK/Hong Kong/-): 5 in the last 3600 secs - Fri Mar 6 02:48:26 2015109.169.74.58 # lfd: (sshd) Failed SSH login from 109.169.74.58 (GB/United Kingdom/mail2.algeos.com): 5 in the last 3600 secs - Fri Mar 6 03:49:03 2015

可以看到,尝试通过暴力方式登录的IP地址都被拦截了。 真是眼不见心不烦啊!

锁定账户

如果帐户长时间不使用,可以锁定该帐户以防止其他人访问它。 使用以下命令:

passwd -l accountName

当然,这个账户仍然可以被root用户使用(LCTT注释:su可以用来切换到这个账户)。

了解服务器上的服务

服务器的本质是提供各种服务的访问功能。 让服务器只运行需要的服务并关闭不使用的服务。 这样做不仅可以释放一些系统资源织梦管理密码更改,而且还可以使服务器更加安全。 例如,如果您只是运行一个简单的服务器,那么您显然不需要 X 显示或桌面环境。 如果您不需要Windows网络共享功能,您可以安全地关闭Samba。

使用以下命令查看随系统启动而启动的服务:

chkconfig --list | grep 3:on

如果系统正在运行 systemd,请执行以下命令:

systemctl list-unit-files --type=service | grep enabled

然后使用以下命令关闭该服务:

chkconfig service off或systemctl disable service

在上面的示例中,将“service”替换为您实际要停止的服务的名称。 示例如下:

chkconfig httpd off或systemctl disable httpd

概括

本文的目的是介绍一些常见的安全步骤,以帮助您保护服务器。 您还可以采取更多措施来增强服务器保护。 请记住,保持服务器安全是您的责任,并在维护服务器安全时尝试做出明智的选择,尽管没有简单的方法可以做到这一点,并且构建“完美”的安全性需要大量时间和测试。 直到达到想要的结果。

通过:原文

作者:Marin Todorow 译者:KayGuoWhu 校对:wxy

本文由 LCTT 原创翻译,Linux China 自豪推出