0

我的帖子

个人中心

设置

  发新话题


做为一个小白,以为自己懂了点Linux知识,会搭建Linux各种服务就觉得自己牛的不要要的。在我们团队里面,我将使用了一台破电脑搭建Linux服务器,上面跑着Ftp服务存放着资源,ssh服务可以远程登录,,Web服务存放着我们业务的各种脚本方便同事们随意查看资料,以及正在搞的多媒体服务。我了个去,那天上班,发现各种服务没了,然后登录上破电脑一看,啥资料都没了。
当时一脸蒙蔽,不知发生了什么事情谁让是小白呢。找了朋友看,你被黑了,……。我脸真黑,他说也别查其它的了,重新安装系统和服务,重新加固系统安全,不要以为Linux安装好,就能在互联网上面直接裸奔。我无语!
1. 安装用到的服务
如果你在运行一台服务器,选择自己所需要的服务,尽量不要安装用不到的程序。尽管你可以在自己的服务器上安装任意软件。不过,别犯想当然的毛病。Linux服务器会有人在该服务器上运行的任何未打补丁或易受***的软件组件的空子而被劫持。这样你就悲剧了。
所以,尽量让你的服务器更加精简。只安装你确实需要的那些程序。如果没有或者不需要的程序包,那就卸载掉。程序包数量越少,代码没打上补丁的可能性就越小,遭受潜在的危险就越小。
2. 运行需要的服务程序
就是只运行需要的那些服务程序,许多发行版或程序包可能会开启某些服务,并在不同的端口上运行。这就会带来安全风险,打开终端,运行下列命令:netstat -npl。
输出结果会显示服务在哪些端口上运行。如果你发现有任何不应该运行的服务,那么立即停止。多密切关注已被启用、系统启动时运行的服务,只要是在运行systemd的系统上运行下列命令,就可以来检查这方面: systemctl list-unit-files --type=service | grep enabled 。如果是你发现有不需要的服务,可以使用systemct1命令来禁用它:systemctl disable service_name。
3.禁止以根用户远程登录
关闭root用户的直接访问,而使用sudo或su来执行管理员任务。关闭通过SSH直接访问root,需要再次打开sshd_config,找到下面这行,#PermitRootLogin yes ,更改为PermitRootLogin no,重启服务即可生效。
4.更改SSH默认端口
在搭建好服务器后要做的第一件事情就是更改SSH的默认端口,这个小小的改动可以能够使你的服务器避免受到成千上万的暴力袭击。如果不更改默认端口,他们知道你家的门牌号,这样他们只需要一把一把的试钥匙就可能打开你家的门锁。要更改默认的SSH端口,先打开sshd_config文件:sudo vim /etc/ssh/sshd_config,找到下面这行:#Port 22,“#”号表示这行是注释,首先删除#号,然后把端口号改成目的端口。端口号不能超过65535,确保要指定的端口号没有被系统或其它服务占用。比如我使用这个端口号:Port 16679,然后保存并关闭文件,systemctl restart sshd 重启服务!ssh服务也可以配置白名单限制ip登录,呃,暂时不知道怎么搞?!在破电脑被黑了之后,我说端口是23,我老大使劲恶心我。哎,我还郁闷了。
5.iptables
iptables我是看着头晕,但被黑之后,我就老老实实的学习这玩意了。iptables可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配,一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量。iptables策略规则的匹配顺序是从上至下的,因此要把较为严格、优先级较高的策略规则放到前面,以免发生错误。可以通过iptables入站规则将公开和非公开服务区分,指向用户提供web接口。比如将INPUT规则链设置为只允许指定网段的主机访问本机的22端口,拒绝来自其他所有主机的流量:iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT, iptables -A INPUT -p tcp --dport 22 -j REJECT,iptables -L;更比如向INPUT规则链中添加拒绝192.168.10.5主机访问本机80端口(Web服务)的策略规则:iptables -I INPUT -p tcp -s 192.168.10.5 --dport 80 -j REJECT,iptables -L。尽管现在还是一脸懵逼,但启用了至少没比强,再专研下争取可以将iptables使用的更合理化。
目前就做了这么多安全,还仍然在学习linux,推荐一本书叫《Linux就该这么学》适合小白,不要总以为学完Linux基础课程就完了,这才是开始,路还长。吃亏是福,还有那些安全措施?大神们!!!
本帖最近评分记录
  • Shell_2015 无忧币 +6 热心广援 2018-8-7 15:51



1. 推荐秘钥验证
2. 做统一认证
3. 做跳板机
4. 如果安全级别要求特别高,可以安装google的authorticator做二次认证
5. 安全体系是立体的,从最初设计时就需要考虑,单做好系统是很难防住的
6. 访问权限一定要控制,必须要有人扮黑脸卡权限,这个技术上最简单也最难实现
7. 要有操作记录,这本身就是安全的一个方面

本帖最近评分记录
  • Shell_2015 无忧币 +5 热心广援 2018-8-7 15:51



本帖最后由 chengchow 于 2018-7-20 13:57 编辑
你知道的真多~



文章老生常谈了,但是有多少人做到了啊!毕竟对于现在的数据和服务器安全已经重之重了,就说一个iptales就有很多小型企业服务器都没进行加固,除非挂靠到云上进行统一管理。建议还是做跳板机,进行权限认证,iptables开启,限制端口访问。



技术在于交流,欢迎参观博客 [http://http://blog.51cto.com/chenhao6]
提示: 作者被禁止或删除 内容自动屏蔽
引用:
原帖由 七彩极 于 2018-7-20 11:56 发表
http://s2.51cto.com/oss/201807/19/ef153db9fb27d6317579daf516ac1eb7.jpg-wh_651x-s_3413471537.jpg
做为一个小白,以为自己懂了点Linux知识,会搭建Linux各种服务就觉得自己牛的不要要的。在我们团队里面,我将使用了一 ...
感谢分享 受教了



学习了




路过,楼主你少了一条关注软件漏洞发布,定期更新漏洞哦



感觉和楼主说到的这些东西我也会,但因为没有运维经验,想找这方面的工作不好找**




将INPUT规则链设置为只允许指定网段的主机访问本机的22端口,拒绝来自其他所有主机的流量。


楼主上面的规则写的不够精简,一条iptables就可以,没必要用两条。
iptables -I INPUT !  -s 192.168.10.0/24 -p tcp --dport 22 -j DROP


此外,当防火墙用 iptables 来完成时,规则少还可以,如果过多的话,建议使用新的软件,叫做 nftables,可以了解一下。CentOS 7 可以直接yum install nftables 来进行安装,CentOS 6 需要编译安装。



‹‹ 上一贴:xshell 中 alt+. 快捷键无法使用?   |   下一贴:怎么安装linux系统呢?安装linux系统和硬件配置有什么关 ... ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com