LINUX系统工程师技术(Engineer)-------第三天

两台虚拟机,均要检测

1.IP地址

2.是否可以解析,server0.example.com

3.Yum是否可用

4.防火墙默认区域修改为trusted

####################################################

? 基于 B/S (Browser/Server)架构的网页服务

– 服务端提供网页

– 浏览器下载并显示网页

? Hyper Text Markup Language,超文本标记语言---------------html

? Hyper Text Transfer Protocol,超文本传输协议-----------------http

B/S协议是基于C/S协议上的

? 软件包:httpd------------搭建Web服务装的包是httpd

? 系统服务:httpd

? 提供的默认配置

– Listen:监听地址:端口(80)-----------http

– ServerName:本站点注册的DNS名称(空缺)

– DocumentRoot:网页根目录 ? ? ? ? (/var/www/html)----------相当于客户端的 “/”

– DirectoryIndex:起始页/首页文件名(index.html)

#############################################

一、搭建基本Web服务

虚拟机Server0上:

1.安装httpd软件

2.启动httpd服务,并且设置 为开机自起

3.书写 网页文件

# echo My First Web > /var/www/html/index.html

ry

虚拟机Desktop0上:

# elinks -dump 172.25.0.11

#############################################

– ServerName:本站点注册的DNS名称(空缺)-------相当于一个域名

虚拟机Server0上:

1.修改主配文件的内容/etc/httpd/conf/httpd.conf------通过修改主配置文件来访问server0里面的内容

? vim中命令行模式全文查找: ? /ServerName?

? ?ServerName ?server0.example.com:80

2. ?重起httpd服务

虚拟机Desktop0上:

# elinks -dump server0.example.com

##############################################

– DocumentRoot:网页根目录(/var/www/html)

虚拟机Server0上:

1.修改主配文件的内容/etc/httpd/conf/httpd.conf

DocumentRoot ?"/var/www/abc"

2.创建目录/var/www/abc

3.重起httpd服务

4.书写网页文件

# echo wo shi abc > /var/www/abc/index.html

虚拟机Desktop0上:

# elinks ?-dump ?server0.example.com ? ??

##################################################

虚拟Web主机

– 由同一台服务器提供多个不同的Web站点

? ?? 区分方式

– 基于域名的虚拟主机

– 基于端口的虚拟主机

– 基于IP地址的虚拟主机-----------一般在生活中不常用

? 配置文件路径

– /etc/httpd/conf/httpd.conf ? #主配置文件------配置文件数较少时在主配置文件里面

