一、linux安全

安全主要是端口与服务的对应配置

1.1 linux安全主要通过下面三个进行加固

  • Selinux----主要是对内核的访问权限加以控制
  • tcp_wrappers---一定程度上限制某种服务的访问权限
  • iptables---主要是设置软件的防火墙

1.2 ping 的禁止

  • 临时允许PING操作的命令为:#echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
  • 永久允许PING配置方法
/etc/sysctl.conf 中增加一行

              net.ipv4.icmp_echo_ignore_all=1
  • /etc/rc.d/rc.loacl
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
  • iptables的设置
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

二、Selinux介绍

  • 内核的强制安全访问控制
  • 可以用getenforce获取目前Selinux的状态
  • vi  /etc/sysconfig/selinux  设置SELINUX

三、tcp_wrappers的介绍

并不是所有的服务都是受tcp_wrappers管理的,只用采用libwrap库的服务才受管理

3.1 服务的检查

(1)检查服务是否受管理

ldd $(which domainname) | grep libwrap
         domainname=sshd httpd smb xinetd .........

如果有这个链接,说明某个服务接受tcp_wrappers管理

(2)受管理的服务

    • 进程归xinetd管理
    • 一些独立的进程
 sendmail
slapd
sshd
stunnel
xinetd
gdm
gnone-session
vsftpd
portmap

(3)有些进程不受tcp_wrappers管理

 httpd
smb
squid 等

3.2 配置管理

/etc/hosts.allow
/etc/hosts.deny

3.3 工作原理

a.当有请求从远程到达本机的时候

首先检查/etc/hosts.allow
       如有匹配的,就默认允许访问,跳过 /etc/hosts.deny这个文件
       没有匹配的,就去匹配/etc/hosts.deny 文件,如果有匹配的,那么就拒绝这个访问

b.如果在这两个文件中,都没有匹配到,默认是允许访问的

c.两个文件格式

服务列表 :地址列表 :选项

A. 服务列表格式:如果有多个服务,那么就用逗号隔开
B. 地址列表格式:
  1. 标准IP地址:例如:192.168.0.254,192.168.0.56如果多于一个用,隔开
  2. 主机名称:例如:www.baidu.com, .example.con匹配整个域
  3. 利用掩码:192.168.0.0/255.255.255.0指定整个网段
     注意:tcp_wrappers的掩码只支持长格式,不能用:192.168.0.0/24
  4. 网络名称:例如 @mynetwork

d.例子

hosts.allow  sshd:192.168.0.1:allow

hosts.deny     sshd:ALL 

四、iptables的介绍

4.1 简介

iptables是由ip+tables组成,它由多个表,每个表的功能都不一样,每个表由于多个链(chain)组成,我们可以对这个链进行设置规则与策略。

4.2 表与链

(1)一般由三种表

    • filter----管理本机数据的进出
    • NAT---网络地址转换
    • mangle---用于标记高级路由的信息包,改变不同的包和包头

(2)filter

filter表
描述
FORWARD 将外部的数据包传递到内部的服务器
INPUT 主要是外部数据进入内部数据的信息过滤
OUTPUT 主要是内部数据发到外部数据的信息过滤

(3)NAT

NAT
描述
OUTPUT 改变本地产生包的目的地址
POSTROUTING 改变数据返回来源的目的地址,SNAT,屏蔽局域网内部来源主机信息
PREROUTING 改变访问的目的地址,DNAT,也就是内部主机只能限制防火墙访问

(3)mangle不常用

4.3 iptables 内部组成

从图中可以看出,众多的路由规则(Rule)和预设的规则(policy)组成了一个功能链(chain),多个链组成一个表,多个表就组成了防火墙。最常用的就是filter表,NAT表用在地址映射方面。

4.4 iptables 执行流程

iptables就是由多个路由规则的组合体,满足一个规则,其他的规则就不在验证,所有的规则都不满足就执行默认的规则

设定规则需要注意顺序

4.5 iptables的使用

(1)iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型] 参数

-P 设置默认策略:iptables -P INPUT (DROP|ACCEPT)
-F 清空规则链
-L 查看规则链
-A 在规则链的末尾加入新规则
-I num 在规则链的头部加入新规则
-D num 删除某一条规则
-s 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。
-d 匹配目标地址
-i 网卡名称 匹配从这块网卡流入的数据
-o 网卡名称 匹配从这块网卡流出的数据
-p 匹配协议,如tcp,udp,icmp
--dport num 匹配目标端口号
--sport num 匹配来源端口号

  (2)预设规则

iptables  [-t  tables] -P[input output  FORWARD]  [ACCEPT  DROP]

  (3)针对IP网络、网络接口的过滤规则

