移动云如何进行云主机OS加固?
Windows虚机加固
1. 修改远程端口
攻击扫描端口时通常会扫描固定端口。修改远程端口,会降低远程连接服务被扫描到的可能性。配置过程如下:
(1) 打开注册表:开始---运行---"regedit"---确定
(2) 定位注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp,将PortNumber的值设置为所需端口号(默认值为3389),基数选择十进制。
(3) 定位注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp,将PortNumber的值设置为所需端口号(默认值为3389),基数选择十进制。
说明
两个文件都需要修改,否则操作不生效
(4) 重启操作系统,测试远程连接:默认3389端口连接失败,修改后的1212端口连接成功。
注意
修改远程端口后,可能需要修改对应的安全组,操作方式见安全组管理。
2. 使用普通账号登录
使用普通账号登录,并赋予普通账号超级用户权限,降低被恶意扫描或者暴力登录的概率。
注意
- 由于云主机内部有程序依赖默认的Administrator账户,请勿修改默认的Administrator账户名称,否则影响云主机性能监控、控制台改密等操作;
- 控制台改密修改的是Administrator 账户的密码,用户另行创建的账户密码需要登录Administrator账户后进行修改。
以windows 2019为例,普通用户的配置过程如下:
(1) 点击【开始】-选择【Windows系统】-选择【控制面板】-选择【用户账户】-选择【用户账户】-选择【管理账户】-选择【添加用户账户】,输入新增的用户名并设置登录密码,完成用户添加
(2) 点击新添加的用户-更改账户类型-选择管理员-确认更改账户类型
(3) 测试登陆用户:有administrator用户,新增的普通用户。
3. 配置指定地址登陆
建议使用安全组进行限制,安全组配置如下:(3) 测试登陆用户:有administrator用户,新增的普通用户user01。
(1) 打开移动云控制台,在左侧导航栏中选择:【弹性计算】-【安全组】
(2) 创建安全组:点击创建选项,在弹出的界面中输入安全组名称及描述,单击确定创建完成。
(3) 规则管理:点击对应安全组的“管理规则”选项,可对安全组规则进行管理。
(4) 测试远程连接:安全组规则允许的IP地址登陆成功,不允许的IP地址登陆失败。
4. 设置禁ping
一般攻击者会批量ping地址来寻找存活的主机,禁ping让别人找不到您的云主机,从而降低攻击风险。
(1) 打开本地安全策略:开始--运行--" secpol.msc "--确定。
(2) 创建禁ping过滤列表和过滤操作:右击“IP安全策略,在本地计算机”选择“管理IP筛选器列表和筛选器操作”。
(3) 创建过滤列表:在“管理IP筛选器列表”窗口点击添加按钮,添加禁ping过滤列表。名称自定义,以便管理。点击添加选择下一步,去掉“镜像...”前面的√,选择下一步。
(4) 定义筛选条件:源地址选“任何IP地址”,目标地址选“我的IP地址”,协议类型选“ICMP”,选择下一步点击完成。
(5) 创建过滤操作:在“管理筛选器操作”窗口点击添加按钮,在“安全方法”窗口选择阻止,在“常规”窗口自定义名称。点击确定。
(6) 创建IP安全策略:右击“IP安全策略,在本地计算机”选“创建IP安全策略”,选择下一步,自定义名称,再选择下一步、下一步点击完成。
(7) 编辑IP安全策略:右击新策略名称选择属性,在规则窗口点击添加,选择定义好的IP过滤策略和操作。点击应用完成编辑。
(8) 右击IP安全策略名称选择分配选项以启用策略。
(9) 测试ping操作:禁ping成功。
5. 设置密码复制性要求:
使用复杂密码,使暴力破解更加困难。配置过程如下:
(1) 打开本地安全策略:开始--运行--" secpol.msc "--确定。
(2) 在本地安全策略编辑器左边面板展开:账户策略--密码策略。
(3) 启用密码必须符合复杂性要求,双击密码必须符合复杂性要求,点击本地安全设置,勾选已启用(默认)。
(4) 增加密码长度最少值,双击密码长度最少值,点击本地安全设置,按需求填写字符长度,可以设置为1到14个字符,0是不需要密码即可登录(不建议)。
6. 设置密码过期时间:
定期对密码进行修改,避免密码泄露,增加使用安全。
(1) 打开本地安全策略:开始--运行--" secpol.msc "--确定。
(2) 在本地安全策略编辑器左边面板展开:账户策略--密码策略。
(3) 设置密码过期时间:右击右侧面板“密码最长使用期限”选项,选择“属性”,在“本地安全策略”界面中输入适当的过期天数,0表示永不过期。
(4) 设置密码最短使用期限:右击“密码最短使用期限”,选择“属性”,在“本地安全策略”界面中输入适当的数值,以天为单位,在修改密码后的这些天内无法修改密码,0表示随时可以更改密码。
说明
administrator用户可以随时修改普通用户密码
7. 其他安全建议
- 如有购置1台以上的服务器,可以通过一个或两个(一个备用)入口访问,其余服务器使用内网互通登录。
- 关注操作系统补丁发布、测试、更新。
- 应用侧安全加固。
- 建议安装云主机防护类的安全软件。
8. 补充解决方案
(1) 解禁administrator
客户由于个人操作或其他原因,导致administrator被禁用,可通过以下方法解决:
a) 登录移动云门户-控制台-通过vnc登录云主机,将云主机进行重启,重启后立刻按多次F8 进入安全模式。
b) 安全模式下administrator能够正常进入系统,依次点击控制面板-管理工具-计算机管理。
c) 点击左侧本地用户和组下面的用户后,双击右侧administrator取消禁止用户。
d) 完成操作后重启云主机就能正常使用administrator登录。
(2) 拥有超级权限的用户输入错误次数过多,被锁后的解决办法如下:
a) 重启后连续按F8选择安全模式后进入登录画面,点击administrator用户进行登录。
b) 进入系统后点击控制面板-用户账号-管理其他用户-点击需要重置密码的用户。
c) 点击更改密码,进行密码更换。
d) 更改密码后重启即可。
通过上述排查后,若云主机仍不能连接,请您记录检查过程各步骤的排查结果、相关日志信息或截图,然后联系移动云服务台提供技术支持。
Linux虚机加固
1. 修改远程端口
SSH攻击扫描端口的时候通常会扫描固定端口,扫描到之后才会进行暴力攻击,修改远程端口,会降低SSH服务被扫描到的可能性。配置过程如下:
(1) 登录云主机,编辑ssh服务配置文件/etc/ssh/sshd_config,将其端口修改为自己想要的端口(1212端口为例),保存退出。
注意
修改端口后,对应的安全组、防火墙规则也需修改端口。
(2) 重启ssh服务:systemctl restart sshd
说明
若为centos 6 或Ubuntu操作系统,则使用service sshd restart
(3) 测试远程连接:默认22端口连接失败,修改后的1212端口连接成功。
2. 禁用root登陆
禁用root账号直接登录,使用普通账号登录,普通账号登陆之后su到root账号,降低被恶意扫描或者暴力登录的概率。配置过程如下:
(1) 创建普通用户。
(2) 编辑sudo配置文件/etc/sudoers,为用户添加sudo权限。由于/etc/sudoers是一个只读文件,无法通过vim等命令对它直接编辑,可使用visudo 命令编辑文件
(3) 编辑ssh服务配置文件/etc/ssh/sshd_config,修改PermitRootLogin属性,将yes修改为no。
说明
yes表示允许root远程登录,no表示禁止root远程登录。禁用root账号必须确保首先有一个普通权限的用户可以远程登录。远程登录使用普通权限的用户登录后根据需要sudo到root权限。
(4) 重启云主机,测试远程连接:test用户登陆成功,root用户登陆失败。
3. 配置指定地址登陆
建议使用安全组进行限制,安全组配置如下:
(1) 创建安全组:点击创建选项,在弹出的界面中输入安全组名称及描述,单击确定创建完成。
(2) 规则管理:点击对应安全组的“管理规则”选项,可对安全组规则进行管理。安全组介绍及管理操作说明见帮助中心:安全组规则管理
(3) 测试远程连接:安全组规则允许的IP地址登陆成功,不允许IP地址登陆失败。
4. 禁用密码登陆,使用密钥登陆
防止无密钥人员恶意登陆及网络暴力攻击(建议在订购云主机时安全一项中选择密钥)。配置过程如下:
(1) 编辑ssh服务配置文件/etc/ssh/sshd_config,将PasswordAuthentication属性修改为no,保存并重启ssh服务。
说明
yes表示允许密码验证,no表示禁用密码验证功能。
(2) 密钥配置过程如下:
a) 执行ssh-keygen命令,生成秘钥。
b) 执行完成后在用户家目录下的.ssh目录会生成公钥及私钥。
c) 将公钥内容导入authorized_keys文件中,并将私钥拷贝到用来登陆服务器的终端。
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
d) 测试远程连接:密钥登陆成功,使用密码登录失败
5. 设置密码复杂性要求
使用复杂密码,使暴力破解更加困难。配置过程如下:
(1) 编辑配置文件/etc/pam.d/system-auth,添加一条规则
password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict
retry:尝试次数
difok:最少不同字符
minlen:最小密码长度
ucredit:最少大写字母
lcredit:最少小写字母
dcredit:最少数字
dictpath:密码字典
(2) 验证测试:root用户不受此配置限制,普通用户则会被要求修改密码。
6. 设置禁ping
一般攻击者会批量ping地址来寻找存活的主机,禁止ping可以让别人找不到您的云主机,从而降低被攻击的风险。
(1) 编辑sysctl服务配置文件/etc/sysctl.conf,添加一条规则:net.ipv4.icmp_echo_ignore_all=1
说明
- 1表示禁ping,0表示允许ping,默认为0。
- 此方法修改为永久生效,如想临时生效可使用如下命令:echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
(2) 执行sysctl -p命令使配置生效。
(3) ping测试:无法ping通主机
7. 设置密码过期时间
定期对密码进行修改,避免密码泄露,增加使用的安全性。
(1) 使用chage命令。
说明
命令说明:
-M:设置密码有效的最大天数
-m:设置可更改密码的最小天数,为0表示任何时候都可以修改
-W:密码过期前,提前收到警告信息的天数。
如需了解更多参数请参考chage --help。
8. 其他安全建议
- 如有购置1台以上的服务器,可以通过一个或两个(其中一个备用)入口访问,其余服务器使用内网互通登录。
- 关注操作系统补丁发布、测试、更新。
- 应用侧安全加固。
- 建议安装云主机防护类的安全软件。
9. 补充解决方案
如由于暴力攻击导致云主机被锁定的,可通过移动云门户-控制台-VNC登录云主机。参考如下命令进行操作:
- 查看某一用户登录错误次数:pam_tally2 --user username
- 清空某一用户登录错误次数:pam_tally2 --user username --reset
- 清空root用户登录错误次数,进行解锁:pam_tally2 -user root -reset
- 说明
- 若pam_tally2 命令失效,使用替换命令faillock 或根据操作系统类型使用相应命令。
本文由 vps主机对比评测网 刊发,转载请注明出处