– /etc/httpd/conf.d/*.conf ? ? #从配置文件(调用配置文件)-----------配置的数量多时就在从配置文件里面d

? <VirtualHost *:80>

ServerName www.qq.com

DocumentRoot /var/www/qq

?</VirtualHost>

?帮助文档:/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf

1.建立从配置文件

[[email protected] ~]# vim /etc/httpd/conf.d/nsd01.conf?

?<VirtualHost ? *:80>

? ? DocumentRoot ? /var/www/test

? ? ServerName ? www0.example.com

?</VirtualHost>

?<VirtualHost ? *:80>

? ? DocumentRoot ? /var/www/nsd

? ? ServerName ? webapp0.example.com

?</VirtualHost>

2. 建立目录及相应的网页内容

# echo wo shi test > /var/www/test/index.html

# echo wo shi nsd > /var/www/nsd/index.html

3. 重起httpd服务

#################################################

? 启用虚拟Web主机,所有的站点都必须用虚拟Web主机来实现

保证 server0.example.com可以访问-----同时也要把server0这个默认网站也要添加进去

1.修改从配置文件

[[email protected] ~]# vim /etc/httpd/conf.d/nsd01.conf?

? 追加写入

?<VirtualHost ? *:80>

? ? DocumentRoot ? /var/www/abc

? ? ServerName ? server0.example.com

?</VirtualHost>

2. 重起httpd服务

虚拟机Desktop0上:

# elinks ?-dump ?server0.example.com?

??

################################################

?httpd服务访问控制

虚拟机server0:

1.创建目录与网页文件

# mkdir ?/var/www/abc/private

# echo 小蝌蚪找妈妈 ?> ?/var/www/abc/private/index.html

# cat ?/var/www/abc/private/index.html

2.建立新的配置文件

[[email protected] ~]# vim /etc/httpd/conf.d/nsd02.conf

?<Directory ? "/var/www/abc/private">

? ? Require ? ip ?172.25.0.11 ? 127.0.0.1 ? ?#仅允许本机访问

?</Directory>

3 重起httpd服务

测试: ?在Desktop0上访问失败,在Server0上访问可以

? ?elinks ?-dump ?server0.example.com/private ? ? ?

? ??

###################################################

思路:客户端访问服务端资源

? ? 1.防火墙是否限制

? ? 2.服务本身的访问控制

? 3.SELinux 是否限制

?SELinux策略保护

?1.安全上下文(标签)

[[email protected] ~]#chcon -R --reference=/var/www /webroot

? 方式1:参照标准目录,重设新目录的属性

– chcon [-R] --reference=模板目录 新目录

?使用自定Web根目录

1.修改配置文件 /etc/httpd/conf.d/nsd01.conf

<VirtualHost *:80>

? ? DocumentRoot /webroot

? ? ServerName server0.example.com

</VirtualHost>

2.创建目录与网页文件

# mkdir /webroot

# echo wo shi webroot > /webroot/index.html

3.修改访问控制配置文件,/etc/httpd/conf.d/nsd02.conf

?<Directory "/webroot">

? ? Require all granted

?</Directory>

?

4.修改SELinux标签值

# chcon -R --reference=/var/www /webroot

5.重起httpd服务验证

6.在Desktop0上: elinks ?-dump ?server0.example.com

############################################################ ?

?安全Web服务

? ? 安全的超文本协议 https ?端口为:443

PKI公钥基础设施

? Public Key Infrastructure,公钥基础设施

– 公钥:主要用来加密数据

– 私钥:主要用来解密数据(与相应的公钥匹配)

– 数字证书:证明拥有者的合法性/权威性(单位名称、

有效期、公钥、颁发机构及签名、......)

– Certificate Authority,数字证书授权中心:负责证书

的申请/审核/颁发/鉴定/撤销等管理工作

? HTTPS 加密Web通信(TCP 443端口)

– Secure Sockets Layer ,安全套接字层

– Transport Layer Security,安全传输层协议

? 实现条件

– 启用 SSL 模块支持

– 部署好加密素材:网站服务器的数字证书、网站服务

器的私钥、根证书(CA管理机构的证书)

虚拟机server0上操作:

1.安装mod_ssl软件包

[[email protected] ~]# yum -y install mod_ssl

[[email protected] ~]# ls /etc/httpd/conf.d/ssl.conf

2.部署网站的证书(营业执照)

# cd /etc/pki/tls/certs/

# wget http://172.25.254.254/pub/tls/certs/server0.crt

3.部署网站的根证书(公安局信息)

# cd /etc/pki/tls/certs/

# wget http://172.25.254.254/pub/example-ca.crt

4.部署私钥(用于解密)

# cd /etc/pki/tls/private/

# wget http://172.25.254.254/pub/tls/private/server0.key

5.修改配置文件/etc/httpd/conf.d/ssl.conf

<VirtualHost _default_:443>

59行 ?DocumentRoot "/webroot"

60行 ?ServerName server0.example.com:443

100行 SSLCertificateFile /etc/pki/tls/certs/server0.crt

107行SSLCertificateKeyFile /etc/pki/tls/private/server0.key

122行SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt

6.重起httpd服务

虚拟机desktop0上验证:

[[email protected] ~]# firefox https://server0.example.com

######################################################

? 部署动态网站

静态网站的运行

? 服务端的原始网页 = 浏览器访问到的网页

动态网站的运行

? 服务端的原始网页 ≠ 浏览器访问到的网页

– 由Web服务软件接受请求,动态程序转后端模块处理

案例6:部署并测试WSGI站点

1.安装支持Python软件

[[email protected] /]# yum -y install mod_wsgi

2.切换到相应/var/www/nsd目录下载动态页面

# cd /var/www/nsd/

# wget http://172.25.254.254/pub/materials/webinfo.wsgi

# cat webinfo.wsgi

3.在Desktop0上查看,可以看到源代码

# firefox ?webapp0.example.com/webinfo.wsgi

4.server0上修改 /etc/httpd/conf.d/nsd01.conf

? ? ? ? ? ? /var/www/nsd ?==== 客户端的 /

?<VirtualHost ?*:80>

? ? DocumentRoot ?/var/www/nsd

? ? ServerName ?webapp0.example.com

? ? alias ?/ ?/var/www/nsd/webinfo.wsgi

?</VirtualHost>

5.重起httpd服务验证

6.验证

# elinks ?-dump ? webapp0.example.com

7.server0上修改 /etc/httpd/conf.d/nsd01.conf

? ? ? ? ? ? /var/www/nsd ?==== 客户端的 /

?<VirtualHost ?*:80>

? ? DocumentRoot ?/var/www/nsd

? ? ServerName ?webapp0.example.com

? ? wsgiscriptalias ?/ ?/var/www/nsd/webinfo.wsgi

?</VirtualHost>

8.重起httpd服务验证

9.验证

# elinks ?-dump ? webapp0.example.com

? UINX时间戳:自1970-1-1 ?0:0:0到达当前所经过的秒数

10.修改webapp0.example.com监听端口8909

? ?server0上修改 /etc/httpd/conf.d/nsd01.conf

?Listen 8909

?<VirtualHost *:8909>

? ? ?DocumentRoot /var/www/nsd

? ? ?ServerName webapp0.example.com

? ? ?wsgiscriptalias / /var/www/nsd/webinfo.wsgi-------wsgiscrip相当于一个界面的跳转

?</VirtualHost>

11. SELinux 限制非默认端口 ?8909----------表示SELinux其他由风险的端口也会限制

# semanage port -l ?| ?grep http ? ? ? #查看允许的端口

# semanage port -a ?-t ?http_port_t ?-p tcp 8909 ?#添加端口

# semanage port -l | grep http

# elinks -dump webapp0.example.com:8909

semanage-----表示用来查询与修改SElinux默认目录的安全上下文

时间: 2024-11-13 08:54:40

LINUX系统工程师技术(Engineer)-------第三天的相关文章

LINUX系统工程师技术(Engineer)-------第一天

? Security-Enhanced Linux-----相当于一个保安 – 美国NSA国家安全局主导开发,一套增强Linux系统安 全的强制访问控制体系 – 集成到Linux内核(2.6及以上)中运行 – RHEL7基于SELinux体系针对用户.进程.目录和文件 提供了预设的保护策略,以及管理工具 ? SELinux的运行模式 – enforcing(强制).permissive(宽松) – disabled(彻底禁用) [[email protected] ~]# getenforce

LINUX系统工程师技术(Engineer)-------第四天

两台虚拟机,均要检测 1. Yum是否可用 2. ?防火墙默认区域修改为trusted 3. IP地址是否配置 #################################################### ? samba 文件共享(共享文件夹) ? Samba 软件项目 – 用途:为客户机提供共享使用的文件夹 – 协议:SMB(TCP 139).CIFS(TCP 445) ? 所需软件包:samba ? 系统服务:smb 一.搭建基本samba服务 1.安装samba软件包 2.创建

LINUX系统工程师技术(Engineer)-------第二天

两台虚拟机,均修改防火器与主机名 防火墙将原来的----------public状态---------修改成-------trusted状态 虚拟机server0: # firewall-cmd --set-default-zone=trusted? # echo server0.example.com ?> ?/etc/hostname # cat /etc/hostname 虚拟机desktop0: # firewall-cmd --set-default-zone=trusted? # e

LINUX系统工程师技术(Engineer)-------第五天

两台虚拟机,均要检测 1. Yum是否可用 2. ?防火墙默认区域修改为trusted 3. IP地址是否配置 ####################################################### 二.普通用户(必须还原环境) ?? ? ? ?客户端普通用户访问服务端nfs-server服务, ? ? ?服务端会以客户端相同UID身份的本地用户进行权限判定 ? ? LDAP : ?网络用户,提供用户名 ? ? kerberos : 密码验证,实现"一次密码认证,多次免密

Linux系统常识.北京快_三搭建文件命令.vim命令.路径命令介绍

1.北京快_三搭建 Q1446595067 linux是一个基于GNU组合软件和linux内核所构成的集和.2.什么是shell? 我们常听到shell,shell的,但什么是shell呢?shell--->壳,我们都知道linux内核是用来处理linux系统中所有命令的中心,它没有思想,只要有命令传输给它,它就会执行,但是是所有的命令优先级linux内核是无法辨别的,因此出现了shell,它是用来给linux内核传递数据信息,并将其保护起来的工具,系统中的数据信息要首先交于shell,再由sh

查询Linux系统最后重启时间的三个方法

对于在Linux平台开发或运维的工程师来说,经常需要查询系统最后一次重启的时间,这篇文章将给大家介绍三种方法: 方法一:last命令 # last rebootreboot system boot 2.6.32-431.el6.i Wed Jul 30 13:44 - 21:39 (46+07:55)reboot system boot 2.6.32-431.el6.i Sun Apr 13 14:28 - 09:27 (107+18:59)reboot system boot 2.6.32-4

【Linux】 经典Linux系统工程师面试题(转载)

1.如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0: 答: # iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080 或 者: # iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIR

Linux系统扫描技术

主机扫描命令fping 批量的给目标主机发送ping请求,并行发送(ICMP) fping安装: ① wget http://fping.org/dist/fping-3.10.tar.gz ② tar -zxvf fping-3.10.tar.gz ③ cd fping-3.10 ; ./configure ④ make && make install fping -v   #测试安装是否成功 fping -h   #获取帮助 fping常用参数介绍: -a  #只显示出存活的主机(相反

Linux系统工程师学习方法

学习顺序: 一.至少熟悉一种嵌入式芯片架构 最适合初学者的就是arm芯片 二.uboot的使用与移植 首先要了解uboot的启动流程,根据启动顺序,进行代码的修改.编译与移植 三.linux驱动开发 主要参考两本书:<Linux设备驱动程序> <Linux设备驱动开发详解> 第一本书讲理论,第二本讲实践. 在学驱动开发的时候,会涉及许多内核知识(例如内核定时器.内核链表.并发等),首先先学会使用,千万不要去看它们的实现.并且在看驱动的时候,用到那部分知识,再去查看相关的运用. 四.