
课程咨询: 400-996-5531
投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习Linux编程开发等互联网技术,而本文我们就通过案例分析来简单了解一下,Linux编程安全问题分析。
1、网络与安全规划
不论是否设置外网地址,所有的虚机缺省都可以直接访问互联网,可以通过网络安全组(NSG)来控制访问。网络安全组您可以认为是一个自定义免费的网络防火墙。网络安全组(NSG)包含一系列访问控制列表(ACL)规则,这些规则可以允许或拒绝虚拟网络中流向VM实例的网络流量。NSG可以设置在不同维度:VNET,子网,某台虚机,虚机上的某个网卡,是非常强大的流量与访问控制工具。
NSG是ACL(访问控制列表)的升级版本,和访问控制列表互斥。只能选择一种方式,在新的ARMPortal中,Azure采用NSG方式来进行访问控制。防火墙按照优先级,根据源IP及端口,目的IP及端口,协议类型做出相应的动作访问或者拒绝。
用户网络使用一个VNet,可以划分应用层,逻辑处理层和数据层,每层采用一个子网,根据需要可以设置NSG防火墙;
逻辑处理层和数据库不设置外部IP,这样不会直接暴露在外面;
可以单独设置一台跳板管理机用来做后端服务器的管理;
可以使用AzureVPN或者专线来连接跳板管理机,安全性更高;
2、软件安装和组件
安装过程中使用复杂密码或者直接使用SSH密钥方式;
安装镜像来源有Azure官方、镜像市场、自传镜像,尽量使用Azure官方镜像;
安装(以Ubuntu为例)完成后查看已经安装的软件列表:dpkg-l;
使用ps-al查看是否有可疑程序在运行;
查看端口使用情况:netstat-an;
根据上面提示停止并删除不需要的三方程序。
3、系统安全与服务
密码安全策略,符合Azure要求,尽量复杂难猜些;
使用shadow来隐藏密文,Azure官方镜像此处是默认设置;
清除或者禁用不必要的系统帐户;
不在passwd文件中包含个人信息;
修改shadow、passwd、gshadow文件属性为不可改变;
不要使用.netrc文件;
以前Oracle安装RAC经常需要设置主机间信任关系,在云端请不要使用对等信任文件/.rhosts、/etc/hosts.equiv;
使用SSH来代替telnetd、ftpd、pop等通用服务,传统的网络服务程序,如:ftp、pop和telnet口令和数据是明文传输的。
4、网络与服务安全
只对外开放所需要的服务,关闭所有不需要的服务;
做好前后端的分离和访问控制的控制;
将所需的不同服务分布在不同的主机上,这样不仅提高系统的性能,同时便于配置和管理,减小系统的安全风险;
定期进行扫描检测,建议可以使用nmap软件进行自检。
在负载均衡服务的入站规则中设置NAT端口转换,将常用端口映射成高位端口,增加外部扫描难度;
关闭PING(Azure已经关闭);
在子网层级设置NSG将不需要使用的端口全部禁用;
5、文件加固
Linux开机启动的服务程序都在/etc/init.d这个文件夹里,定期检查这些文件时间等属性是否异常,做好备份;
设置/etc/services文件权限为600。
6、防火墙
启用Linux自带的防火墙。
7、防病毒软件
Windows环境在创建时可以选择安装防病毒软件,Linux镜像没有自带防病毒软件,需要安装三方防病毒软件。
8、Fail2ban
fail2ban可以监视你的系统日志,然后匹配日志的错误信息执行相应的屏蔽动作(建议启用服务器防火墙,可以用来做服务异常监控),如果发现异常,软件会发送e-mail通知系统管理员并自动采取动作。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。