时间服务器、日志服务器、sudo
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,时间服务器、日志服务器、sudo时间服务器centos7以后开始使用chrony做时间服务器,chrony兼容NTP服务。监听123(传统NTP服务端口)和323(chrony服务端口),这样客户端既
千家信息网最后更新 2024年12月12日时间服务器、日志服务器、sudo
时间服务器、日志服务器、sudo
- 时间服务器
centos7以后开始使用chrony做时间服务器,chrony兼容NTP服务。监听123(传统NTP服务端口)和323(chrony服务端口),这样客户端既可以是ntp也可以是chrony。
接下来以服务端和客户端都是chrony来说明时间同步,
A机:172.20.10.5(时间服务器),B机:172.20.10.6(客户端)
A机:安装chrony#yum install chrony -y修改配置文件vim /etc/chrony.confserver 0.centos.pool.ntp.org iburstallow 172.20.10.0/24server来指定上一级时间同步服务器,allow表示允许那个IP段以本机为时间服务器同步时间。这里指定 192.168.184.0/24网段配置完重启chrony服务#systemctl restart chronyd.service#ss -tunlp 查看端口323
B机:
安装chronyyum install chrony -y修改配置文件#vim/etc/chrony.conf#server 0.centos.pool.ntp.org iburst#server 1.centos.pool.ntp.org iburst#server 2.centos.pool.ntp.org iburst#server 3.centos.pool.ntp.org iburstserver 172.20.10.5 iburst注释掉其他的server,配置以A机为时间服务器然后重启客户端的chrony服务#systemctl restart chronyd.service#systemctl enable chronyd.service 开机自启动服务查看同步源(时间服务器)chronyc sources查看同步状态#chronyc sourcestats
2.日志服务器
(1)为了更好的管理应用程序和操作系统的日志,使用日志服务器进行管理,我们需要用到rsyslog,它是由早期的syslog的升级版。它可以收集系统引导启动、应用程序启动、应用程序(尤其是服务类应用程序)运行过程中的事件。
记录的格式为:事件产生日期和时间 主机 进程PID 事件内容。
rsyslog的特性:多线程,支持TCP、UDP、SSL、TLS、RELP协议。可存储信息于日志、mysql等数据库管理系统。可以对日志信息进行过滤,可以自定义输出格式。
(2)安装rsyslogyum install rsyslog它的主程序是rsyslogd它的配置文件是/etc/rsyslog.conf, /etc/rsyslog.d/*.conf主配置文件rsyslog.conf 主要由三个部分组成: MODULES 表示加载的模块列表GLOBAL DIRECTIVES 表示全局的配置RULES 表示日志记录规则(重点)其中:MODULES段的格式为$ModLoad 模块名称如果模块名称为im开起表示输入模块,如果以om开头表示输出模块GLOBAL DIRECTIVES 段主要定义一些常用设置,比如:$WorkDirectory 表示工作目录RULES 段的格式为:facility.priority target其中facility:设施,从功能上或程序上对日志收集进行分类,如:auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,local0~local7,syslogpriority:优先级,日志级别,如下(从左到右,由低到高):debug,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic)指定级别的方式:*:所有级别;none:没有级别;priority:此级别以及高于此级别的所有级别)=priority:仅此级别;一般要求日志级别为warn,即warn以及warn以上级别的日志要记录。生产上一般不会开debug级别的日志,因为日志记录太多会导致io繁忙。target:日志写入目标文件:把日志事件写入到指定的文件中,日志文件通常位于/var/log目录下,文件路径前面加"-"表示异步写入文件;用户:将日志事件通知给指定的用户,通过将信息发送给登录到系统上的用户的终端进行的;日志服务器:@host ,把日志发送到指定的服务器主机,要保证host日志服务器在tcp或udp协议的514端口有监听并提供日志服务。管道: | COMMAND 送到某一命令进行处理
(3)实验:
A机:172.20.10.5(日志服务器),B机:172.20.10.6(客户端)
A机器上:# yum install rsyslog修改配置文件vim /etc/rsyslog.conf#Provides UDP syslog reception$ModLoad imudp$UDPServerRun 514$Provides TCP syslog reception$ModLoad imtcp$InputTCPServerRun 514以上配置行的注释去掉后就会开启对tcp和udp协议的514端口进行监听。重启rsyslog服务#systemctl restart rsyslog.service#ss -tunl 查看有514端口监听。
B机器上:
# yum install rsyslog修改配置文件# vim /etc/rsyslog.conf#*.info;mail.none;authpriv.none;cron.none /var/log/messages*.info;mail.none;authpriv.none;cron.none @172.20.10.5把它的target 改为 @日志服务器IP然后重启客户端的rsyslog服务#systemctl restart rsyslog.service这样就不会有日志记录到B机的/var/log/message中了。而是记录到日志服务器A上,由日志服务器上的配置文件决定日志记录到哪里。由我们没有改为A机上RULES 日志规则所以是写入到日志服务器上的/var/log/message(为了较好的看出效果,需要事先设置不同的主机名)
把日志保存的mysql设备中(A):
安装rsyslog-mysql的模块# yum install rsyslog-mysql查看安装文件位置# rpm -ql rsyslog-mysql安装mariadb数据库# yum install mariadb-server mariadb# vi /etc/my.cnf.d/server.cnf[mysqld]skip_name_resolve=ONinnodb_file_per_table=ON启动数据库并导入数据systemctl start mariadb.service# mysql mysql>GRANT ALL ON Syslog.* TO 'rsyslog'@'192.168.184.%' IDENTIFIED BY 'rsyspass';mysql> flush privileges;mysql>quit;修改日志服务器上的rsyslog配置文件# vi /etc/rsyslog.conf#### MODULES ####$ModLoad ommysql#### RULES ####*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.184.136,Syslog,rsyslog,rsyspass加载ommysql模块,并配置target为ommysql ,后面这串内容为:ommysql:数据库主机,数据库名,数据库用户,数据库密码。然后重启rsyslog.service# systemctl restart rsyslog.service在B机上登录用户和登出用户操作,再查一下A机的数据库发现有新的记录产生。
web展示接口:loganalyzer
配置lamp组合httpd, php, php-mysql, php-gd安装loganalyzer#tar xf loganalyzer-3.6.5.tar.gz#cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer#cp -r loganalyzer-3.6.5/contrib/*.sh /var/www/html/loganalyzer/#cd /var/www/html/loganalyzer/#chmod +x *.sh# ./configure.sh
3.sudo安全切换
sudo 能够让获得授权的用户以另外一个用户(一般为root用户)的身份运行指定的命令
授权配置文件/etc/sudoers,但是一般使用visudo命令进行编辑。因为误操作引起系统异常。
授权配置文件的格式:
users hosts=(runas) commands
含义是,users列表中的用户(组),可以在hosts列表的位置上,以runas用户的身份来运行commands命令列表中的命令。
各个字段可能的值 为:users: sudo命令的发起用户用户名 或uid%用户组名 或%gid (这里要注意用户需把基本组切换为该用户组,才能使用sudo)User_Alias 用户别名hosts: 允许的地址ip地址主机名NetAddrHost_Alias 主机别名runas: 以某一用户的身份执行用户名 或uidRunas_Alias 用户别名commands: 指定的命令列表command(命令建议使用完整的绝对路径)!command 表示禁止某一命令directorysudoedit:特殊权限,可用于向其它用户授予sudo权限Cmnd_Alias 命令别名
这几个字段中hosts,runas, commands都可以用ALL来表示所有。
定义别名的方法:ALIAS_TYPE NAME=item1,item2,item3,...NAME:别名名称,必须使用全大写字符ALIAS_TYPE :User_Alias,Host_Alias,Runas_Alias ,Cmnd_Aliassodu命令执行时会要求用户输入自己的密码,为了避免频繁验密与安全其见,能记录成功认证结果一段时间,默认为5分钟,即5分钟内不需要再验证用户密码。
以sudo的方式来运行指定的命令
sudo [options] COMMAND-l 列出sudo配置文件中用户能执行的命令-k 清除此前缓存用户成功认证结果,之后再次运行sudo时要验证用户密码。如果想要让用户输入部分命令时不需要进行密码验证,在sudo配置文件中commands列表部分,可以在命令列表前面加上"NOPASSWD",则其后的命令不需要密码,如果某些命令又需要密码就在前面加上"PASSWD",所以commands列表可以为这种格式:NOPASSWD 不需要密码的命令列表 PASSWD 需要密码的命令列表安全提示:在sudo配置文件中root ALL=(ALL) ALL%wheel ALL=(ALL) ALL上面配置中root用户这行没有问题,但是%wheel这行要注意,如果把某用户加入到%wheel组,当用户把基本组切换为wheel组时就可以像root用户一样运行命令,较有风险的命令举例如下:sudo su - root 不需要密码就可以切换到root用户sudo passwd root 修改root用户密码,不需要输入原密码。建议把%wheel改为%wheel ALL=(ALL) ALL,!/bin/su,!/usr/bin/passwd root
用户
日志
服务
服务器
配置
命令
文件
密码
时间
数据
级别
数据库
模块
主机
别名
客户
格式
端口
运行
事件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发过程的安全管理
myql 数据库自然连接
如何获取网络安全的数据
图数据库neo4j 试题
宽带网络技术视频讲座
华为平台软件开发部
gopro 软件开发
修改数据库数据会留下痕迹吗
亿人帮互联网科技有限公司
vpk与服务器的文件不匹配
软件开发过程的生命周期过程
软件公司服务器管理软件
自己搭建的ftp服务器有啥用
数据库排行榜2021 6月
江西自考数据库
网络技术中的pos是什么意思
北京移动城管软件开发电话
维护网络安全人人有责顺口溜
交通行业软件开发的公司
web数据库开发举例
无线网络安全图片
德惠有名的网络技术咨询有哪些
各类硬软件开发设计
网络安全教育图片大全简单
杭州上范网络技术有限公司
软件开发及销售企业的进项
美国网络安全管理评估报告
网络安全会址
sarhel网络技术
报社网络技术岗