代码编织梦想

1 路漫漫其修远兮,吾将上下而求索

2 DNS服务器

作用:负责域名解析的服务器,将域名解析为IP地址

/etc/resolv.conf:指定DNS服务器地址配置文件

3 常用的网络工具

ip命令(Linux最基础的命令)

1.查看IP地址

 
  1. [root@server ~]# ip address show
  2. [root@server ~]# ip a s

2.临时添加IP地址

 
  1. [root@server ~]# ip address add 192.168.10.1/24 dev eth0
  2. [root@server ~]# ip a a 192.168.20.1/24 dev eth0
  3. [root@server ~]# ip a s

3.删除临时IP地址

 
  1. [root@server ~]# ip address del 192.168.10.1/24 dev eth0
  2. [root@server ~]# ip a s

ping 命令,测网络连接

-c 指定ping包的个数

 
  1. [root@server ~]# ping -c 2 192.168.88.240
  2. [root@server ~]# ping -c 3 192.168.88.2
  3. [root@server ~]# ping -c 4 192.168.88.3

4 日志管理

•常见的日志文件

/var/log/messages 记录内核消息、各种服务的公共消息

/var/log/dmesg 记录系统启动过程的各种消息

/var/log/cron 记录与cron计划任务相关的消息

/var/log/maillog 记录邮件收发相关的消息

/var/log/secure 记录与访问限制相关的安全消息

•通用分析工具

–tail、tailf、less、grep等文本浏览/检索命令

–awk、sed等格式化过滤工具

tailf:实时跟踪文件内容

[root@server /]# echo 123456 > /opt/1.txt

[root@server /]# tailf /opt/1.txt

•users、who、w 命令

–查看已登录的用户信息,详细度不同

•last、lastb 命令

–查看最近登录成功/失败的用户信息

 
  1. [root@server /]# users
  2. [root@server /]# who
  3. pts:图形命令行终端
  4. [root@server /]# last #登录成功的用户
  5. [root@server /]# lastb #登录失败的用户

•Linux内核定义的事件紧急程度(了解)

–分为 0~7 共8种优先级别

–其数值越小,表示对应事件越紧急/重要

 
  1. 0 EMERG(紧急) 会导致主机系统不可用的情况
  2. 1 ALERT(警告) 必须马上采取措施解决的问题
  3. 2 CRIT(严重) 比较严重的情况
  4. 3 ERR(错误) 运行出现错误
  5. 4 WARNING(提醒) 可能会影响系统功能的事件
  6. 5 NOTICE(注意) 不会影响系统但值得注意
  7. 6 INFO(信息) 一般信息
  8. 7 DEBUG(调试) 程序或系统调试信息等

5 系统安全保护

SELinux概述

•Security-Enhanced Linux

–美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系

–集成到Linux内核(2.6及以上)中运行

–基于SELinux体系针对用户、进程、目录和文件提供了预设的保护策略,以及管理工具

•SELinux的运行模式

–enforcing(强制)、permissive(宽松)

–disabled(彻底禁用)

任何模式变成disabled模式,都要经历重启系统

•切换运行模式

–临时切换:setenforce 1或0

–固定配置:/etc/selinux/config 文件

虚拟机A

 
  1. [root@server /]# getenforce #查看当前运行模式
  2. Enforcing
  3. [root@server /]# setenforce 0 #修改当前运行模式
  4. [root@server /]# getenforce
  5. Permissive
  6. [root@server /]# vim /etc/selinux/config
  7. SELINUX=permissive #需改配置

虚拟机B:同上

虚拟机C:同上

6 破解root密码思路

前提:必须是服务器的管理者,涉及重启服务器

1)重启系统,进入 救援模式

 
  1. [root@A ~]# reboot

开启虚拟机A,在此界面按e键

在linux开头的该行,将此行的ro修改为rw 然后空格输入 rd.break

按 ctrl x 启动,会看到switch_root:/#

2)切换到硬盘操作系统环境

 
  1. # chroot /sysroot #切换环境,切换到硬盘操作系统的环境

3)重新设置root的密码

 
  1. sh-4.2# echo 1 | passwd --stdin root

4)如果SELinux是强制模式,才需要SELinux失忆,其他模式不需要让SELinux进行失忆

 
  1. sh-4.2# touch /.autorelabel #让SELinux失忆
  2. 或者可以修改SELinux运行模式,修改成宽松模式即可
  3. sh-4.2# vim /etc/selinux/config #查看SELinux开机的运行模式

