1、基础概述
一个用户访问网站,需要哪些服务才可以访问?
一个网站的几要素:
L(linux,系统)A(apache,webserver)M(mysql,存数据的,类似excel表)P(PHP编译器)
Rsync:镜像备份
DNS、DHCP、FTP(文件服务器)、zabbix(查看访问量、设备硬件状态)、Mysql(数据库服务),具体不再阐述。。
1、Centos6与7的对比
文件系统:
CentOS 6.x:EXT4;CentOS 7.x:XFS
防火墙、内核、数据库
CentOS 6.x:iptables、2.6.x-x、mysql;CentOS 7.x:firewalld、3.10.x-x、MariaDB
时间同步
CentOS 6.x:ntpq -p、/etc/sysconfig/clock、/etc/sysconfig/i18n
CentOS 7.x:chronyc sources、timedatactl set-timezone Asia/Shanghai、localectl set-locale LANG=zh_CN.UTF-8
主机名
CentOS 6.x:/etc/sysconfig/network;CentOS7.x:/etc/hostname
服务管理
CentOS 6.x:service xxx start/stop/restart;CentOS7.x:systemctl start/stop/restart/enable/disable xxx
网络配置
CentOS 6.x:ifconfig/setup;CentOS7.x:ip/nmtui
2、常见网络配置
网关配置:
添加路由:
route add default gw ip
删除路由:
route del default gw ip
DNS配置:
局部:/etc/sysconfig/network-scripts/ifcfg-eth0
全局:/etc/resolv.conf
主机映射文件:/etc/hosts
测试命令:nslookup
地址解析:
查看所有:arp -a
删除某条arp:arp -d
SSH
ssh登录的两种方式:1、账户密码;2、密钥对;公钥、私钥
(1)账户密码:
(2)密钥对:
测试环境准备:
临时的:
- iptables -F 清空防火墙规则;(iptables -L 列出防火墙规则)
- setenforce 0(临时关闭selinux,selinux主要负责管控文件的访问权限等,也包括root用户的权限访问)
永久的:
- systemctl disable iptables(不让Iptables开启自启动)
- sed -i '7s/enforcing/disabled/' /etc/selinux/config(永久关闭selinux,将第七行的enforcing改成disabled)
密钥对验证
linux上客户端生成密钥对文件:ssh-keygen -t rsa -b 2048
- -t:指定加密类型(rsa/dsa等)
- -b:指定密钥对加密长度
ssh-copy-id 用户名@服务器Ip:上传到server端对应用户名目录下的.ssh/目录下的密钥文件里
注意:密钥对验证优先级大于账户密码。可以在/etc/ssh/sshd_config文件中修改相关配置(如:限制监听ip等)
ssh服务相关命令
scp:安全的远程文件复制命令
格式:
scp 本地文件 用户名@服务器IP:目录
scp 用户名@服务器IP:目录/文件名 本端目录
注意:若端口不是默认22,则在scp命令后加-P 端口号
sftp:安全的文件传输协议
sftp 用户名@服务器IP
选项:
-oPort=端口
常用交互命令:
pwd/lpwd
ls/lls
put/get
quit
rm
TCP Wrappers
是一个工作在传输层的安全工具,对于凡是调用libwrap.so库文件的程序就可以受到TCP Wrappers控制,主要控制访问策略,常见的有sshd,vsftp,telnet等。
如何查看该服务是否调用了libwrap.so库文件?可以通过如下方法:
[root@aoligei tmp]# which sshd
/usr/sbin/sshd
[root@aoligei tmp]# ldd /usr/sbin/sshd | grep libwrap.so
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f992880a000)
[root@aoligei tmp]#
其工作原理如下:
主要是通过/etc/hosts.allow和/etc/hosts.deny配置文件实现访问控制,默认情况下这两个文件什么都没有添加。
配置文件编写规则:
service_list@host:client_list
选项:
service_list:是程序的服务列表,可以是多个,多个之间用,隔开;
@host:设置允许或者禁止他人从自己哪个网口进入,可以不写;
client_list:访问者的地址,格式192.168.0.111,192.168.0.0/255.255.255.0等
内置ACL:ALL(所有主机)、LOCAL(本地主机),前面都是需要加service_list@选项的