默认计划
930人加入学习
(23人评价)
Linux安全基础
价格 ¥ 399.00
该课程属于 高校公益行 | 网络安全实践训练营 请加入后再学习

修复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 重启

[展开全文]

pxe远程批量部署 Linux

  1.安装配置dhcp服务器

   yum -y  install dhcp

cp dhcpd.conf.example /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcp/dhcpd.conf

default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet   ip地址 netmask 255.255.255.0 {
range  ;
option routers  xxx.xxx ;
option broadcast-address 5;
default-lease-time 600;
max-lease-time 7200;
next-server 服务器地址;

2.安装tftp-Server与syslinux,配置

yum -y install syslinux
 yum -y install tftp-server
 vim /etc/xinetd.d/tftp
“disable = yes”修改成disable=no

systemctl start xinetd

cd /var/lib/tftpboot

 cp /usr/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 pxelinux.cfg

编辑启动菜单配置文件

cp /var/ftp/yum/isolinux/ioslinux.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://yumip/yum inst.ks=ftp://yumip/ks.cfg quiet

找到“menu label Test this ^media & install CentOS 7”,后面的
“menu default”行删除
3.安装Kickstart,配置自动化安装

yum -y install system-config-kickstart

system-config-kickstart

Kickstart配置   时区的选择 

安装方法 选择ftp  安装新的引导  分区选项

 安装后脚本

system-config-kickstart

mkdir /etc/yum.repos.d/old
cp -rf /etc/yum.repos.d/*
/etc/yum/repos.d/old/
rm -f /etc/yum.repos.d/*
echo '[base]
name= CentOS 7.1 Setup
baseurl=ftp://yum ip/yum
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7'>
/etc/yum.repos.d/CentOS7Setup.repo

保存 root/ks.cfg

vim anaconda-ks.cfg

复制
“%packages
@base
……
@x11
%end”段

vim  ks.cfg

在“part / --fstype="xfs" --grow --size=1
%post --interpreter=/bin/bash”两行之间粘贴“%packages … … %end”段

cp ks.cfg  /var/ftp/

firewall-cmd --permanent --add-service=dhcp success
 firewall-cmd --permanent --add-service=ftp success
 firewall-cmd --permanent --add-port=69/udp success
 firewall-cmd --reload

 

 

 

 

 
 
G
M
T
 
 
  Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu
 
AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu
 
 
 
 
 
 
 
 
 
Text-to-speech function is limited to 200 characters
 
 
 
Options : History : Feedback : Donate Close
 
 
G
M
T
 
 
  Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu
 
AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu
 
 
 
 
 
 
 
 
 
Text-to-speech function is limited to 200 characters
 
 
 
Options : History : Feedback : Donate Close
 
 
G
M
T
 
 
Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu
 
AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu
 
 
 
 
 
 
 
 
 
Text-to-speech function is limited to 200 characters
 
 
Options : History : Feedback : Donate Close
[展开全文]

最新版 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来增强其安全性

[展开全文]

ssh安全最佳实践

sshd_config 删除#yes改为no仅限控制台访问、重启

配置TCP Wrappers 

在工作站或笔记本卸载禁用ssh

区分公网IP和内网IP绑定侦听IP地址

始终保持ssh补丁版本最新、放到任务计划里面定期更新

[展开全文]

适用场景:大规模安装linux服务器,需要安装过程统一且标准化

过程:1. 需要一个DHCP服务器

yum install dhcp

cd /usr/share/doc/dhcp-xx/

cp dhcpd.conf.example /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf

---


#/etc/dhcp/dhcpd.conf

default-lease-time 600;

max-lease-time 7200;

log-facility local7;

subnet 10.11.11.0 netmask 255.255.255.0{

    range 10.11.11.26 10.11.11.30; // 要改成自己用的

    option routers 10.11.11.254;

    option broadcast-address 10.11.11.255;

    default-lease-time 600;

    max-lease-time 7200;

    next-server 10.11.11.1; // 指定PXE引导服务器 就是当前服务器ip

    filename "pxelinux.0"; // 指定引导文件

}

Q: 这个配置文件的每一行什么意思,配置什么的

---

systemctl start dhcp

systemctl status dhcpd.service

2. tftp和syslinux

tftp 用于远程linux的引导

syslinux提供引导块,引导模块的远程启动服务

yum install tftp-server syslinux

vim /etc/xinetd.d/tftp

把disable=yes改成no

顺便,server的目录是tftp共享的目录

systemctl restart xinetd

netstat -aupn |grep 69

cd /var/lib/tftpboot // tftp的根目录

cp /usr/share/syslinux/pxelinux.0 ./

// 以下是系统光盘的内容

cp /var/ftp/yum/isolinux/vmlinuz ./

                                          inittrd.img

                                          vesamenu.c32

                                          boot.msg

// 然后编辑启动菜单配置文件

mkdir /var/lib/tftpboot/pxelinux.cfg

cp /var/ftp/yum/isolinux/isolinux.cfg pxelinux.cfg/default

vim 这个default

在label linux行前添加

label centos

 menu label ^Install CentOS7.1

 menu default

 kernel vmlinuz

// 目标是ftpxxx 自动化脚本配置文件是xxxks什么的

 append initrd=initrd.img inst.stage2=ftp://10.11.11.1/yum inst.ks=ftp://10.11.11.1/ks.cfg.quiet

然后删了menu label Test this ^ media & install CentOS7前面的menu default行删了

3.安装kickstart

yum install system-config-kickstart

system-config-kickstart

kickstart不能配置软件包安装

ks.cfg加上@packages@end之后,保存到/var/ftp

 

firewall-cmd --permanent --add-port=69/udp

--add-service=dhcp

ftp

 

--reload

 

新建的主机自动就默认去用PXE了……猜测是整个网段都会自动走这个流程0 v 0

 

 

 

 

[展开全文]

linux需要安装一些软件,黄狗更新系统yum

自动解决rpm包依赖关系

 配置一个yum源

首先得有一个ip地址

/etc/sysconfig.network-scripts/ ifcfgxxx 本地网卡的配置文件

BOOTPROTO 不用dhcp用static

IPV6xxx  no

IPADDR=10.11.11.1

NETMASK=255.255.255.0

GATEWAY=10.11.11.254

DNS1=114.114.114.114

Q:这个dns地址怎么回事,好像见过。。

/etc/hostname改成yum.xx.org

/etc/hosts 10.11.11.1 yum yum.xx.org

systemctl restart network.service

hostname 看主机名

卸载光盘 umount /dev/cdrom

mount /dev/cdrom /media/cdrom 换了个挂在的地方

rpm -Uvh vsftpd-3.0.2-xxxx.rpm

cp -rf /media/cdrom/* /var/ftp/yum

里面有个解决依赖关系的db

ftp配置被动模式 比较安全

在/etc/vsftpd/vsftpd.conf里

在connect_from_port_20=YES后面添加

pasv_enable=YES

pasv_min_porv=3001

pasv_max_port=3100

 

systemctl restart vsftpd.service

netstat -atpn | grep vsftpd

 

setsebool allow_ftpd_full_access 1

setsebool httpd_enable_ftp_server 1

[展开全文]

>配置stp安全:

>建立stp帐号目录:

[root@serv -]# cd /var

[root@serv -]#mkdir sftp

[root@serv -]# mkdir /var/sftp/sftp01

[root@serv -]# mkdir -p / var/sftp/sftp02

[root@serv -]# mkdir -p / var/sftp/sftp03

 

> stp的账户直接使用linux操作系统账户:

[root@serv -]# group add sftp //创建指定组

[root@serv -]# user add -M -d /var/sftp/ -G stp stp admin

-M 不分配宿主目录

-d 制定基本目录

-G 追加到附加组

正在创建信箱文件:文件已存在

[root@serv -]# user add -M -d /var/sftp/sftp01/-gsftp sftp01

[root@serv -]# user add -M -d /var/sftp/sftp02/-g stp sftp02

[root@serv -]# user add -M -d /var/sftp/sftp03/ -G ftp. . E03e

d -M -d / var/sftp/sftp03/gsftp经Gte03

不要忘了给这些帐号配置密码!

 

>编辑/etc/ssh/sshd. config配置文件:

146 #subsystem sftp / usr/libexec/ openssh/sftp-server

147 subsystem sftp internal-sftp

148

149 Allowusers admin likud ftp. Admin sftp01 sftp02 sftp03

150 Denyusers ligui

151

152 Match user sftp_ admin

153 ChrootDirectory /var/sftp

154 Forcecommand internal-sftp

155 Match Group sftp

156 Chrootdirectory %h

157 Forcecommand internal-sftp

158

 

>目录权限设置:

>目录权限设置上要遵循2点:

> chrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root ;

>chrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755。

[root@serv -] cd /var/sftp/

[root@serv sftp]# chmod 755 -R . /

[root@serv sftp]# cd sftp01

[root@serv sftp01]#mkdir w

[root@serv sftp01]# chown sftp01. Sftp W sevlwz

由于文件夹的权限问题,SFTP帐号都不具有写权限;因此,在其宿主目录下创建一个具有写权限的文件夹,用于资源上传

 

>在客户端进行测试::

[ rootgbogon ~]# sftp sftp01@serv. Sevenwin. Org

sftp01@serv. Sevenwln. Org's password :

Connected to serv. Sevenwln. org.

sftp> ls

w

sftp pwd

Remote working directory /

sftp mkdir abc

Couldn't create directory permission denied

 

[展开全文]

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

[展开全文]

注释掉系统不需要的用户和用户组

cp /etc/passwd    /var/.bak/etc/

vim /etc/passwd

可以被注释掉的

adm,lp,sync,shutdown,halt,operator,games,ftp...

vim /etc/group

adm,lp,floppy,games, ftp...

7段

用户名 密码的占位符 uid号,gid号,说明信息,用户的目录,使用的shell

#注释

 

非登录用户的shell设为/sbin/nologin

usermod -s /sbin/nologin user00

tail -2 /etc/passwd

 程序帐号 apache这种

 

锁定帐号

usermod -L user00

tail -3 /etc/shadow

shadow是用来保存帐号密码的文件

有个感叹号,表示密码暂时不能用,即加锁了

 

chattr +i /etc/passwd

shadow group gshadow

账号文件组账号文件加锁,加锁后无法增删用户,防止普通用户提权

lsattr /etc/passwd /etc/shadow xxxxx

查看文件属性

chattr -i /etc/passwd

解锁

 

密码有效期 长短限制 要求下次登录时修改密码

vim /etc/login.defs

PASS_MAX_DAYS

这里改了只适用于新建账号

chage -M 30 user00 

修改已存在帐号的密码有效期

chage -d  0  xx

强制下次登录改密码

 

减少记录的命令条数 注销时自动清空历史命令记录

vim /etc/profile 

HISTSIZE=50

vim ~/.bash_logout

history -c

clear

 

终端闲置600秒后自动注销

vim ~/.bash_profile

export TMOUT=600

 

 

 

[展开全文]

umount /dev/cdrom

mkdir /media/cdrom

mount /dev/cdrom /media/cdrom

rpm -Uvh vsftpd-3.0.2-22.el7.x86_64.rpm

 

 

[展开全文]

系统更新,漏洞的修补。

查看Linux版本:cat /etc/redhat-release

查询openvas安装情况:yum -y list | grep openvas

安装openvas:yum -y install openvas-*

安装epel源:

yum -y install http://mirrors.opencas.cn/epel/epel-release-latest-7.noarch.rpm

 

 

[展开全文]

=====系统更新
==安装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
 

[展开全文]

账号的基本安全

注释掉用户+#

原则是最小权限+最少服务=最大的安全

adm/lp/syszc/halt/ftp/注释掉

将非登录账号shell设为sbin/nologin usermod -s

锁定一段时间不是用的账号usermod -L

账号加锁chattr +i/解锁chattr -i

账号口令安全设置编辑login.defs只适用新账号

修改已存在chage -M有效期/下次登陆强制修改密码chage -d

减少记录命令条数profile、注销时自动清空历史记录~/ .bash_logout添加history -c 和clear

自动注销添加export TMOUT=时间

[展开全文]

注释用户:vim /etc/passwd

在不需要的用户前面加个#号注释掉。

非登录用户的shell设为/sbin/nologin

usermod -s /sbin/nologin/用户名

tail -2 /etc/passwd  //查看一下

锁定一段时间内不使用的账号

usermod -L 用户

tail -3 /etc/shadow

给账号,组账号,账号口令文件加上不可更改属性,从而防止非授权用户获得权限

chattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/group

chattr +i /etc/gshadow

解锁:

chattr -i /etc/passwd

chattr -i /etc/shadow

chattr -i /etc/group

chattr -i /etc/gshadow

 

密码有效期与最短长度:

vim /etc/login.defs

PASS_MAX_DAYS 90 密码最长90天

PASS_MIN_DAYS 0 最短0天

PASS_WARN_AGE 7 7天提醒修改口令

PASS_MIN_LEN 8 最短密码长度8位

修改已经存在的账号密码有效期:

chage -M 30 用户  最长天数

chage -d 0 用户 强制下次登录改密码

 

查看历史口令history

他人可以查看你输入的口令,因此要减少记录的命令条,注销时自动清空历史命令。

vim /etc/profile

HISTORY=1000 改为自己想要的数字 //默认1000条

注销时自动清除记录:

vim ~/.bash_logout

history -c

clear

[展开全文]

终端自动注销:

vim ~/.bash_profile 亦或者在vim /etc/profile这里修改

例如profile添加:

在export PATH...下面添加

export TMOUT=600

闲置600S自动注销。

 

限制使用su命令的用户:

1、启用PAM_WHEEL认证模块

2、将允许使用su命令的用户加入wheel组

vim /etc/pam.d/su

将#去掉:author required pam_wheel.so use uid

gpasswd -a 用户 wheel 将用户加入wheel组

 

 

使用sudo机制提升权限

用途:其他用户身份执行授权的命令

用法:sudo授权命令

密码验证:初次执行sudo命令时,验证当前用户的密码;不验证目标用户的密码

sudu -u 用户 /bin/touch /tmp/test

ll /tmp

 配置sudo授权

visudo或者vim  /etc/sudoers

添加记录:用户 主机名列表=命令程序

在#user localhost=/sbin/shutdown - h now下面添加

用户 localhost=/sbin/ifconfig

[展开全文]

带GUI的服务器++

硬件监控工具

Java平台

大系统性能

性能工具

兼容性程序库

开发工具

安全性工具

 

[展开全文]
cmdb · 2018-04-29 · CentOS7安装 0

=====账号安全
==注释掉系统不需要的用户和用户组
不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦。
[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

[展开全文]

==ssh安全配置

Secure Shell (SSH) 的目的在于在通过网络远程访问另一个主机时提供最大的保护。属于应用层的隧道技术,它通过提供更好的身份验证工具和 Secure Copy(SCP)、Secure File Transfer Protocol (SFTP)、X 会话转发和端口转发等功能来加密网络交换,从而增加其他非安全协议的安全性。

 

==SSH的一般用途

通常使用 SSH 来允许用户登录到一个远程主机并执行命令。SSH 还支持隧道和 X11 连接。SSH也可以使用 SFTP 或 SCP 传输文件。

远程主机 shell 访问(取代 telnet 和 rlogin 等使用明文的不安全协议):

ssh 远程主机账号@地址 #地址主机中的账号登陆

yes #保存证书

输入密码

exit #登出

 

在远程主机(代替 rsh)执行单一命令:

ssh 远程主机账号@地址 reboot #以远程主机中的root身份执行reboot命令

 

通过 SCP 命令将文件在本地主机与远程服务器之间进行复制:

scp 远程账号@地址:文件路径 #从远端拷贝文件

scp 文件路径 远程账号@地址:文件路径 #从本地上传文件

 

结合 SFTP,作为 FTP 文件传输的一个安全替代品:

sftp 账号@主机地址:文件路径 #到远端主机的对应路径

 

结合 rsync 有效安全地备份、复制和镜像文件到一个本地或远程主机:

rsync -avz --delete 账号@主机地址:/文件夹 本地文件夹

端口转发:

从一个远程主机转发 X 会话:

使用 sshfs 将一个远程SSH服务器上的目录安全的挂载到本地计算机文件系统中使用:

 

[展开全文]

针对所有账号在profile里面添加export TMOUT=时间

使用su -目标用户切换用户

启用pam.d/su认证模块将#号去除将用户添加到wheel :gpasswd -a 用户 wheel

sudo -u 机制提升权限以其他身份执行授权命令

配置sudo授权修改sudoers

[展开全文]

授课教师

高级讲师

课程特色

视频(35)
下载资料(3)