5)强制重启系统完成修复

 
  1. sh-4.2# reboot -f #-f强制重启系统 才能

密码防护(了解)

1.设置救援模式密码

[root@A ~]# grub2-setpassword

Enter password: #输入密码,密码不显示

Confirm password: #重新输入密码,密码不显示

[root@A ~]# cat /boot/grub2/user.cfg #存放grub密码的文件

7 构建Web服务

Web服务:提供一个页面内容的服务

提供Web服务的软件:httpd、Nginx、tomcat

http协议:超文本传输协议

daemon(守护神)

英 [ˈdiːmən] 美 [ˈdiːmən]

n.(古希腊神话中的)半神半人精灵

虚拟机A:

1.安装软件包

 
  1. [root@server ~]# yum -y install httpd

2.运行提供Web服务程序

 
  1. ]# /usr/sbin/httpd #绝对路径运行程序
  2. ]# pgrep -l httpd #查看进程信息

4.书写一个页面文件

 
  1. ]# vim /var/www/html/index.html
  2. haha阳光明媚

5.本机浏览器访问测试

 
  1. ]# curl 192.168.88.240
  2. haha阳光明媚

8 构建FTP服务

FTP协议:文本传输协议

实现FTP服务功能的软件:vsftpd

默认共享数据的主目录:/var/ftp/

虚拟机A

1.安装软件包

 
  1. [root@server ~]# yum -y install vsftpd
  2. [root@server ~]# vim /etc/vsftpd/vsftpd.conf
  3. anonymous_enable=YES #开启无需密码验证功能

2.运行程序

 
  1. [root@server ~]# /usr/sbin/vsftpd
  2. [root@server ~]# pgrep -l vsftpd #查看进程信息
  3. [root@server ~]# touch /var/ftp/dcc.txt

3.本机访问测试

 
  1. [root@server ~]# curl ftp://192.168.88.240
  2. -rw-r--r-- 1 0 0 0 May 16 06:42 dcc.txt
  3. drwxr-xr-x 2 0 0 6 Oct 13 2020 pub

9 防火墙的策略管理

作用:隔离,严格过滤入站,放行出站

•系统服务:firewalld ----》iptables(底层防火墙)

•管理工具:firewall-cmd、firewall-config(图形)

•根据所在的网络场所区分,预设区域

  • public:仅允许访问本机的ssh、dhcp、ping服务
  • trusted:允许任何访问
  • block:拒绝任何来访请求,明确拒绝客户端
  • drop:丢弃任何来访的数据包,不给任何回应

•防火墙判定原则:

1.查看客户端请求中来源IP地址,查看自己所有区域中规则,那个区域中有该源IP地址规则,则进入该区域

2.进入默认区域(默认情况下为public)

10 防火墙默认区域的修改

虚拟机A

 
  1. ]# firewall-cmd --get-default-zone #查看默认区域

虚拟机B

 
  1. ]# curl 192.168.88.240 #失败
  2. ]# curl ftp://192.168.88.240 #失败
  3. ]# ping -c2 192.168.88.240 #成功

虚拟机A:修改默认区域

 
  1. ]# firewall-cmd --set-default-zone=trusted

虚拟机B

 
  1. ]# curl 192.168.88.240 #成功
  2. ]# curl ftp://192.168.88.240 #成功

11 防火墙public区域添加规则

虚拟机A:添加允许的协议

]# firewall-cmd --set-default-zone=public

 
  1. ]# firewall-cmd --zone=public --add-service=http
  2. ]# firewall-cmd --zone=public --list-all

虚拟机B

 
  1. ]# curl http://192.168.88.240 #成功
  2. ]# curl ftp://192.168.88.240 #失败

虚拟机A:添加允许的协议

 
  1. ]# firewall-cmd --zone=public --add-service=ftp
  2. ]# firewall-cmd --zone=public --list-all

虚拟机B

 
  1. ]# curl http://192.168.88.240 #成功
  2. ]# curl ftp://192.168.88.240 #成功

12 防火墙public区域添加规则(永久)

 
  1. -永久(--permanent 破门能它)
  2. ]# firewall-cmd --reload #加载防火墙永久策略
  3. ]# firewall-cmd --zone=public --list-all
  4. ]# firewall-cmd --permanent --zone=public --add-service=http #永久添加http协议
  5. ]# firewall-cmd --permanent --zone=public --add-service=ftp #永久添加ftp协议
  6. ]# firewall-cmd --reload #加载防火墙永久策略
  7. ]# firewall-cmd --zone=public --list-all

