前景提要
最近搞了个阿里云服务器,用来部署自己的odoo项目 。结果服务器安全没做好 。被抓了当肉机 。所以在这里记录一下 ,购买服务器后最好做的以下几件事。
防火墙设置
- Ubuntu防火墙设置 ,我这台服务器阿里云的默认有安装防火墙, 如果服务器没有防火墙 ,则先安装防火墙 :
sudo apt install ufw
- 防火墙安装好后,查看服务器防火墙状态:
sudo ufw status
我这里防火墙状态:status: active
表示为已启动。如果是inactive
表示未启动状态 ,我们可以通过sudo ufw enable
来启动防火墙 。
启动防火墙时 ,服务器会提示:Command may disrupt existing ssh connections. Proceed with operation (y|n)?
意思就是,命令有可能会中断本次ssh的连接,是否继续。
我们选择继续:y
,会提示防火墙已打开。
此时防火墙的功能以及作用在服务器上面了,服务器已经足够安全了。如果这个时候你以为万事搞定了 。那就打错特错了 。
当你退出ssh连接, 再次重新通过ssh访问服务器时,你会发现,呐尼~服务器连接不上了???
原因是 ,防火墙开启后 ,系统没有允许端口访问 。而
ssh
连接服务器默认是使用22
端口进行服务器访问。现在22端口
在防火墙内没有开放。所以 。如果通过ssh
连接服务器。你就访问不上了。
这个时候千万别关闭服务器连接!当然,如果你关闭了也有办法解决。我们等下讲 。
服务器防火墙端口开放&关闭与ssh默认22端口修改
- 在防火墙状态开启的状态下 ,我们可以设置开放的端口 。比如ssh连接默认用到的22端口 。在终端继续执行
sudo ufw allow 22
这样 ,22端口就可以访问了 。 - 考虑到服务器安全因素。我想把ssh默认的22端口禁止访问,并修改成自定义端口替代。
- 第一步:先在防火墙内设置允许开发你需要自定义的端口:
sudo ufw allow 23333
- 第二步:编辑ssh配置文件:
sudo vi /etc/ssh/sshd_config
, 加入Port 23333
保存:wq
退出。(注意如果不想关闭22端口的话 ,可以不注释掉)
- 第三步: 在改好配置文件后 ,重新启动ssh服务:
service ssh restart
就生效了。
- 第一步:先在防火墙内设置允许开发你需要自定义的端口:
做到这一步 ,你可以通过ssh 配置端口23333去访问服务器了 。如果想
禁止22端口
访问服务器的话 ,先在防火墙内关闭刚刚允许开放的22
端口:sudo ufw deny 22
,然后再次编辑上面说的/etc/ssh/sshd_config
文件,将Port 22
注释掉即可 。
个人建议,在云服务器开启后,都开启防火墙,并修改掉默认访问的端口 。这样服务器更加安全。
因防火墙开启,22端口未开放访问不了服务器的兄弟们看这里~哈哈
云服务的解决方法
远程访问云服务的方法有几种, 目前因为端口未开放,
ssh
的访问方式显然是不行了 。这个时候,可以打开阿里云控制台,找到这台云服务器,通过以下几种方式连上服务器进行端口设置,再次开启端口就行了。
第一种就可以了。连接成功后直接按上面修改设置端口;设置防火墙允许ssh端口