1. 如何构建安全的远程登录服务器(上)
这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用man命令查看帮助页(sshd (8))可以得到详细的列表。编辑“sshd_config”文件(vi /etc/ssh/sshd_config),加入或改变下面的参数: 下面逐行说明上面的选项设置: Port 22 :“Port”设置sshd监听的端口号。 ListenAddress 192.168.1.1 :“ListenAddress”设置sshd服务器绑定的IP地址。 HostKey /etc/ssh/ssh_host_key :“HostKey”设置包含计算机私人密匙的文件。 ServerKeyBits 1024:“ServerKeyBits”定义服务器密匙的位数。 LoginGraceTime 600 :“LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。 KeyRegenerationInterval 3600 :“KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。 PermitRootLogin no :“PermitRootLogin”设置root能不能用ssh登录。这个选项尽量不要设成“yes”。 IgnoreRhosts yes :“IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。 IgnoreUserKnownHosts yes :“IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的“$HOME/.ssh/known_hosts” StrictModes yes :“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。 X11Forwarding no :“X11Forwarding”设置是否允许X11转发。 PrintMotd yes :“PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。 SyslogFacility AUTH :“SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。 LogLevel INFO :“LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。 RhostsAuthentication no :“RhostsAuthentication”设置只用rhosts或“/etc/hosts.equiv”进行安全验证是否已经足够了。 RhostsRSAAuthentication no :“RhostsRSA”设置是否允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。 RSAAuthentication yes :“RSAAuthentication”设置是否允许只有RSA安全验证。 PasswordAuthentication yes :“PasswordAuthentication”设置是否允许口令验证。 PermitEmptyPasswords no:“PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。 AllowUsers admin :“AllowUsers”的后面可以跟着任意的数量的用户名的匹配串(patterns)或user@host这样的匹配串,这些字符串用空格隔开。主机名可以是DNS名或IP地址。 /etc/ssh/ssh_config 配置“/etc/ssh/ssh_config”文件是OpenSSH系统范围的配置文件,允许你通过设置不同的选项来改变客户端程序的运行方式。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。 下面列出来的是最重要的关键词,用man命令查看帮助页(ssh (1))可以得到详细的列表。 编辑“ssh_config”文件(vi /etc/ssh/ssh_config),添加或改变下面的参数: 下面逐行说明上面的选项设置: Host * :选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。 ForwardAgent no :“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。 ForwardX11 no :“ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。 RhostsAuthentication no :“RhostsAuthentication”设置是否使用基于rhosts的安全验证。 RhostsRSAAuthentication no :“RhostsRSAAuthentication”设置是否使用用RSA算法的基于rhosts的安全验证。 RSAAuthentication yes :RSAAuthentication”设置是否使用RSA算法进行安全验证。 PasswordAuthentication yes :“PasswordAuthentication”设置是否使用口令验证。 FallBackToRsh no:“FallBackToRsh”设置如果用ssh连接出现错误是否自动使用rsh。 UseRsh no :“UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。 BatchMode no :“BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。 CheckHostIP yes :“CheckHostIP”设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。
2. 如何安全登陆企业Windows服务器
1)、禁用Guest账号在计算机管理的用户里面把Guest账号禁用。为了保险起见,最好给Guest加一个复杂的密码。
2)、限制不必要的用户 去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。
3)、创建两个管理员账号创建一个一般权限用户用来收信以及处理一些日常事物,另一个拥有Administrator权限的用户只在需要的时候使用。
4)、把系统Administrator账号改名Windows XP的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户,比如改成Guesycludx。
5)、创建一个陷阱用户创建一个名为“Administrator”的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。
6)、把共享文件的权限从Everyone组改成授权用户 不要把共享文件的用户设置成“Everyone”组,包括打印共享,默认的属性就是“Everyone”组的。
7)、不让系统显示上次登录的用户名 打开注册表编辑器并找到注册表项-DisplayLastUserName,把键值改成1。
3. 阿里云ecs服务器怎么设置更安全
云服务器的安全安全设置主要有一下几个比较重要的几个方面:
1、首先是服务器的用户管理,很多的攻击和破解,首先是针对于系统的远程登录,毕竟拿到登录用户之后就能进入系统进行操作,所以首先要做的就是禁止root超级用户的远程登录。
2、把ssh的默认端口改为其他不常用的端口。你可能不知道我们的服务器其实每天都在被很多的扫描工具在扫描着,尤其是对于linux服务器的ssh默认22端口,扫描工具扫描出22端口之后就可能会尝试破解和登录。把ssh的默认端口修改后可以减少被扫描和暴力登录的概率。此外你还可以使用fail2ban等程序防止ssh被暴力破解,其原理是尝试多少次登录失败之后就把那个IP给禁止登录了。
3、SSH 改成使用密钥登录,这样子就不必担心暴力破解了,因为对方不可能有你的密钥,比密码登录安全多了。
4、一定要定期检查和升级你的网站程序以及相关组件,及时修复那些重大的已知漏洞。网上也有很多的爬虫机器人每天在扫描着各式各样的网站,尝试找系统漏洞。即使你前面把服务器用户权限管理、登录防护都做得很好了,然而还是有可能在网站程序上被破解入侵。
5、另外如果云服务器上运行多个网站系统(博客+企业官网)。我推荐使用docker容器的方式隔离运行环境,将每个程序运行在一个单独的容器里,这样即使服务器上其中的一个网站程序被破解入侵了,也会被限制在被入侵的容器内,不会影响到其他的容器,也不会影响到系统本身。
4. Windows服务器如何做好安全防护
1.修改windows远程连接端口,非默认3389。
2.开启防火墙,修改远程登录密码,定期修改。不要嫌麻烦。
3.安装下服务器安全狗,开启防护,能简单的抗攻击。
4.尽量不要在浏览器里面下载垃圾软件。
5. 如何实现一个安全的Web登陆
对于 Web 应用程序,安全登录是很重要的。但是目前大多数 Web 系统在发送登录密码时是发送的明文,这样很容易被入侵者监听到密码。当然,通过 SSL
来实现安全连接是个不错的方法,但是很多情况下我们没办法将服务器设置为带有 SSL 的 Web 服务器。因此如果在登录系统中加入安全登录机制,则可以在没有 SSL
的 Web 服务器上实现安全登录。
要实现安全登录,可以采用下面三种方法,一种基于非对称加密算法,一种基于对称加密算法,最后一种基于散列算法。
非对称加密算法中,目前最常用的是 RSA 算法和
ECC(椭圆曲线加密)算法。要采用非对称加密算法实现安全登录的话,首先需要在客户端向服务器端请求登录页面时,服务器生成公钥和私钥,然后将公钥随登录页面一起传递给客户端浏览器,当用户输入完用户名密码点击登录时,登录页面中的
JavaScript
调用非对称加密算法对用户名和密码用用公钥进行加密。然后再提交到服务器端,服务器端利用私钥进行解密,再跟数据库中的用户名密码进行比较,如果一致,则登录成功,否则登录失败。
对称加密算法比非对称加密算法要快得多,但是对称加密算法需要数据发送方和接受方共用一个密钥,密钥是不能通过不安全的网络直接传递的,否则密钥和加密以后的数据如果同时监听到的话,入侵者就可以直接利用监听到的密钥来对加密后的信息进行解密了。
如何用 hmac
算法实现安全登录。首先在客户端向服务器端请求登录页面时,服务器端生成一个随机字符串,连同登录页面一同发送给客户端浏览器,当用户输入完用户名密码后,将密码采用
MD5 或者 SHA1 来生成散列值作为密钥,服务器端发送来的随机字符串作为消息数据,进行 hmac
运算。然后将结果提交给服务器。之所以要对用户输入的密码进行散列后再作为密钥,而不是直接作为密钥,是为了保证密钥足够长,而又不会太长。服务器端接受到客户端提交的数据后,将保存在服务器端的随机字符串和用户密码进行相同的运算,然后进行比较,如果结果一致,则认为登录成功,否则登录失败。当然如果不用
hmac 算法,直接将密码和服务器端生成的随机数合并以后再做 MD5 或者 SHA1,应该也是可以的。
这里客户端每次请求时服务器端发送的随机字符串都是不同的,因此即使入侵者监听到了这个随机字符串和加密后的提交的数据,它也无法再次提交相同的数据通过验证。而且通过监听到的数据也无法计算出密钥,所以也就无法伪造登录信息了。
对称和非对称加密算法不仅适用于登录验证,还适合用于最初的密码设置和以后密码修改的过程中,而散列算法仅适用于登录验证。但是散列算法要比对称和非对称加密算法效率高。
6. 如何保证Linux服务器的网络安全
本文将向你介绍基本的 Linux 服务器安全知识。虽然主要针对 Debian/Ubuntu,但是你可以将此处介绍的所有内容应用于其他 Linux 发行版。我也鼓励你研究这份材料,并在适当的情况下进行扩展。
1、更新你的服务器
保护服务器安全的第一件事是更新本地存储库,并通过应用最新的修补程序来升级操作系统和已安装的应用程序。
在 Ubuntu 和 Debian 上:
$ sudo apt update && sudo apt upgrade -y
在 Fedora、CentOS 或 RHEL:
$ sudo dnf upgrade
2、创建一个新的特权用户
接下来,创建一个新的用户帐户。永远不要以 root 身份登录服务器,而是创建你自己的帐户(用户),赋予它 sudo 权限,然后使用它登录你的服务器。
首先创建一个新用户:
$ adser <username>
通过将 sudo 组(-G)附加(-a)到用户的组成员身份里,从而授予新用户帐户 sudo 权限:
$ usermod -a -G sudo <username>
3、上传你的 SSH 密钥
你应该使用 SSH 密钥登录到新服务器。你可以使用 ssh--id 命令将 预生成的 SSH 密钥 上传到你的新服务器:
$ ssh--id <username>@ip_address
现在,你无需输入密码即可登录到新服务器。
4、安全强化 SSH
接下来,进行以下三个更改:
禁用 SSH 密码认证
限制 root 远程登录
限制对 IPv4 或 IPv6 的访问
使用你选择的文本编辑器打开 /etc/ssh/sshd_config 并确保以下行:
改成这样:
接下来,通过修改 AddressFamily 选项将 SSH 服务限制为 IPv4 或 IPv6。要将其更改为仅使用 IPv4(对大多数人来说应该没问题),请进行以下更改:
重新启动 SSH 服务以启用你的更改。请注意,在重新启动 SSH 服务之前,与服务器建立两个活动连接是一个好主意。有了这些额外的连接,你可以在重新启动 SSH 服务出错的情况下修复所有问题。
在 Ubuntu 上:
在 Fedora 或 CentOS 或任何使用 Systemd 的系统上:
5、启用防火墙
现在,你需要安装防火墙、启用防火墙并对其进行配置,以仅允许你指定的网络流量通过。(Ubuntu 上的) 简单的防火墙 (UFW)是一个易用的 iptables 界面,可大大简化防火墙的配置过程。
你可以通过以下方式安装 UFW:
默认情况下,UFW 拒绝所有传入连接,并允许所有传出连接。这意味着服务器上的任何应用程序都可以访问互联网,但是任何尝试访问服务器的内容都无法连接。
首先,确保你可以通过启用对 SSH、HTTP 和 HTTPS 的访问来登录:
然后启用 UFW:
你可以通过以下方式查看允许和拒绝了哪些服务:
如果你想禁用 UFW,可以通过键入以下命令来禁用:
你还可以(在 RHEL/CentOS 上)使用 firewall-cmd ,它已经安装并集成到某些发行版中。
6、安装 Fail2ban
Fail2ban 是一种用于检查服务器日志以查找重复或自动攻击的应用程序。如果找到任何攻击,它会更改防火墙以永久地或在指定的时间内阻止攻击者的 IP 地址。
你可以通过键入以下命令来安装 Fail2ban:
然后复制随附的配置文件:
重启 Fail2ban:
这样就行了。该软件将不断检查日志文件以查找攻击。一段时间后,该应用程序将建立相当多的封禁的 IP 地址列表。你可以通过以下方法查询 SSH 服务的当前状态来查看此列表:
7、移除无用的网络服务
几乎所有 Linux 服务器操作系统都启用了一些面向网络的服务。你可能希望保留其中大多数,然而,有一些你或许希望删除。你可以使用 ss 命令查看所有正在运行的网络服务:(LCTT 译注:应该是只保留少部分,而所有确认无关的、无用的服务都应该停用或删除。)
ss 的输出取决于你的操作系统。下面是一个示例,它显示 SSH(sshd)和 Ngnix(nginx)服务正在侦听网络并准备连接:
删除未使用的服务的方式因你的操作系统及其使用的程序包管理器而异。
要在 Debian / Ubuntu 上删除未使用的服务:
要在 Red Hat/CentOS 上删除未使用的服务:
再次运行 ss -atup 以确认这些未使用的服务没有安装和运行。
以上文章来源www.idccoupon.com,欢迎一起交流讨论学习。
7. 怎么保证远程登录服务器安全
“远程桌面”面板下方有一个“选择用户”的按钮,点击之后,在“远程桌面用户” 窗口中点击“添加”按钮键入允许的用户,或者通过“高级→立即查找”添加用户。远程的登录具有一定的风险,所以可登录的帐户一定要控制好。还可以设置为只允许特定的IP访问(例如只允许管理员网段访问)—由于限制较大,这个要根据实际情况来操作的。
8. 如何安全高效使用服务器
(一) 构建好硬件安全防御系统
选用一套好的安全系统模型。一套完善的安全模型应该包括以下一些必要的组件:防火墙、入侵检测系统、路由系统等。
防火墙在安全系统中扮演一个保安的角色,可以很大程度上保证来自网络的非法访问以及数据流量攻击,如拒绝服务攻击等;入侵检测系统则是扮演一个监视器的角色,监视你的服务器出入口,非常智能地过滤掉那些带有入侵和攻击性质的访问。
(二) 选用英文的操作系统
要知道,windows毕竟美国微软的东西,而微软的东西一向都是以Bug 和 Patch多而着称,中文版的Bug远远要比英文版多,而中文版的补丁向来是比英文版出的晚,也就是说,如果你的服务器上装的是中文版的windows系统,微软漏洞公布之后你还需要等上一段时间才能打好补丁,也许黑客、病毒就利用这段时间入侵了你的系统。
我们只可以尽量避免被入侵,最大的程度上减少伤亡。
(一) 采用NTFS文件系统格式
大家都知道,我们通常采用的文件系统是FAT或者FAT32,NTFS是微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。NTFS文件系统里你可以为任何一个磁盘分区单独设置访问权限。把你自己的敏感信息和服务信息分别放在不同的磁盘分区。这样即使黑客通过某些方法获得你的服务文件所在磁盘分区的访问权限,还需要想方设法突破系统的安全设置才能进一步访问到保存在其他磁盘上的敏感信息。
(二)做好系统备份
常言道,“有备无患”,虽然谁都不希望系统突然遭到破坏,但是不怕一万,就怕万一,作好服务器系统备份,万一遭破坏的时候也可以及时恢复。
(三)关闭不必要的服务,只开该开的端口
关闭那些不必要开的服务,做好本地管理和组管理。Windows系统有很多默认的服务其实没必要开的,甚至可以说是危险的,比如:默认的共享远程注册表访问(Remote Registry Service),系统很多敏感的信息都是写在注册表里的,如pcanywhere的加密密码等。
关闭那些不必要的端口。一些看似不必要的端口,确可以向黑客透露许多操作系统的敏感信息,如windows 2000 server默认开启的IIS服务就告诉对方你的操作系统是windows 2000。69端口告诉黑客你的操作系统极有可能是linux或者unix系统,因为69是这些操作系统下默认的tftp服务使用的端口。对端口的进一步访问,还可以返回该服务器上软件及其版本的一些信息,这些对黑客的入侵都提供了很大的帮助。此外,开启的端口更有可能成为黑客进入服务器的门户。
总之,做好TCP/IP端口过滤不但有助于防止黑客入侵,而且对防止病毒也有一定的帮助。
(四)软件防火墙、杀毒软件
虽然我们已经有了一套硬件的防御系统,但是“保镖”多几个也不是坏事。
(五)开启你的事件日志
虽然开启日志服务虽然说对阻止黑客的入侵并没有直接的作用,但是通过他记录黑客的行踪,我们可以分析入侵者在我们的系统上到底做过什么手脚,给我们的系统到底造成了哪些破坏及隐患,黑客到底在我们的系统上留了什么样的后门,我们的服务器到底还存在哪些安全漏洞等等。如果你是高手的话,你还可以设置密罐,等待黑客来入侵,在他入侵的时候把他逮个正着。
9. 如何提高windows 服务器安全性 知乎
1)、禁用Guest账号在计算机管理的用户里面把Guest账号禁用。为了保险起见,最好给Guest加一个复杂的密码。
2)、限制不必要的用户 去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。
3)、创建两个管理员账号创建一个一般权限用户用来收信以及处理一些日常事物,另一个拥有Administrator权限的用户只在需要的时候使用。
4)、把系统Administrator账号改名Windows XP的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户,比如改成Guesycludx。
5)、创建一个陷阱用户创建一个名为“Administrator”的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。
6)、把共享文件的权限从Everyone组改成授权用户 不要把共享文件的用户设置成“Everyone”组,包括打印共享,默认的属性就是“Everyone”组的。
7)、不让系统显示上次登录的用户名 打开注册表编辑器并找到注册表项-DisplayLastUserName,把键值改成1。
8)、系统账号/共享列表 Windows XP的默认安装允许任何用户通过空用户得到系统所有账号/共享列表,这个本来是为了方便局域网用户共享文件的,但是一个远程用户也可以得到你的用户列表并使用暴力法破解用户密码。可以通过更改注册表Local_-RestrictAnonymous = 1来禁止139空连接,还可以在Windows XP的本地安全策略(如果是域服务器就是在域服务器安全和域安全策略中)就有这样的选项RestrictAnonymous(匿名连接的额外限制)
10. 如何提高服务器的安全性
推荐使用服务器数据保护锁--MCK,是通过安全容器接管操作系统,让应用在容器内运行,数据保存在容器内,容器内通过镜像技术,实行工作场景白名单机制,并对核心数据进行加密保护,实现服务器的最后一米安全。即使攻进来,什么也做不了。
对外可防止木马病毒入侵,防止核心数据被盗取
对内可以对运维人员进行运维行为审计。