13 防火墙单独拒绝PC2所有的访问

 
  1. 虚拟机A:
  2. [root@server ~]# firewall-cmd --zone=block --add-source=192.168.88.2
  3. 虚拟机A:删除策略
  4. [root@server ~]# firewall-cmd --zone=block --remove-source=192.168.88.2

14 三台虚拟机,卸载防火墙软件

 
  1. [root@server ~]# yum -y remove firewalld

15 服务管理:程序的运行

手动方式:

/usr/sbin/httpd #绝对路径运行

killall httpd #手动杀死

systemd方式:

用户--->systemd--->找到相应的进程或程序

用户--systemctl--->systemd--服务启动配置文件--->找到相应的进程或程序

服务启动配置文件目录:/lib/systemd/system/

 
  1. systemctl restart 服务名 #重起服务
  2. systemctl start 服务名 #开启服务
  3. systemctl stop 服务名 #停止服务
  4. systemctl status 服务名 #查看服务当前的状态
  5. systemctl enable 服务名 #设置服务开机自启动
  6. systemctl disable 服务名 #设置服务禁止开机自启动
  7. systemctl is-enabled 服务名 #查看服务是否开机自启
  8. ]# yum -y install httpd
  9. ]# killall httpd #杀死手动启动的httpd
  10. ]# systemctl restart httpd #重启httpd服务
  11. ]# systemctl status httpd #查看服务httpd状态
  12. ]# systemctl enable httpd #设置httpd开机自启动
  13. Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
  14. ]# systemctl is-enabled httpd #查看httpd是否是开机自启动
  15. ]# systemctl disable httpd #关闭httpd开机自启动
  16. Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
  17. ]# systemctl is-enabled httpd #查看httpd是否是开机自启动

16 管理运行级别

5与6系列:运行级别 300服务

0:关机 0个服务 相当于poweroff

1:单用户模式(基本功能的实现,破解Linux密码) 50个服务

2:多用户字符界面(不支持网络) 80个服务

3:多用户字符界面(支持网络)服务器默认运行级别 100个服务

4:未定义 0个服务

5:图形界面 300个服务

6:重启 0个服务 相当于reboot

切换运行级别:init 数字

7与8系列:运行模式(运行级别)

字符模式:multi-user.target

图形模式:graphical.target

当前直接切换到字符模式

 
  1. ]# systemctl isolate multi-user.target #相当于原来的init 3

当前直接切换到图形模式

 
  1. ]# systemctl isolate graphical.target #相当于原来的init 5

查看每次开机默认进入模式

 
  1. [root@server /]# systemctl get-default

设置永久策略,每次开机自动进入字符模式

 
  1. [root@server /]# systemctl set-default multi-user.target
  2. [root@server /]# reboot

设置永久策略,每次开机自动进入图形模式

 
  1. [root@server /]# systemctl set-default graphical.target
  2. [root@server /]# reboot

17 真机传递数据到虚拟机

真机为Linux:真机上操作

 
  1. ]#ls /linux-soft/s1
  2. ]#scp /linux-soft/s1/tools.tar.gz root@192.168.88.240:/root

真机为windows:windterm软件,效果如图-1、图-2、图-3所示。

图-1

图-2

图-3

18 补充内容

杀死一个用户开启的所有进程

命令格式:pkill -9 -u 用户名 -t 终端

[root@pc2 ~]# who #查看正在登录的用户

[root@pc2 ~]# pkill -9 -u root -t pts/1

19 案例1:启用SELinux保护

19.1 问题

本例要求为虚拟机 svr1、ps2 配置SELinux:

  1. 确保 SELinux 处于宽松模式
  2. 在每次重新开机后,此设置必须仍然有效

19.2 方案

SELinux,Security-Enhanced Linux:是由美国NSA国家安全局提供的一套基于内核的增强的强制安全保护机制,针对用户、进程、文档标记安全属性并实现保护性限制。

SELinux安全体系直接集成在Linux内核中,包括三种运行模式:

  • disabled:彻底禁用,内核在启动时不加载SELinux安全体系
  • enforcing:强制启用,内核加载SELinux安全体系,并强制执行保护策略
  • permissive:宽松模式,内核加载SELinux安全体系,只记录不执行

