Linux安全配置

简介:
由于Linux的开源,使得Linux强大功能的背后,总是有些不尽人意的地方,为了使Linux达到一个最安全的程度,还要不断的来对Linux配置要下一番功夫。
 
  所以一般要注意主机的包漏洞修补,放火墙的设置,关闭危险服务(端口)以及每日的日志分析.
 
再这里我们以端口来讲述一下安全方面的问题
 
什么是端口
  一台主机的端口可以分为监听端口与随机取用的高级端口.所谓监听端口就是主机开启了哪些服务,那么这个服务会在Linux系统里启用一个端口来监听客户端的请求.例如FTP服务器,就会开放21号端口,这个端口会一直启用,直到FTP服务关闭为止.所谓随机取用的高级端口就是Linux要向某个主机请求服务时,Linux主机需要启用一个端口来对外连接,那么端口号是多少?Linux会随机取用一个未被使用且端口号大于1024的端口进行连接.
 
    所以server/Client之间的数据传送其实就是端口与端口之间的传送.
 
总共有多少端口,哪些是保留端口
 
     端口编号是由1-65535组成,所以会有65535个端口.一般而言,只有root才可以开启1-1023一内的端口,这些端口就是特殊抟口,用于保留给系统使用.至于大于1024的端口,除了给系统随机取用作为连接需求之外,也可以用来服务的监听之用.
 
    如果1-1023的端口的程序被入侵,那将表示入侵者拥有root的权限,是因为只有root才可以开启1-1023一内的端口.这个时候就要注意主机的安全了.
 
    在Linux中保留端口与它所对应的服务其实已经有了一个对照表,那就是/etc/services文件,可以使用netstat -n以数值方式显示连接状态,使用netatst -tl可以显示当前正在监听的服务名称. /etc/services文件也是某些端口启动时设置端口的重要依据. 
 
     要了解所谓的端口与服务对于安全的关系:真正影响网络安全的并不是端口,而是启动端口的服务.

   所以真正的危害是某些不安全的服务而不是开放的端口.基本上,如果没有必要,就关掉一些用不到的端口,而且服务的版本要持续更新.
 
如何查看端口
 
1.需要知道主机当前开了多少端口?
2.了解服务跟端口对应的文件是那一个?/etc/services
 
介绍查看主机端口最常用的命令:

netstat:在本机上检查自己的程序检测端口,没有危险
nmap:在本机上以特殊的检测程序检测自己,可能会违法
 
关闭或启动一个端口
 
    要开或关闭一个端口,只需要开启或关闭一个服务即可.所以,当检测完端口后,接下来就是要找出端口所对应的服务,将该服务关掉,就会把端口关掉.
 
设置开机时启动服务的方法
 
    如果以文字方式登录,文字界面的run-level为3,所以就在/etc/rc.d/rc3.d里可以找到服务的启动参数,就是以S开头的文件.如果不要启动一些服务,就将服务对应的文件(以S开头的文件)删除即可.
 
    一般情况下不需要手工删除文件,Linux一般为我们提供了程序可以完成:

    ntsysv
    setup

    是不是要将所有的Linux默认的服务关闭?因为系统有很多服务是一定要启动的,否则反而变的不安全.

以下列出一些完全没有对外开放端口,但却是系统必须的服务,这些服务不要关闭.
 
atd:在例行命令里提到的,只执行一次的预约执行任务,务必启动
cron:在例行命令里提到的,循环执行的命令,务必启动
iptables:防火墙,无论如何,先启动它
keytables:设置键盘上的字母格式,当然需要读入,否则如何控制
network:网络功能
random:快速使系统在随即时间内保存到映象文件,对系统相当重要,因为在开机之后,系统回迅速回复到关        机之前的状态
syslog:在系统日志文件提过,是相当重要的文件,务必启动
xinetd:服务器管理器super deamon,是必须启动的服务之一
xfs:如果使用run-level的图形界面,这个必须启动
 
关闭所有对外开放的端口
 
    在装完Linux后,就要将不必要的程序或服务关闭,最重要的是将对外开放的端口先关闭,需要的时候在开启.如果要假设服务器,可以逐个开启这些端口.
 
    1.使用ntsysv设置开机时启动哪些服务

      一般只选择:atd,cron,iptables,keytables,network,random,syslog,xinetd,xfs(如有图形界面)

     2.重新启动

      reboot

     3.查看当前开启了多少端口

      netstat -an








本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/15569 ,如需转载请自行联系原作者



相关文章
|
20天前
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
121 64
|
1天前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
10 1
|
14天前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
16天前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
25 1
|
21天前
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
92 3
|
2月前
|
关系型数据库 MySQL Linux
在Linux中,新安装mysql后怎样提升mysql的安全级别?
在Linux中,新安装mysql后怎样提升mysql的安全级别?
|
2月前
|
Ubuntu Linux 开发工具
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
|
2月前
|
存储 监控 安全
在Linux中,如何进行安全审计?
在Linux中,如何进行安全审计?
|
2月前
|
存储 运维 监控
在Linux中,如何进行高可用性配置?
在Linux中,如何进行高可用性配置?
|
2月前
|
关系型数据库 MySQL Linux
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?