毋庸置疑,对于系统管理员,提高服务器的安全性是最重要的事情之一。因此,也就有了许多针对这个话题而生的文章、博客和论坛帖子。 一台服务器由大量功能各异的部件组成,这一点使得很难根据每个人的需求去提供定制的解决方案。这篇文章尽可能涵盖一些有所裨益的小技巧来帮助管理员保证服务器和用户安全。 有一些常识是每个系统管理员都应该烂熟于心的,所以下面的几点在本文将不会提及: 
下面是一些更有意思的内容: 更改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 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(Config Server Firewall)这个强力防火墙。它使用了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,切换到product模式。 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 小结 这篇文章的目的是涵盖一些通用的安全步骤以便帮助你保护服务器。你可以采取更多方式去增强对服务器的保护。请记住保证服务器安全是你的责任,在维护服务器安全时尽量做出明智的选择,尽管并没有什么容易的方式去完成这件事情,而建立“完善的”安全需要花费大量的时间和测试直到达到想要的结果。 ,
groupId: 6516739592853389828,
itemId: 6516739592853389828,
type: 2,
subInfo: {
isOriginal: false,
source: IT小明,
time: 2018-01-31 07:22:35
},
tagInfo: {
tags: [{"name":"Linux"},{"name":"防火墙"},{"name":"Windows"},{"name":"黑客"},{"name":"Wget"}],
groupId: 6516739592853389828,
itemId: 6516739592853389828,
repin: 0,
},
has_extern_link: 0
},
commentInfo: {
groupId: 6516739592853389828,
itemId: 6516739592853389828,
comments_count: 6,
ban_comment: 0
},
mediaInfo: {
uid: 74887486145,
name: IT小明,
avatar: //p4.pstatp.com/large/54ed001edc597a4db8e7,
openUrl: /c/user/74887486145/,
follow: false
},
pgcInfo: {"media_info":{"open_url":"/c/user/74887486145/","avatar_url":"https://p4.pstatp.com/large/54ed001edc597a4db8e7","media_id":1586819924660238,"name":"IT小明","user_verified":false},"articles":[{"item_id":"6517017662512431630","url":"/item/6517017662512431630","title":"中国十大功夫巨星实力排名,成龙垫底甄子丹第7,第一不是李小龙"},{"item_id":"6517015019702452740","url":"/item/6517015019702452740","title":"堪称中国香港功夫电影最经典的一段武打场面!百看不厌"},{"item_id":"6517012741461377549","url":"/item/6517012741461377549","title":"疯狂的赛车 黄渤和徐峥的对话,让你笑了不能停止"},{"item_id":"6517002202131726856","url":"/item/6517002202131726856","title":"「安全篇」Nginx 优化之安全篇"}]},
feedInfo: {
url: /api/pc/feed/,
category: __all__,
initList: [{"comments_count":103,"media_avatar_url":"//p1.pstatp.com/large/3e5b0003e8b7bba867b3","is_feed_ad":false,"is_diversion_page":false,"title":"台湾黑客发现一张动图能宕掉一台服务器,运维这个腊月又要忙了","single_mode":true,"gallary_image_count":5,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6514551846428738055/","source":"海阳顶端","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":236,"image_url":"//p1.pstatp.com/list/190x124/5b4900057373594447ef","group_id":"6514551846428738055","is_related":true,"media_url":"/c/user/3668637589/"},{"comments_count":7,"is_related":true,"is_feed_ad":false,"is_diversion_page":false,"title":"mysql函数和批量取出后在服务器内进行操作再批量修改,哪个效率更高?","single_mode":true,"gallary_image_count":0,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6514537488835412238/","source":"悟空问答","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":0,"image_url":"//p3.pstatp.com/list/190x124/5d3f00003aa241412934","group_id":"6514537488835412238"},{"comments_count":258,"media_avatar_url":"//p4.pstatp.com/large/46c500052acb6fa38178","is_feed_ad":false,"is_diversion_page":false,"title":"电脑忘记密码不用重装系统也可以进入系统的方法","single_mode":true,"gallary_image_count":6,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6515926344549794312/","source":"王文新","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":131,"image_url":"//p3.pstatp.com/list/190x124/509600033731be06643f","group_id":"6515926344549794312","is_related":true,"media_url":"/c/user/5931095751/"},{"comments_count":8,"media_avatar_url":"//p1.pstatp.com/large/16ab0015ac854237311b","is_feed_ad":false,"is_diversion_page":false,"title":"Python操作MySQL数据库的三种方法","single_mode":true,"gallary_image_count":16,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6516473434988347912/","source":"python空白","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":1,"image_url":"//p3.pstatp.com/list/190x124/5e730000133113590266","group_id":"6516473434988347912","is_related":true,"media_url":"/c/user/56929627307/"},{"comments_count":0,"is_related":true,"is_feed_ad":false,"is_diversion_page":false,"title":"编写高性能Java服务器,应该选用何种方案?","single_mode":true,"gallary_image_count":1,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6514830135949000967/","source":"悟空问答","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":0,"image_url":"//p1.pstatp.com/list/190x124/5b0100025718f893109a","group_id":"6514830135949000967"},{"comments_count":171,"media_avatar_url":"//p10.pstatp.com/large/438f00004eac8bb7ece8","is_feed_ad":false,"is_diversion_page":false,"title":"卸载吧!电脑还用PDF阅读器,格式转化大师?只要一款就够了!","single_mode":true,"gallary_image_count":13,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6516090106531545613/","source":"阿根Excel","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":44,"image_url":"//p9.pstatp.com/list/190x124/5b5c0001b5b55c76caf9","group_id":"6516090106531545613","is_related":true,"media_url":"/c/user/70815695983/"},{"comments_count":50,"media_avatar_url":"//p3.pstatp.com/large/150d0014d9f3c671a22c","is_feed_ad":false,"is_diversion_page":false,"title":"电脑蓝屏是什么原因?不花钱,自己轻松解决(多图)","single_mode":true,"gallary_image_count":9,"middle_mode":true,"has_video":false,"video_duration_str":null,"source_url":"/group/6516738968820646404/","source":"趣说video","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":50,"image_url":"//p1.pstatp.com/list/190x124/5e77000089652442c42e","group_id":"6516738968820646404","is_related":true,"media_url":"/c/user/4328083219/"},{"comments_count":229,"media_avatar_url":"//p1.pstatp.com/large/16ab0000c69444edcb31","is_feed_ad":false,"is_diversion_page":false,"title":"除了百度,其实还有很多不为人知的搜索引擎","single_mode":true,"gallary_image_count":4,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6515380907723981319/","source":"木子淇","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":209,"image_url":"//p1.pstatp.com/list/190x124/5b5200036e126e906fdf","group_id":"6515380907723981319","is_related":true,"media_url":"/c/user/50517704788/"},{"comments_count":9,"media_avatar_url":"//p3.pstatp.com/large/2c640002496a93effe6f","is_feed_ad":false,"is_diversion_page":false,"title":"Python最牛逼数据分析库!月薪35K大牛:整理的NumPy详细教程!","single_mode":true,"gallary_image_count":80,"middle_mode":true,"has_video":false,"video_duration_str":null,"source_url":"/group/6516738265448448515/","source":"sun菜菜","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":1,"image_url":"//p1.pstatp.com/list/190x124/5e6f0005f1b8ffd393ef","group_id":"6516738265448448515","is_related":true,"media_url":"/c/user/5838461924/"},{"comments_count":11,"media_avatar_url":"//p2.pstatp.com/large/50a700021009ae7f6ee3","is_feed_ad":false,"is_diversion_page":false,"title":"编程中的多线程中线程池的总结,这是编程中非常重要的一块知识","single_mode":true,"gallary_image_count":9,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6515621938386174472/","source":"幻风的编程日记","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":3,"image_url":"//p9.pstatp.com/list/190x124/5b5200049ebf70beae38","group_id":"6515621938386174472","is_related":true,"media_url":"/c/user/51463884458/"},{"comments_count":5,"media_avatar_url":"//p10.pstatp.com/large/43890001896873db061f","is_feed_ad":false,"is_diversion_page":false,"title":"关于Linux的SELinux,iptables,SSH服务配置你需要知道这些常识","single_mode":true,"gallary_image_count":14,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6516711418333495821/","source":"Eleght科技","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":0,"image_url":"//p3.pstatp.com/list/190x124/5e7400019714c6bf51c5","group_id":"6516711418333495821","is_related":true,"media_url":"/c/user/4751763079/"},{"comments_count":117,"media_avatar_url":"//p8.pstatp.com/large/5ac50015311a1d00f5d5","is_feed_ad":false,"is_diversion_page":false,"title":"电脑运行越来越慢?10分钟学会电脑瘦身","single_mode":true,"gallary_image_count":9,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6516302543860007431/","source":"程序媛进化论","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":0,"image_url":"//p1.pstatp.com/list/190x124/5e6f000157aa10544fcb","group_id":"6516302543860007431","is_related":true,"media_url":"/c/user/84275416965/"},{"comments_count":28,"media_avatar_url":"//p1.pstatp.com/large/594300036db0b6848f2b","is_feed_ad":false,"is_diversion_page":false,"title":"单点登录系统原理和实现","single_mode":true,"gallary_image_count":10,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6516663388557279748/","source":"此谷非彼古","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":0,"image_url":"//p1.pstatp.com/list/190x124/5e6f0004e0d99b22f23c","group_id":"6516663388557279748","is_related":true,"media_url":"/c/user/51944734828/"},{"comments_count":34,"media_avatar_url":"//p1.pstatp.com/large/ef3000340a9c8281034","is_feed_ad":false,"is_diversion_page":false,"title":"Java、Web和移动程序员可以在2018年学习的10个框架","single_mode":true,"gallary_image_count":10,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6516787773515497997/","source":"从很小就坏","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":19,"image_url":"//p3.pstatp.com/list/190x124/5e7300032ffe20773a96","group_id":"6516787773515497997","is_related":true,"media_url":"/c/user/4699727666/"},{"comments_count":9,"media_avatar_url":"//p9.pstatp.com/large/5b4b00035fd29d745422","is_feed_ad":false,"is_diversion_page":false,"title":"如果没有输入正确的配对码,设备不会接受蓝牙连接请求","single_mode":true,"gallary_image_count":1,"middle_mode":true,"has_video":false,"video_duration_str":null,"source_url":"/group/6515181543319667208/","source":"热点知讯","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":0,"image_url":"//p1.pstatp.com/list/190x124/5b500004964cb1ae16e7","group_id":"6515181543319667208","is_related":true,"media_url":"/c/user/86786129058/"},{"comments_count":10,"media_avatar_url":"//p3.pstatp.com/large/5b4e00047c253fce16b7","is_feed_ad":false,"is_diversion_page":false,"title":"在运营分析体系中,每个互联网电视终端都对应了一个用户","single_mode":true,"gallary_image_count":3,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6516767214287192583/","source":"魔力方数码","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":0,"image_url":"//p3.pstatp.com/list/190x124/5e7500023b84743e7405","group_id":"6516767214287192583","is_related":true,"media_url":"/c/user/51616758548/"},{"comments_count":11,"media_avatar_url":"//p2.pstatp.com/large/509a0004cf34aa23065f","is_feed_ad":false,"is_diversion_page":false,"title":"当它CPU相连接时,存储容量较小,但速度快","single_mode":true,"gallary_image_count":2,"middle_mode":true,"has_video":false,"video_duration_str":null,"source_url":"/group/6516650215150191118/","source":"科技新角","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":0,"image_url":"//p1.pstatp.com/list/190x124/5e730000bfb1be399db7","group_id":"6516650215150191118","is_related":true,"media_url":"/c/user/73199062347/"},{"comments_count":12,"media_avatar_url":"//p5a.pstatp.com/large/5b3f00059208204c2447","is_feed_ad":false,"is_diversion_page":false,"title":"系统软件处于硬件和应用软件之间,是支持应用软件的平台","single_mode":true,"gallary_image_count":3,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6516652395198415364/","source":"科技与创意","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":0,"image_url":"//p3.pstatp.com/list/190x124/5e6f00049e78ecb6b03d","group_id":"6516652395198415364","is_related":true,"media_url":"/c/user/85943730164/"},{"comments_count":7,"media_avatar_url":"//p3.pstatp.com/large/4aeb00024ce39017e26b","is_feed_ad":false,"is_diversion_page":false,"title":"Java线程总述与概念","single_mode":true,"gallary_image_count":10,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6516819282867782158/","source":"风哥Java分享","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":0,"image_url":"//p1.pstatp.com/list/190x124/5e740002f69d5da6f3d1","group_id":"6516819282867782158","is_related":true,"media_url":"/c/user/79121547389/"},{"comments_count":60,"media_avatar_url":"//p1.pstatp.com/large/13540016336bb7fe0f61","is_feed_ad":false,"is_diversion_page":false,"title":"这样操作Excel更快捷,90个技巧分享!","single_mode":true,"gallary_image_count":7,"middle_mode":false,"has_video":false,"video_duration_str":null,"source_url":"/group/6516381394103435784/","source":"ExcelVBAHome","more_mode":null,"article_genre":"article","has_gallery":false,"video_play_count":13,"image_url":"//p3.pstatp.com/list/190x124/5e700002f11bc53b2d21","group_id":"6516381394103435784","is_related":true,"media_url":"/c/user/54616239568/"}]
},
shareInfo: {
shareUrl: https://m.toutiao.com/item/6516739592853389828/,
abstract: 因此,也就有了许多针对这个话题而生的文章、博客和论坛帖子。一台服务器由大量功能各异的部件组成,这一点使得很难根据每个人的需求去提供定制的解决方案。 |