执行getenforce可以查看当前所处的模式。

在disabled模式与enforcing、permissive模式之间切换时,需要重新启动Linux系统;而在enforcing模式与permissive模式之间切换时,并不需要重启,可以直接执行setenforce 1|0操作。

19.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:调整当前的SELinux运行模式

1)查看当前模式

 
  1. [root@server0 ~]# getenforce
  2. Enforcing                                     //表示当前为强制模式

若上述操作显示的结果为Disabled,表示SELinux机制已被禁用,只能通过步骤修改固定配置后再重启;若显示的结果为Enforcing,表示已经处于强制启用模式。

2)切换为permissive强制启用模式

 
  1. [root@server0 ~]# setenforce 0                 //设置宽松模式
  2. [root@server0 ~]# getenforce                     //确认切换结果
  3. Permissive

如果在操作1)中显示的结果为Disabled,则无法使用setenforce命令:

 
  1. [root@desktop0 ~]# getenforce
  2. Disabled
  3. [root@desktop0 ~]# setenforce 1
  4. setenforce: SELinux is disabled

步骤二:为SELinux运行模式建立固定配置

1)修改配置文件/etc/selinux/config

 
  1. [root@server0 ~]# vim /etc/selinux/config
  2. SELINUX=permissive
  3. .. ..

2)重启验证结果

 
  1. [root@server0 ~]# reboot
  2. .. ..
  3. [root@server0 ~]# getenforce
  4. permissive

20 案例2:使用systemctl工具

20.1 问题

本例要求掌握systemctl控制工具的基本操作,完成下列任务:

  1. 重启 httpd、crond、bluetooth 服务,查看状态
  2. 禁止 bluetooth 服务开机自启,并停用此服务
  3. 设置默认级别为 multi-user.target 并确认

20.2 方案

systemd是一个更高效的系统&服务管理器,其相关特性如下:

  • 开机服务并行启动,各系统服务间的精确依赖
  • 服务目录:/lib/systemd/system/

systemctl是systemd的管理工具,将相关资源组织为unit配置单元进行管理。

不同的unit决定了一组相关的启动任务,service和target是最常用的配置单元:

  • service:后台独立服务
  • target:一套配置单元的组合,类似于传统“运行级别”

20.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:重启 httpd、crond、bluetooth 服务,查看状态

1)重启系统服务httpd、crond、bluetooth

 
  1. [root@svr7 ~]# systemctl restart httpd crond bluetooth

2)查看上述服务的状态

 
  1. [root@svr7 ~]# systemctl status httpd crond bluetooth
  2. * httpd.service - The Apache HTTP Server
  3. Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  4. Active: active (running) since Fri 2017-01-06 18:18:20 CST; 18s ago
  5. .. ..
  6. * crond.service - Command Scheduler
  7. Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
  8. Active: active (running) since Fri 2017-01-06 18:18:19 CST; 19s ago
  9. .. ..
  10. * bluetooth.service - Bluetooth service
  11. Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
  12. Active: active (running) since Fri 2017-01-06 18:18:19 CST; 19s ago
  13. .. ..

步骤二:禁止 bluetooth 服务开机自启,并停用此服务

1)停用bluetooth服务

 
  1. [root@svr7 ~]# systemctl stop bluetooth

2)禁止bluetooth服务开机自启

 
  1. [root@svr7 ~]# systemctl disable bluetooth
  2. Removed symlink /etc/systemd/system/dbus-org.bluez.service.
  3. Removed symlink /etc/systemd/system/bluetooth.target.wants/bluetooth.service.
  4. [root@svr7 ~]# systemctl is-enabled Bluetooth             //检查结果
  5. disabled

步骤三:设置默认级别为 multi-user.target 并确认

1)查看默认运行级别

 
  1. [root@svr7 ~]# systemctl get-default
  2. graphical.target

2)将默认运行级别设置为multi-user.target

 
  1. [root@svr7 ~]# systemctl set-default multi-user.target
  2. Removed symlink /etc/systemd/system/default.target.
  3. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

3)确认配置结果

 
  1. [root@svr7 ~]# systemctl get-default
  2. multi-user.target

根据此处的设置,重启此虚拟机后图形桌面将不再可用。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_58152870/article/details/136947168

selinux内核加强型防火墙对ftp,http部署影响,troubleshooting_dreamer_xixixi的博客-爱代码爱编程

