做为一个小白,以为自己懂了点Linux知识,会搭建Linux各种服务就觉得自己牛的不要要的。在我们团队里面,我将使用了一台破电脑搭建Linux服务器,上面跑着Ftp服务存放着资源,ssh服务可以远程登录,VPN业务可以访问内网的网络,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,重启服务即可生效。我们总以为自己是菜鸟,没事就用root来吧,但你上面跑着服务,黑客并不管你是谁。
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基础课程就完了,这才是开始,路还长。吃亏是福,还有那些安全措施?大神们!!!