1.配置Linux时,需要使用超级管理员账号登录,但在日常维护时,建议使用普通账户登录。
2.配置ip地址
cd /etc/sysconfig/network-scripts/
ls
vi
BOOTPROTO="static"
IPV6_*="no "
1.配置Linux时,需要使用超级管理员账号登录,但在日常维护时,建议使用普通账户登录。
2.配置ip地址
cd /etc/sysconfig/network-scripts/
ls
vi
BOOTPROTO="static"
IPV6_*="no "
下载了资料
安装EPEL源
软件仓库
使用yum update更新系统时不升级内核,忽略KERNEl相关包
关闭自动更新
update_messages = no
download_updates = no
=====终端账户切换与提权
==终端自动注销
闲置600秒后自动注销
[root@localhost ~]# vim ~/.bash_profile
//在行尾添加下面的环境变量
export TMOUT=600
==使用su命令切换用户
用途:Substitute User,切换用户
格式:su - 目标用户
密码验证
root → 任意用户, 不验证密码
普通用户 → 其他用户,验证目标用户的密码
[likui@localhost 桌面]$ su - root
密码:
上一次登录:四 10月 22 10:09:09 CST 2015pts/0 上
[root@localhost ~]# whoami
root
==限制使用su命令的用户
启用pam_wheel认证模块,将允许使用su命令的用户加入wheel组
[root@localhost ~]# vim /etc/pam.d/su
//找到下面行,将“#”号删掉
#auth required pam_wheel.so use_uid
[root@localhost ~]# gpasswd -a likui wheel
正在将用户“likui”加入到“wheel”组中
==使用sudo机制提升权限
用途:以其他用户身份(如root)执行授权的命令
用法:sudo 授权命令
初次执行sudo命令时,验证当前用户的密码,不需验证目标用户的密码
[root@localhost ~]# sudo -u likui /bin/touch /tmp/test
[root@localhost ~]# ll /tmp
-rw-r--r--. 1 likui likui 0 10月 22 15:55 test
==使用sudo机制提升权限
配置sudo授权
//visudo 或者 vim /etc/sudoers
记录格式:用户 主机名列表=命令程序列表
[root@localhost ~]# vim /etc/sudoers
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
[likui@localhost 桌面]$ sudo ifconfig
==使用sudo机制提升权限
配置sudo授权
例:将likui加入/etc/sudoers,授权
[root@localhost ~]# vim /etc/sudoers
likui localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route
Cmnd_Alias PKGTOOLS=/bin/rpm,/usr/bin/yum
User_Alias LUSERS=likui,ligui,liwei
Host_Alias LHOSTS=localhost,host1,host2
LUSERS LHOSTS=PKGTOOLS
[likui@localhost ~]$ sudo /sbin/ifconfig
对不起,用户 likui 无权以 root 的身份在 localhost 上执行 /sbin/ifconfig。
[likui@localhost ~]$ sudo /sbin/ip addr ⋯ ⋯
[likui@localhost ~]$ sudo -l
=====账号安全
==注释掉系统不需要的用户和用户组
不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦。
[root@localhost ~]# cp /etc/passwd /var/.bak/etc/
//欲修改,先备份
[root@localhost ~]# vim /etc/passwd
//编辑帐号配置文件
//可以被注释掉的用户:adm,lp,sync,shutdown,halt,operator,games,ftp ⋯ ⋯
[root@localhost ~]# cp /etc/group /var/.bak/etc/
[root@localhost ~]# vim /etc/group
//备份并编辑组帐号配置文件
//可以被注释掉的组帐号:adm, lp, floppy, games, ftp ⋯ ⋯
//用户名前加‘#’号代表注释
==账号锁定
将非登录用户的Shell设为/sbin/nologin
锁定一段时间内不使用的帐号
[root@localhost ~]# usermod -s /sbin/nologin user00
[root@localhost ~]# tail -2 /etc/passwd
//查看一下
user00:x:1000:1000:user00:/home/user00:/sbin/nologin
likui:x:1001:1001::/home/likui:/bin/bash
[root@localhost ~]# usermod -L user00
[root@localhost ~]# tail -3 /etc/shadow
tcpdump:!!:16673::::::
user00:!$6$9kOvPaa/SJuqojOm$X95/U0BzzcQjmYsXemYrrp725zW.PPZ.NIsV7TiuL
4qLbTvPmrKqcrkWEs6aNNVknoeYD5vNSXs1aSpvgSGiv/:16673:0:99999:7:::
likui:$6$p1AeYs41$xLsJpo1ZJuRSxmbtzlezRw6U/WCW95oE1v.HTQmDGzGflEIbNT
XhY5QyTQI2nRdc9oH/O8Dpbnnx6Z4oW0E2k1:16730:0:99999:7:::
==账号不可更改
给帐号、组帐号、帐号口令文件加上不可更改属性(加
锁),从而防止非授权用户获得权限
[root@localhost ~]# chattr +i /etc/passwd
[root@localhost ~]# chattr +i /etc/shadow
//帐号口令文件
[root@localhost ~]# chattr +i /etc/group
[root@localhost ~]# chattr +i /etc/gshadow
//组帐号口令文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow /etc/group
/etc/gshadow
----i----------- /etc/passwd
//查看以上文件属性
----i----------- /etc/shadow
----i----------- /etc/group
----i----------- /etc/gshadow
/* 注意:执行以上权限修改之后,就无法添加删除用户了 */
[root@localhost ~]# chattr -i /etc/passwd
//通过这个命令解锁
//将相关文件解锁后,便可以添加删除用户或修改密码了;操作完成后再锁定
==帐号口令的安全设置
设置密码有效期与最短长度限制
要求用户下次登录时修改密码
[root@localhost ~]# vim /etc/login.defs
//只适用于新建帐号
//修改以下配置
PASS_MAX_DAYS 90 //密码使用最长天数改为90天
PASS_MIN_DAYS 0 //密码最短使用天数
PASS_MIN_LEN 8 //密码最短长度改为8,必要情况下改为14
PASS_WARN_AGE 7 //改换口令提醒天数
[root@localhost ~]# chage -M 30 likui //修改已存在帐号的密码有效期
[root@localhost ~]# chage -d 0 likui //强制在下次登录时更改密码
==命令历史限制
减少记录的命令条数
注销时自动清空历史命令记录
[root@localhost ~]# vim /etc/profile
//修改下面环境变量的值
HISTSIZE=50
[root@localhost ~]# vim ~/.bash_logout
//添加下面两行
history -c
clear
=====系统更新
==安装EPEL源
EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和Scientific Linux这样的衍生版本。EPEL提供的软件包大多基于其对应的Fedora软件包,不会与企业版Linux发行版的软件包发生冲突。
[root@localhost ~]# cat /etc/redhat-release
//确认Linux发行版本
CentOS Linux release 7.1.1503 (Core)
[root@localhost ~]# yum -y install http://mirrors.opencas.cn/epel/epelrelease-latest-7.noarch.rpm
//安装EPEL源
⋯ ⋯
//测试一下,安装OpenVAS试试
[root@localhost ~]# yum -y list |grep openvas
//查询OpenVAS包信息
[root@localhost ~]# yum -y install openvas-*
//安装OpenVAS
//在后面的安装过程中,RPM包的依赖关系自行解决
==备份内核
[root@localhost ~]# mkdir -p /var/.bak /etc
/* 在“/var”下创建一个用于备份的隐藏文件夹 */
[root@localhost ~]# cp /etc/yum.conf /var/.bak/etc/
//欲修改,先备份
[root@localhost ~]# vim /etc/yum.conf
//在[main]段后追加一行
exclude=kernel*
//更新时,忽略kernel相关包
[root@localhost ~]# uname -a
//查看内核版本
Linux localhost 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015x86_64 x86_64 x86_64 GNU/Linux
注意:由于系统与硬件的兼容性问题,有可能升级内核后导致服务器不能正常启动,这是非常可怕的,没有特别的需要,建议不要随意升级内核。
==关闭自动下载更新
有时出于对于生产环境中业务系统的稳定性方面考虑,在更新前,必须先对补丁包进行测试;在其不影响业务系统运行的情况下,再进行更新;那么就需要关闭自动更新了,改手动更新。
[root@localhost ~]# systemctl start crond
[root@localhost ~]# yum -y install cronie
[root@localhost ~]# yum -y install yum-cron
[root@localhost ~]# systemctl start yum-cron
[root@localhost ~]# vim /etc/yum/yum-cron.conf
//前下面两项改为“no”
update_messages = no
download_updates = no
=====利用PXE远程安装服务批量装机
==安装并配置DHCP服务器
yum -y install dhcp
cd /user/share/doc/dhcp-4.2.5/
cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 网段 netmask 子网掩码 {
range 开始ip 结束ip;
option routers 路由;
option broadcast-address ;
default-lease-time 600;
max-lease-time 7200;
next-server 服务器ip; #指定引导服务器
filename "pxelinux.0"; #指定引导文件
}
重启服务 systemctl restart dhcpd
==安装tftp-Server与syslinux
#tftp用于发布
#syslinux用于引导
yum -y intall tftp-server
yum -y install syslinux
==配置tftp
vim /etc/xinetd.d/tftp
将其中的
disable=yes
改为
disable=no
保存退出
systemctl start xinetd
==拷贝引导文件
cd /var/lib/tftpboot
cp /user/share/syslinux/pxelinux.0 ./
cp /var/ftp/yum/isolinux/vmlinuz ./
cp /var/ftp/yum/isolinux/initrd.img ./
cp /var/ftp/yum/isolinux/vesamenu.c32 ./
cp /var/ftp/yum/isolinux/boot.msg ./
==获取编辑启动菜单
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /vaar/ftp/yum/isolinux/isolinux.cfg pxelinux.cfg/default
vim ./pxelinux.cfg/default
找到"label linux"行,在此行前添加:
label centos
menu label ^Install CentOS 7.1
menu default
kernel vmlinuz
append initrd=initrd.img inst.stage2=ftp://ip/yum inst.ks=ftp://ip/ks.cfg quiet
删除"menu label Test this⋯⋯"后边的"menu default" 行删除
保存退出
==配置自动安装脚本
yum -y install system-config-kickstart
system-config-kickstart
=====配置本地YUM源
==centOS修改ip地址:
cd /etc/sysconfig/network-scripts/
vim ifcfg-网卡名
修改默认网络配置如下:
TYPE="Ethernet" 有线网络连接
BOOTPROTO="static" 静态地址
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no" 关闭IPV6
IPV6_AUTOCONF="no"
IPV6_DEFROUTE="no"
IPV6_PEERDNS="no"
IPV6_PEERROUTES="no"
IPV6_FAILURE_FATAL="no"
NAME="网卡名"
UUID="UUID"
DEVICE="设备名"
ONBOOT="yes" 启动启动
IPADDR=定义IP 地址
NETMASK=255.255.255.0 子网掩码
GETEWAY=网关地址
DNS1=默认dns服务器
==设置主机名
vim /etc/hostname
==设置hosts文件
vim /etc/hosts
==重启网络服务
systemctl restart network.service
ifconfig
==配置本地yum源
1、挂载安装光盘
unmount /dev/cdrom
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom
以只读方式挂载
==安装ftp服务器
rpm -ivh vsftpd-
按TAB键自动补全
rpm -uvh 软件包名 更新
==配置ftp服务
cd /var/ftp/
mkdir yum
cd yum
cp -rf /media/cdrom/* ./
#将光盘中的文件复制到目录中
systemctl start vsftpd.service #启动ftp服务
vim /etc/vsftpd/vsftpd.conf
在connect_from_port_20=YES后添加
pasv_enable=YES
pasv_min_port=3001
pasv_max_port=3100
保存退出
systemctl restart vsftpd.service
==设置SELinux规则
setsebool allow ftpd_full_access 1
setsebool httpd_enable_ftp_server 1
systemctl restart vsftpd.service
==设置防火墙规则
允许端口
==配置yum源
cd /etc/yum.repos.d/
mkdir old
mv * old
cp old CentOS-Base.repo ./
vim CentOS-Base.repo
修改
baseurl=ftp://地址
退出
清理缓存+更新
#作为本地
baseurl=file:///var/ftp/yum
==使用yum源
pxe远程安装
统一,高效,标准,安全
安装Kickstart
添加BOOT分区,根分区20480系统类型
网络配置跳过预安装脚本
保存到ROOT目录下
打开anaconda-ks.cfg软件包信息复制再编辑ks文件
配置防火墙
cd /etc/sysconfig/network-scripts/
ls
vim ifcfg-eno1677772#
bootproto=static
ipv6=no
ipaddr=10.11.11.1
netmask=255.255.255.0
gateway=10.11.11.254
dns1=114.114.114.114
wq!
vim /etc/hostname
del
yum.sevenwin.org
wq!
vim /etc/hosts
10.11.11.1 yum yum.sevenwin.org
wq!
systemctl restart network.service
hostname查看
umount /dev/cdrom
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom
cd /media/cdrom/pwd
// /media/cdrom/packages
ls
rpm -Uvh vsftpd tabtab
cd /var/ftp/
ls
mkdir yum
cd yum
pwd
cp -rf /media/cdrom/* ./
system ctl start vsftpd.service
netstat -atpn
netstat -atpn|grep 21
vim /etc/vsftpd/vsftpd.conf
找到connect_from_port_20=YES
插入
pasv_enable=YES
pasv_min_prot=3001
pasv_max_prot=3100
wq!
systemctl restart vsftpd.service
netstat -atpn |frep vsftpd
17:35
Linux 基本加固:
系统更新安全,账号基本安全,引导与登陆控制、远程访问安全、
防火墙:
过滤防火墙‘主机型和网络型’
CentOS7的安装:
准备镜像,选择图形安装(简单)、使用VMware虚拟化技术选择自定义一路默认。
配置IP地址
启动协议static
不使用IPV6
配置本地yum源
挂载光盘,先卸载,创建挂载目录,拷贝安装光盘内容
到ftp站点并启动vstpd服务
配置vsftpd安全 被动模式更安全
测试
清理yum缓存 杀死进程kill -9 $(cat /var/run/yum.pid)
umount /dev/cdrom
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom
rpm -Uvh vsftpd-3.0.2-22.el7.x86_64.rpm
配置安装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
最新版 CentOS7 VNC-Server
无需
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
只需要找到 User=<USER> 改动 <USER> 为你的用户名即可
最新版默认启用TLS安全通道以保护VNC通信安全,不需要使用SSH来增强其安全性
centOS7:redhat 企业版衍生版本
1、带gui的服务器
2、性能维护工具
3、兼容性工具
4、开发工具
5、安全工具
6、KDUMP内核崩溃转储机制
安装并配置DHCP服务器
cd dhcp-4.2.5/
cp dhcpd.conf.example /etc/dhcp/dhcp.conf
覆盖文件
粘贴进去
启动DHCP服务
步骤二安装tftp-server 与syslinux
yum -y install 进行安装
然后启动tftp但tftp不能直接启动 依赖 xinetd.d
所以编辑 vim /etc/xinetd.d/tftp
//找到 “disable=yes”,修改成no
然后启动
systemctl restart xinetd
然后拷贝引导模块
安装KICKSTART自动化安装
umount /dev/cdrom 卸载光盘
mkdir /media/cdrom 创建目录
mount /dev/cdrom /media/cdrom/挂载到目录
rpm安装rpm包
cp -rf /modia/cdrom/* ./ 复制光盘
systemctl start vsftp.servce 启动FTP服务
把FTP模式改为被动模式
编辑配置文件
添加以下内容
pasv enable=YES
pasv min_port=3001
pasv max_port=3100
设置SELINU 规则
root@:setsebool allow ftpd full access 1
setsebool httpd enable ftp server 1
setsebool restart vsftpd
本地配YUM源三个斜杠指向本地目录
baseurl=file:///var/ftp/yum
YUM 黄狗更新系统,解决RPM包安装的依赖关系
联网:
cd /etc/sysconfig/network-scripts
vim ifcfg-en。。。
把bootproto 改成静态static
ipv6 改成no
ipaddr=10.11.11.1
netmask=255.255.255.0
gateway=10.11.11.254
dns1=114.114.114.114
vim /etc/hostname 配置主机名
vim /etc/hosts 配置hosts
systemctl restart network.servics
ipconfig
修复MBR
1. 装入系统安装光盘,在光盘引导界面选择“Troubleshooting"
2. 选择救援模式“Rescue a CentOS system”
3. 选择“Contunue”
4. 任意键继续, 切换根目录 chroot /mnt/sysimage
5. 安装grub2 : grub2-install /dev/sda
6. 写入更改: sync
7. exit 退出 chroot环境 ,reboot 重启