SELINUX 1.什么是selinux?   selinux ,内核加强型防火墙   SElinunx实现了一个更灵活的MAC形式,叫做类型强制(Ttpe Enforcement)和一个非强制的多层安全形式(Multi-Level) 2.如何管理selinux级别? selinux开启或者关闭 vim /etc/sysconfig/selinux

linux下的selinux_someone12的博客-爱代码爱编程

一.selinux简介 selinux:内核级加强型防火墙 二.selinux状态控制 1./etc/sysconfig/selinux    ##selinux状态控制文件(开关) SELINUX=enforing    ##强制模式,也就是打开了,生效了。 SELINUX=permissive    ##警告模式 SELINUX=disabled

linux中的selinux_iteye_11590的博客-爱代码爱编程

SElinux的前身是NSA(美国国家安全局)发起的一个项目。它的目的是将系统加固到可以达到军方级别。 为什么NSA选择Linux呢? 在目前市面上大多数操作系统都是商用闭源的,只有Linux是开源的,这样修改并加入这项功能就方便许多,而且没有版权纠纷。所以,现在selinux就成为了Linux内核的一部分。 在了解selinux之间,我们需

linux的selinux_二当家的黑板报的博客-爱代码爱编程

SELinux 的运作模式 主体 (Subject):SELinux 主要想要管理的就是程序,因此你可以将『主体』跟 process 划上等号; 目标 (Object): 主体程序能否存取的『目标资源』一般就是文件系统。因此这个目标项目可以等文件系统划上等号; 政策 (Policy): 由于程序与档案数量庞大

linux系统之selinux设置。_shang_feng_wei的博客-爱代码爱编程_/etc/sysconfig/selinux

1、SELinux SELinux是Linux 内核中提供的强制访问控制系统。selinux有disabled、permissive、enforcing 三种选择: Disabled :不启用控制系统。 permissiv

linux防火墙netfilter/iptables/firewalld/关闭selinux_asnfy的博客-爱代码爱编程

netfilter、iptables、firewalld的关系: iptables服务和firewalld服务都不是真正的防火墙,只是用来定义防火墙规则功能的管理工具,将定义好的规则交由内核中的netfilter(网络过滤

selinux设置-爱代码爱编程

案例1:启用SELinux保护 案例2:自定义用户环境 案例3:配置firewalld防火墙 1 案例1:启用SELinux保护 1.1 问题 本例要求为虚拟机 server0、desktop0 配置SELinux: 确保 SELinux 处于强制启用模式 在每次重新开机后,此设置必须仍然有效 1.2 方案 SELinux,Security-Enhanc

Linux上关闭防火墙和selinux的配置-爱代码爱编程

关闭虚拟机上的防火墙和selinux 暂时关闭防火墙命令:systemctl stop firewalld 永久关闭防火墙命令:systemctl disable firewalld 查看防火墙状态命令:systemctl status firewalld [root@localhost ~]# systemctl status firewalld

SELinux 、 系统故障修复 、 防火墙策略管理 、 服务管理-爱代码爱编程

一、 常用的网络工具 1.查看IP地址命令 [root@svr7 ~]# ifconfig | head -2 [root@svr7 ~]# ip address show 2.设置网卡的临时IP地址 [root@svr7 ~]# ip address add 192.168.5.1/24 dev eth0 [root@svr7 ~]# ip addre

Selinux配置-爱代码爱编程

Selinux配置 selinux对于Linux系统可谓是十分重要。它是Linux系统的一道重要防线,主要作用不是对超级用户和普通用户进行控制,而是对系统用户进行控制,尤其是一些服务,安装之后会默认创建一些系统用户,为了避免外部人员通过服务访问Linux系统的时候进入系统,访问到其他内容,以及限制服务的作用范围。但是也可以对端口等作出操作,比如说修改一些

selinux的介绍及配置_selinux配置-爱代码爱编程

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统 SELinux安全增强型Linux系统,是Linux内核子系统,旨在最大限度的减少服务进程对文件、端口等资源的访问 一、SELinux/Firewall防护 SELinux ===》提供系统防护

linux selinux详解-爱代码爱编程

介绍 Linux SELinux是一种安全增强的Linux,它可以让用户和管理员对访问控制有更多的控制。它是一种标签机制,可以对文件和其他对象提供高级别的安全保护,防止未授权的进程或者没有必要访问的授权进程进行滥用。SEL