iptables  [-t  tables] [-AI 链]  [-io  网络接口][-p tcp|UDP|ICMP] [-s  来源网络] [-d 目标网络] [-j ACCEPT |DROP]

  (4)针对TCP 和UDP的过滤规则

iptables  [-t  tables] [-AI 链]  [-io  网络接口][-p tcp,udp] [-s  来源网络][--sport 端口范围 ] [-d 目标网络] [--dport 端口范围][-j ACCEPT |DROP]

  

linux的安全--Selinux,tcp_wrappers,iptables使用的更多相关文章

  1. linux异常处理:selinux配置错误导致无法重启

    点击返回自学Linux集锦 linux异常处理:selinux配置错误导致无法重启 一次linux无法重启异常记录: 当时第一反应就是梳理最近的配置变更,特别是能预知相关的就是selinux配置变更. ...

  2. 一文彻底明白linux中的selinux到底是什么

    https://www.phpyuan.com/235739.html 一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内 ...

  3. linux中的selinux到底是什么

    一文彻底明白linux中的selinux到底是什么 2018年06月29日 14:17:30 yanjun821126 阅读数 58877 标签: SElinux 更多 个人分类: Linux   一 ...

  4. linux中的防火墙netfilter iptables

    目录 一.Linux防火墙基础 1.1 ptables的表.链结构 1.2 数据包控制的匹配流程 二.编写防火墙规则 1.iptables的安装 2.1 基本语法.控制类型 一般在生产环境中设置网络型 ...

  5. Linux分区方式及关闭iptables和selinux的方式

    分区方式一般有三种 第一种:数据不是很重要 /boot(系统的引导分区): 系统引导的信息/软件 系统的内核   200M swap( 交换分区): 为了避免系统内存用光了导致系统 宕机 如果系统内存 ...

  6. SELinux 和 iptables 开启关闭

    SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统.对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MA ...

  7. 关闭SELinux和iptables防火墙

    1.关闭SELinux: 编辑SELinux配置文件: [root@Redis selinux]# vim /etc/selinux/config 修改SELINUX配置项为disable SELIN ...

  8. 如何关闭Linux里边的selinux ?

    原文地址: http://jingyan.baidu.com/article/6d704a131ba67828da51ca73.html 有很多的Linux使用者因为对selinux不熟悉,所以都会将 ...

  9. linux web服务器,防火墙iptables最简配置

    配置防火墙(服务器安全优化) 安全规划:开启 80  22 端口并 打开回路(回环地址 127.0.0.1) # iptables –P INPUT ACCEPT # iptables –P OUTP ...

随机推荐

  1. beta week 1/2 Scrum立会报告+燃尽图 03

    本次作业要求参见:edu.cnblogs.com/campus/nenu/2019fall/homework/9913 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 徐丽君队名:胜利点 二.S ...

  2. How to correctly use preventDefault(), stopPropagation(), or return false; on events

    How to correctly use preventDefault(), stopPropagation(), or return false; on events I’m sure this h ...

  3. ubuntu下mysql数据库存储路径修改

    一.安装mysql ubuntu系统安装配置APT源,apt install mysql-server mysql-client 二.查看安装端口情况 sudo netstat -tap | grep ...

  4. oracle字段like多个条件

    写oracle sql时有时候会有 and (字段 like ‘匹配串1’or 字段 like ‘匹配串2’or ...)这样的情况出现,下面提供一个简洁点的解决方案: and REGEXP_LIKE ...

  5. 解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境

    原文地址:解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境 0x00 配置 硬件 OS: Ubuntu 18.10 Base Board: ASUS WS ...

  6. 1-RadioButton控件的用法

      RadioButton控件 单选按钮,当与其他单选按钮成对出现时,允许用户从一组选项中选择单个选项.也就是说,当同一个容器中(Form.Panel.GroupBox.PictureBox等)存在两 ...

  7. SweetAlert(弹出层插件)

    怀着非常.非常恼火的心情写下这个博文.我深深怀疑有一些人只会瞎粘贴复制别人的博文,自己试都不试就发布到网上,左右看的人想法,就此深通恶绝!! 废话不多说. SweetAlert是一个简洁好用的自制Al ...

  8. Java学习之==>常用字符串方法

    1.定义字符串 // 定义, 为初始化 String str1; // 定义, 并初始化为null String str2 = null; // 定义, 并初始化为空串 String str3 = & ...

  9. js身份证号、电话脱敏处理(用*替换中间数据)

    数字类型 certificatecodecopy = certificatecode.replace(/^(.{6})(?:\d+)(.{4})$/,  "\$1****\$2") ...

  10. Python学习之数据库初识

    9 数据库 9.1 数据库的初识 ​ 数据库是可以独立运行的,并且可以对数据的增删改查提供高效便捷方式的工具. 数据库解决的问题: ​ 解决了操作文件的效率和便捷问题 ​ 解决了多个服务同时使用数据时 ...