重置root密码
启动时按e进编辑模式
进入后,找到“linux16”开头的地按“end”键到最后, 输入“rd.break” ,按“ctrl+x”进入。重新挂载系统分区,改变跟,修改密码用“grub2-mkpasswd-pbkdf2”命令生成加密口令
重置root密码
启动时按e进编辑模式
进入后,找到“linux16”开头的地按“end”键到最后, 输入“rd.break” ,按“ctrl+x”进入。重新挂载系统分区,改变跟,修改密码用“grub2-mkpasswd-pbkdf2”命令生成加密口令
服务区进程安全控制-Systemd
Systemd的优势
并行处理所有服务,加快开机速度
旧init启动脚本是"依序一项项执行启动“模式(类似单序列串行模式),因此不相关的服务也要依次排队等候。
systemd实现了不存在依存关系的服务同时并行启动的能力,这样大大的加快了系统启动的速度。
统一管理,on-demand(按需)启动服务
systemd全部仅有一个systemd服务搭配systemctl指令来处理,不需要额外的指令来支持。不像systemV需要init、chkconfig、service...等等指令。此外,systemd常驻内存,可以按需处理后续的daemon启动任务。
服务依存关系自我检查:
systemd可以针对服务的依存关系进行检查,这样管理员就不需要启动了一个服务,要先去分析它依存哪些其他服务,检查那些依存的服务是否启动,省去了这些麻烦。
根据daemon的功能进行分类:
systemd旗下管理的服务非常多,为了理清所有服务的功能,systemd先定义所有的服务为一个服务单位(unit),并将该unit归类到不同的服务类型(type)中。旧的init仅分为stand alone(独立与super daemon(超级守护进程)其实是不够的;systemd将服务单位(unit)区分为service(系统服务)、socket(套接字服务)、target(多目标服务)、path(目录路径服务)、snapshot(快照服务)、timer(定时服务)等多种不同的类型(type),方便管理员的分类与记忆。
将多个daemons集合成一个群组:
如同systemV的init里有个runlevel(运行级别)的特色,systemd也可以将多个功能集合成为一个所谓的target项目,这个项目主要用于构建一个操作环境,所以是集合了许多个daemons,既执行某个target就是执行好多个daemon,共同营建某一种操作环境。
向下兼容旧的init服务脚本:
基本上,systemd是可以兼容init启动脚本的。因此,旧的init启动脚本也能够透过systemd来管理。
Systemd配置文件保存的储目录:
/usr/lib/systemd/system/:每个服务最主要的启动脚本保存的地方,有点类似于以前的/etc/init.d底下的文件
/run/systemd/system/:系统执行过程中产生的服务脚本,他们的优先级要比/usr/lib/systemd/system高
/etc/systemd/system/:管理员依据主机系统的需求所创建的执行脚本,其实这个目录有点像以前的/etc/rc.d/rc5.d/Sxx之类的功能,执行优先级比/run/systemd/system/要高。
也就是说,系统开机会不会执行某些服务其实是看/etc/systemd/system/底下的设置,所以该目录底下就是一大堆链接文件。而执行的systemd启动脚本文件,都是放置在/usr/lib/systemd/system/底下的。因此如果你想要修改某个服务启动的设置,应该要去改/usr/lib/systemd/system/底下修改。
Systemd的unit
系统需求
1、先配置IP地址和主机名
DEVICE=eth0 HWADDR=00:0C:29:BD:A1:6C //保持与UDEV记录一致 ONBOOT=yes BOOTPROTO=static IPADDR=172.16.8.100 NETMASK=255.255.255.0 GATEWAY=172.16.8.2 DNS1=114.114.114.114
HOSTNAME=lnmp.sevenwin.org
172.16.8.165 lnmp.sevenwin.org lnmp
SELINUX=disabled
2、远程安装
3.客户机测试(win7)
4.服务器端其他设置
- 惊群现象:一个事件触发后唤醒多个进程,最后选择一个进程,造成资源浪费
upstream sw_net { server 192.168.1.2:80 weight=2; server 192.168.1.3:80 weight=1; }
弱口令检测
John the Ripper(开膛手约翰或者约翰的粗齿锯)
简称为JR
一款密码分析工具,支持字典式的暴力破解
通过对shadow文件的口令分析,可以检测密码强度
网址:http://www.openwall.com/
安装JR工具
make clean系统类型
主程序文件为john
查看分析结果
结合密码文件进行分析
JR的一些常用用法
把用户密码导出到当前txt文档里 ./unshadow/etc/passwd/etc/shadow>password.txt
简单模式破解
./john --single password.txt
自定义字典模式破解
./john --wordlist=password.lst password.txt
穷举模式破解,耗时,耗力
./john --incremental=Digits --fork=30 password.txt
指定解密类型
类型参数举例: --format=des/bsdi/md5/bf/afs/lm/trip/dummy
./john --format=md5 passsword.txt
日志分析与安全-内核及系统日志、用户日志、程序日志
日志为什么重要?
用于记录系统、程序运行中发生的各种事件
通过阅读日志,有助于诊断和解决系统故障
是审计的基础
日志文件的分类
内核及系统日志
由系统服务rsyslogd统一进行管理,日志格式基本相似
用户日志
记录系统用户登录及退出系统的相关信息
程序日志
由各种应用程序独立管理的日志文件,记录格式不统一
在Linux系统中,有三个主要的日志子系统
连接时间日志:由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
进程统计:由系统内核执行,当一个进程终止时,为每个进程往进程统计文件中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计。
错误日志:由rsyslogd守护程序执行,各种系统守护进程、用户程序和内核通过rsyslogd守护程序向文件/var/log/messages报告值得注意的事件。另外有许多Linux程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。
日志保存位置
默认位于:/var/log目录下
主要日志文件介绍:
内核及公共消息日志:/var/log/messages
计划任务日志:/var/log/cron
系统引导日志:/var/log/dmesg
邮件系统日志:/var/log/maillog
用户登录日志:/var/log/lastlog(最近的用户登录事件)
/var/log/secure(用户验证相关的安全性事件)
/var/log/wtmp(当前登录用户详细信息)
/var/run/utmp/(用户登录、注销及系统开关机等事件)
其他日志
用户日志
有关当前登录用户的信息记录在文件utmp中,utmp文件被各种命令文件使用,包括who、w、users和finger。
登录和退出记录在文件wtmp中;数据交换、关机以及重启的信息也都记录在wtmp文件中;wtmp文件被命令last和ac使用。
所有的记录都包括时间戳。时间戳对日志来说非常重要,因为很多攻击行为分析都是与时间有极大关系的。
这两个文件是二进制文件,不能用诸如tail、cat之类的命令来进行访问、操作。
用户日志的基本命令:
内核及系统日志
由系统服务rsyslogd统一管理
软件包:rsyslog-7.4.7-7.el7_0.x86_64
主要程序:/sbin/rsyslofd
配置文件:/etc/rsyslog.conf
日志消息的级别
0EMERG(紧急):导致主机系统不可用的情况
1ALERT:(警告):必须马上采取措施解决的问题
2CRIT(严重):比较严重的情况
3ERR(错误):运行出现错误
4WARNING(提醒):可能会影响系统功能的事件
5NOTICE(注意):不会影响系统但值得注意
6INFO(信息):一般信息
7DEBUG(调试):程序或系统调试信息等
日志记录的一般格式:
时间戳 主机名 子系统 消息级别 消息字段内容
程序日志:
由相应的应用程序独立进行管理,如:
Web服务:/var/log/httpd/
access_log、error_log
代理服务:/var/log/squid/
access.log、cache.log、squid.out、store.log
FTP服务:/var/log/xferlog
分析工具;
文本查看、grep过滤检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具
日志系统审计、运维注意事项
系统管理人员应该提高警惕,随时注意各种可以情况,并且按时和随机地检查各种系统日志文件,包括一般日志信息、网络连接日志、文件传输日志以及用户登录日志等。在检查这些日志时,要注意是否有不合常理的时间记载。例如:
用户在非常规时间登录;
不正常的日志记录,比如日志的残缺不全或者诸如wtmp这样的日志文件无故地缺少了中间的记录文件;
用户登录系统的IP地址和以往的不一样;
用户登录失败的日志记录,尤其是那些一再连续尝试进入失败的日志记录;
非法使用或不正当使用超级用户权限su指令
无故或非法重新启动各项网络服务的记录
另外,日志并非完全可靠。高明的黑客在入侵系统后,会打扫战场。
日志管理策略
及时作好备份和归档
延长日志保存期限
控制日志访问权限
日志中可能会包含各类敏感信息,如账户、口令等
集中管理日志
将服务器的日志文件发到统一i的日志文件服务器
便于日志信息的统一收集、整理和分析
杜绝日志信息的意外丢失、恶意篡改或删除
配置日志服务器
一、设置系统环境如下:
日志服务去器:
IP地址:172.16.8.100/24
主机名;LServ.sevenwin.org
日志客户端;
IP地址:127.16.8.101/24
主机名:LCli.sevenwin.org
二、构建LAMP
三、配置日志服务器数据库
四、配置服务器rsyslogd的主配置文件/etc/rsyslog.conf
五、配置防火墙,开放TCP与UDP 514端口、TCP 3306端口、TCP 80端口;配置SELinux
下载了资料
Linux基本安全加固:先配置虚拟机的参数, 后开始安装;在安装的过程中先进行语言的选择,后进行软件选择,带GUI的服务器,java平台大系统性能、兼容性系统库、开发工具、安全性工具。
1、配置IP地址、主机名,关闭SELinux
BOOTPROTO=static
ONBOOT=yes
IPADDR=172.16.8.172
NETMASK=255.255.255.0
GATEWAY=172.16.8.2
DNS1=114.114.114.114
DNS2=8.8.8.8 //修改的内容,其它内容省略
HOSTNAME=zbx.sevenwin.org
172.16.8.172 zbx zbx.sevenwin.org
SELINUX=disabled
2、安装“Zabbix安装包”资源存储库
-[root@zbx ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-
6.el7.noarch.rpm
3、安装Zabbix
4、对数据库进行初始化并创建Zabbix数据库
-[root@zbx ~]# systemctl start mariadb.service
-[root@zbx ~]# systemctl enable mariadb.service
-[root@zbx ~]# mysqladmin -u root password 9865321
-[root@zbx ~]# mysql -uroot -pMariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'Z9865321'; MariaDB [(none)]> flush privileges; MariaDB [(none)]> quit
-[root@zbx ~]# zcat /usr/share/doc/zabbix-server-mysql-3.2.6/create.sql.gz | mysql -uroot zabbix -p
5、编辑Zabbix数据库配置文件并启动Zabbix服务
6、修改php.ini,启动Apache,添加防火墙规则DBHost=localhost //第81行 DBName=zabbix //第91行 DBUser=zabbix //第107行 DBPassword=Z9865321 //第115行
-[root@zbx ~]# systemctl start zabbix-server
-[root@zbx ~]# systemctl enable zabbix-server
-[root@zbx ~]# sed -i "s@;date.timezone =@date.timezone = Asia/Chongqing@g" /etc/php.ini
-[root@zbx ~]# systemctl enable httpd.service
-[root@zbx ~]# systemctl start httpd.service
-[root@zbx ~]# firewall-cmd --permanent --zone=public --add-port=10051/tcp
-[root@zbx ~]# firewall-cmd --zone=public --add-port=10051/tcp
7、在WebUI中继续安装
默认即可
默认即可
默认即可
8、在WebUI中登录
9、修改WebUI界面语言为中文
10、被监测端(Agent)部署
172.16.8.101 c65 c65.test.com
172.16.8.100 zbx zbx.test.com
Server=172.16.8.172 //第95行
ServerActive=172.16.8.172 //第136行
Linux 基本加固:
系统更新安全,账号基本安全,引导与登陆控制、远程访问安全、
防火墙:
过滤防火墙‘主机型和网络型’
CentOS7的安装:
准备镜像,选择图形安装(简单)、使用VMware虚拟化技术选择自定义一路默认。
centos7 重置密码:
GRUB引导菜单按e键进入编辑模式
找到linux16开头的地方,end进到最后输入rd.break , 按 ctrl+x进入
输入 mount -o remount,rw /sysroot/ 重新挂载系统分区
chroot /sysroot/ 改变根
passwd root 修改root密码
如果之前系统和启用了selinux 必须运行 touch /.autorelabel 否则无法正常启动系统,然后按ctrl+d 退出 输入reboot
给GRUB加上防编辑密码
grub2-mkpasswd-pbkdf2 生成加密口令
vim /boot/grub2/grub.cfg
添加 set superusers='username'
password_pbkdf2: username 生成的口令
修复MBR
备份 dd if=/dev/sda of=/root/mbr.bak count=1 bs=512
破坏 dd if=/dev/zero of=/dev/sda count=1 bs=446
修复 装入系统安装光盘在引导界面选择 Troubleshooting
1.配置Linux时,需要使用超级管理员账号登录,但在日常维护时,建议使用普通账户登录。
2.配置ip地址
cd /etc/sysconfig/network-scripts/
ls
vi
BOOTPROTO="static"
IPV6_*="no "
配置yum源
1、软件仓库的提供方式
FTP服务
HTTP服务
本地目录
2、PPM软件包来源
rat hat发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合
3、构建本地yum源
挂载光盘
安装ftp服务
配置vsftpd安全
ssh禁止root用户登陆:
vim /etc/ssh/sshd_config
PermitRootLogin no
systemctl restart sshd.service
配置TCP Wrappers 对远程主机进行访问控制
vim /etc/hosts.deny
sshd: ALL //禁止所有远程主机访问sshd
vim etc/hosts.allow
sshd: 172.16.8. //仅允许这个网段访问
关闭ssh并卸载
systemctl stop sshd.service
yum -y remove openssh-server
通过控制账号限制ssh登陆
vim /etc/ssh/sshd_config
allowusers
denyusers
重启服务
仅使用 ssh Protocol 2
sshd_config
23行
禁用空密码 设置密码重试次数
sshd_config 78 51 行
CentOS 的安装
1. 下载镜像
2. 利用VMware Workstation 安装
3. 进行常规设置
1、软件仓库提供方式
通过FTP:ftp://........
通过本地目录:file://........
2、挂载光盘
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom
如果显示/dev/sr0未找到,请在虚拟机设置里把设备状态已连接前面打√
3、配置vsftpd安全
vim /etc/vsftpd/vsftpd.conf
在connect_from_port_20=YES下添加pasv_enable=YES
pasv_min_port=3001
pasv_max_port=3100
在防火墙上允许ftp服务
添加允许TCP端口3001-3100
执行setsebool allow_ftpd_full_access 1
setsebool httpd_enable_ftp_server 1
重启vsftpd服务后,其他主机就能够通过ftp使用yum源了
4、本机使用yum源
只用把repo文件中修改baseurl=file://路径 就可以了
systemctl restart network.service 重启网络
umount /dev/cdrom 卸载光盘
mkdir 创建目录
mount 挂载
YUN:配置本地yun源
1、察看网卡:cd /etc/sysconfig/network-scripts/
2、
PXE,就是预启动执行环境,是一种引导启动的方式。这种协议一般由两部分构成,一部分是服务器端,一个是客户端。简单来说,我们通过这种方式可以自己创建一个“安装源”,在安装系统的时候只要能找到这个“源”便可以实现系统的安装。在实现无人值守的安装前,我们必须要搭建一些服务,来实现“安装源”的建立,例如ftp、http、tftp、dhcp等。
配置安装LogAnalyzer
1. 下载软件
wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz
2. 解压,切换目录
tar zxvf loganalyzer-4.1.6.tar.gz
cd loganalyzer-4.1.6/
3. 创建目录,安装loganalyzer
mkdir -p /var/var/www/html/loganalyzer
rsync -a src/* /var/www/html/loganalyzer/
firefox http://127.0.0.1/loganalyzer/install.php
4. 初始化
可以参考
https://www.linuxidc.com/Linux/2017-10/147693.htm