CentOS 7中系统安全及应用

发布时间:2020-06-10 14:01:19 作者:SiceLc
来源:网络 阅读:770

账户安全控制

用户账号是计算机使用者的身份凭证或标识,每个要访问系统资源的人,必须凭借其用户账号才能进入计算机。

基本安全措施

1、系统账号清理
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow  //锁定passwd、shadow文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow    //查看锁定情况
----i----------- /etc/passwd
----i----------- /etc/shadow   //文件已锁定
[root@localhost ~]# useradd siti    //创建用户
useradd:无法打开 /etc/passwd       //无法打开文件,用户无法创建
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow   //解锁文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow     //查看文件锁定信息
---------------- /etc/passwd                   //文件已解锁
---------------- /etc/shadow
[root@localhost home]# useradd st11             //创建用户
[root@localhost home]# echo "123123" | passwd --stdin st11  //设置用户密码
更改用户 st11 的密码 。
passwd:所有的身份验证令牌已经成功更新。          //设置成功
2、密码安全控制
[root@localhost home]# vim /etc/shadow   //查看所用户密码信息

root:$6$DErFk.wqtcw55ui.$sbinnItTXo1wtxsOmThAEwBXHluuCC04as2tSUvoCEdDTHMTumpl/VcjH6KCYkJh0xc3KqLdcTq2NTe3K7nTi1::0:99999:7:::   //root用户密码有效期为99999
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
...//省略部分内容...
tcpdump:!!:18117::::::
sun:$6$g2hmfiVD2XG/zY37$53BhBT.2ILsuF22KZ2BRaE/6hmG/HsylLi1EuARoWzc8EgBbqN64T0DmyCfGsowWGFuCKDubUkBIxh2TM69Vv0:18117:0:99999:7:::   //sun用户密码有效期为99999
st11:$6$ZGozUglO$ymyQEtkL//rzx8UdgDcy1yd3WVLiET9K6xrC.dT0lUnNH17dzkuSxkqepAC5plPlad5VWrewJOkAKJxdmiYLZ.:18136:0:99999:7:::        //st11用户密码有效期为99999
:q                             //退出

[root@localhost home]# vim /etc/login.defs   //进入密码配置文件,设置密码有效期

...//省略部分内容...
#       PASS_MIN_DAYS   Minimum number of days allowed between password changes.
#       PASS_MIN_LEN    Minimum acceptable password length.
#       PASS_WARN_AGE   Number of days warning given before a password expires.
#
PASS_MAX_DAYS   30          //密码最长有效期 更改99999为30
PASS_MIN_DAYS   0           //密码最短有效期
PASS_MIN_LEN    5           //密码最短字符长度
PASS_WARN_AGE   7           //密码过期前提前几天提醒
...//省略部分内容...
/99999                   //查找定位99999位置   
//更改完成后:wq保存退出

[root@localhost ~]# useradd siti      //创建用户
[root@localhost ~]# passwd siti       //设置用户密码
更改用户 siti 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# vim /etc/shadow    //查看所有用户密码信息

root:$6$DErFk.wqtcw55ui.$sbinnItTXo1wtxsOmThAEwBXHluuCC04as2tSUvoCEdDTHMTumpl/VcjH6KCYkJh0xc3KqLdcTq2NTe3K7nTi1::0:99999:7:::  //密码有效期未变
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
nome-initial-setup:!!:18117::::::
...//省略部分内容...
avahi:!!:18117::::::
postfix:!!:18117::::::
tcpdump:!!:18117::::::
sun:$6$g2hmfiVD2XG/zY37$53BhBT.2ILsuF22KZ2BRaE/6hmG/HsylLi1EuARoWzc8EgBbqN64T0DmyCfGsowWGFuCKDubUkBIxh2TM69Vv0:18117:0:99999:7:::    //密码有效期未变
st11:$6$ZGozUglO$ymyQEtkL//rzx8UdgDcy1yd3WVLiET9K6xrC.dT0lUnNH17dzkuSxkqepAC5plPlad5VWrewJOkAKJxdmiYLZ.:18136:0:99999:7:::   //密码有效期未变
siti:$6$RUXRmwz/$046PV4WYKzGpp.32FT7GKu04jvaCkut/d2GjtseMi1MnU1YfGMy1.AJdtOPZByWCyfP05LqoRNe0OT5tz1FUv1:18136:0:30:7:::  //新创建的用户siti用户密码有效期为30天
[root@localhost ~]# chage -M 30 st11     //更改st11用户密码有效期为30天
[root@localhost ~]# vim /etc/shadow      //查看所有用户密码信息

root:$6$DErFk.wqtcw55ui.$sbinnItTXo1wtxsOmThAEwBXHluuCC04as2tSUvoCEdDTHMTumpl/VcjH6KCYkJh0xc3KqLdcTq2NTe3K7nTi1::0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
...//省略部分内容...
tcpdump:!!:18117::::::
sun:$6$g2hmfiVD2XG/zY37$53BhBT.2ILsuF22KZ2BRaE/6hmG/HsylLi1EuARoWzc8EgBbqN64T0DmyCfGsowWGFuCKDubUkBIxh2TM69Vv0:18117:0:99999:7:::
st11:$6$ZGozUglO$ymyQEtkL//rzx8UdgDcy1yd3WVLiET9K6xrC.dT0lUnNH17dzkuSxkqepAC5plPlad5VWrewJOkAKJxdmiYLZ.:18136:0:30:7:::    //st11用户密码有效期更改未30天
siti:$6$RUXRmwz/$046PV4WYKzGpp.32FT7GKu04jvaCkut/d2GjtseMi1MnU1YfGMy1.AJdtOPZByWCyfP05LqoRNe0OT5tz1FUv1:18136:0:30:7:::
[root@localhost ~]# chage -d -0 st11

CentOS 7中系统安全及应用CentOS 7中系统安全及应用CentOS 7中系统安全及应用CentOS 7中系统安全及应用

3、历史命令的限制
[root@localhost ~]# history   //查看历史命令
    1  vim /ect/sysconfig/network-scripts/ifcfg-ens33
    2  vim /etc/sysconfig/network-scripts/ifcfg-ens33 
    3  vim /ect/sysconfig/network-scripts/ifcfg-ens33 
    4  vim /ect/sysconfig/network-scripts/ifcfg-ens33
    5  vim /ect/sysconfig/netwok-scripts/ifcfg-ens33 
    6  vim /etc/sysconfig/network-scripts/ifcfg-ens-33 
    7  vim /etc/sysconfig/network-scirpts/ifcfg-ens33 
    8  vim /etc/sysconfig/network-scripts/ifcfg-ens33
    9  vim /etc/sysconfig/network-scirpts/ifcfg-ens33
   10  vim /etc/sysconfig/network-scripts/ifcfg-ens33
   11  service network restart
   12  ifconfig
   13  chattr +i /etc/passwd /etc/shadow
   14  lsattr /etc/passwd /etc/shadow
   15  chattr -i /etc/passwd /etc/shadow
   16  lsattr /etc/passwd /etc/shadow
   17  chattr +i /etc/passwd/ /etc/shadow
   18  chattr +i /etc/passwd /etc/shadow
   19  lsattr 
   20  lsattr /etc/passwd /etc/shadow
   21  useradd siti
   22  chattr -i /etc/passwd /etc/shadow
   23  lsattr /etc/passwd /etc/shadow
   24  useradd siti
   25  passwd siti
   26  history
[root@localhost ~]# history -c    //清除历史命令
[root@localhost ~]# history       //查看历史命令
    1  history
[root@localhost ~]# vim /etc/profile

CentOS 7中系统安全及应用CentOS 7中系统安全及应用

[root@localhost ~]# history                //查看历史命令,这个时候设置并没有生效
    1  history
    2  vim /etc/profile
    3  history
[root@localhost ~]# source /etc/profile   //输入命令,使更改的配置生效
[root@localhost ~]# history               //再次查看历史命令
    4  history                            //只显示一条命令
[root@localhost ~]# vim /etc/profile        //进入编辑配置文件

    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
...//省略部分内容...
        fi
    fi
done

unset i
unset -f pathmunge
export TMOUT=60                         //添加设定条目
~                                                                                         
:wq                           //保存退出

[root@localhost ~]# source /etc/profile   //输入命令,使更添加的条目生效

设置完成后系统将在60秒后自动注销。注销时间可以根据自己的操作习惯设置。

在用户环境变量文件中添加history -c、clear命令,可以使用户注销时自动清除历史命令与缓存,提高安全性。

[root@localhost ~]# cd /home               //进入用户家目录
[root@localhost home]# ls                  //查看用户
siti  st11  sun
[root@localhost home]# cd st11           //进入到st11用户目录
[root@localhost st11]# ls -a               //查看目录中隐藏文件是否有 .bash_logout配置文件
.   .bash_logout   .bashrc  .config    .ICEauthority  .mozilla  模板  图片  下载  桌面
..  .bash_profile  .cache   .esd_auth  .local         公共      视频  文档  音乐
[root@localhost st11]# vim .bash_logout              //进入编辑配置文件
# ~/.bash_logout
history -c            //添加命令清除历史命令
clear                 //添加命令清除缓存
~                                                                                         
~
~
:wq             //保存退出
4、用户切换与提权

大多数 Linux 服务器并不建议用户直接以 root 用户进行登录。一方面可以大大减少因误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险。

[root@localhost /]# su siti                //切换到siti用户
[siti@localhost /]$                        //进入siti用户
[siti@localhost /]$ su - root              //切换到root用户,并回到家目录
密码:
上一次登录:三 8月 28 11:55:19 CST 2019从 192.168.144.1pts/0 上
[root@localhost ~]#                     //进入root用户,并在家目录下

可以通过查看PAM配置文件目录来查看支持PAM认证的服务项

[root@localhost ~]# ls /etc/pam.d                //查看pam配置文件目录
atd                     gdm-pin           postlogin-ac       su
chfn                    gdm-smartcard     ppp                sudo
chsh                    ksu               remote             sudo-i
config-util             liveinst          runuser            su-l
crond                   login             runuser-l          system-auth
cups                    other             setup              system-auth-ac
fingerprint-auth        passwd            smartcard-auth     systemd-user
fingerprint-auth-ac     password-auth     smartcard-auth-ac  vlock
gdm-autologin           password-auth-ac  smtp               vmtoolsd
gdm-fingerprint         pluto             smtp.postfix       xserver
gdm-launch-environment  polkit-1          sshd 
gdm-password            postlogin         sssd-shadowutils   //支持认证的服务项

每一个服务项目录下都存放着不同的安全认证配置文件,在/etc/security目录下同样存放在安全认证的配置文件。

[root@localhost ~]# ls /etc/security
access.conf   console.handlers  group.conf   namespace.conf  opasswd         sepermit.conf
chroot.conf   console.perms     limits.conf  namespace.d     pam_env.conf    time.conf
console.apps  console.perms.d   limits.d     namespace.init  pwquality.conf

进入pam配置文件下目录服务项目录,查看安全认证信息。

[root@localhost ~]# vim /etc/pam.d/su

#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth           required        pam_wheel.so use_uid
auth            substack        system-auth
auth            include         postlogin
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         include         postlogin
session         optional        pam_xauth.so

每一行都是一个独立的认证过程;每一行可以区分为三个字段:
auth:认证类型
sufficient:控制类型
pam_rook.soPAM 模块及其参

在此模式下开启pam认证。

[root@localhost ~]# vim /etc/pam.d/su

#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
auth           required        pam_wheel.so use_uid   //去掉此条目前# 开启pam认证
auth            substack        system-auth
auth            include         postlogin
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         include         postlogin
session         optional        pam_xauth.so
[root@localhost ~]# vim /etc/group        //查看组

...//省略部分内容...
mem:x:8:
kmem:x:9:
wheel:x:10:sun     //wheel组,现在只有sun一个用户
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
...//省略部分内容...
[root@localhost ~]# su - sun                    //切换至sun用户
上一次登录:三 8月 28 16:22:56 CST 2019pts/0 上
[sun@localhost ~]$ su - root                    //切换到root用户
密码:
上一次登录:三 8月 28 16:23:23 CST 2019pts/0 上
[root@localhost ~]# su - siti                  //切换到siti用户
上一次登录:三 8月 28 16:23:14 CST 2019pts/0 上
[siti@localhost ~]$ su - root                   //切换到root用户
密码:
su: 拒绝权限                                    //无法切换,拒绝访问
[siti@localhost ~]$       

首先我们先查看wheel组中的成员,然后用不在wheel组中的用户登录系统,来执行更改网络地址的指令,看是否能够更改。

[root@localhost ~]# vim /etc/group

...//省略部分内容...
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:sun      //只有sun一个用户
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
ppy:x:19:
...//省略部分内容...
[siti@localhost ~]$ ifconfig               //查看网卡信息
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.144.133  netmask 255.255.255.0  broadcast 192.168.144.255
        inet6 fe80::a85a:c203:e2e:3f3c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:5b:d3:a0  txqueuelen 1000  (Ethernet)
        RX packets 49  bytes 7062 (6.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 86  bytes 9493 (9.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
...//省略部分内容...
[siti@localhost ~]$ ifconfig ens33 192.168.144.138   //更改ens33网卡IP地址
SIOCSIFADDR: 不允许的操作               //提示不允许操作
SIOCSIFFLAGS: 不允许的操作
[siti@localhost ~]$ sudo ifconfig ens33 192.168.144.138  //用sudo执行
[sudo] siti 的密码:
siti 不在 sudoers 文件中。此事将被报告。      //不在sudo中,无法执行
[siti@localhost ~]$ ifconfig          //查看网卡,看IP地址是否更改
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.144.133  netmask 255.255.255.0  broadcast 192.168.144.255
        inet6 fe80::a85a:c203:e2e:3f3c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:5b:d3:a0  txqueuelen 1000  (Ethernet)
        RX packets 27  bytes 5649 (5.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 89  bytes 9710 (9.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        ...//省略部分内容...

这个时候我们来在root用户来给siti用户添加授权条目

[root@localhost ~]# vim /etc/sudoers
...//省略部分内容...
## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
#ar groups
## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname 
## rather than USERALIAS
# User_Alias ADMINS = jsmith, mikem
siti localhost = /sbin/ifconfig     //输入授权记录,注意:命令路径要写全
## Command Aliases
...//省略部分内容...
## Installation and management of software
# Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

## Services
@                                                                                              @                                                                                              
:w!         //强制保存,在输入:q退出                               

完成操作后注销系统,用siti用户登录,使用sudo提权再来更改IP地址,看是否可以更改。

[siti@localhost ~]$ sudo ifconfig ens33 192.168.144.138   //使用sudo命令提权执行命令
[sudo] siti 的密码:
[siti@localhost ~]$ ifconfig    //查看IP是否更改
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.144.138  netmask 255.255.255.0  broadcast 192.168.144.255
        inet6 fe80::a85a:c203:e2e:3f3c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:5b:d3:a0  txqueuelen 1000  (Ethernet)
        RX packets 445  bytes 39033 (38.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
...//省略部分内容...                  //IP地址已更改
5、开关机安全控制
[root@localhost ~]# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak  //备份配置文件
[root@localhost ~]# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak   //备份配置文件
[root@localhost ~]# grub2-mkpasswd-pbkdf2   //制作grub的哈希密码
输入口令:                              //输入密码
Reenter password:                   //再次输入确认密码
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.DFD8DA01D53B3B06F6023E9FF1D2C293B897FB5240235A28FD2B3633E53AEFA3920E8F04F59054995C305A00BE0EAC51381199F61351D3B75522B0D8FF9024E6.FB8C7B18FB79AC3AD20C1D5F580791DAB4C63A31DAD407E4F35DD2CBBA9C3AA6305B4B9DFBEC8743ECE211EBBC1ECD9E62241D80936E3602B17C1E1DA145394B             //生成的哈希密码,复制PBKDF2 hash of your password is后面的部分
[root@localhost ~]# vim /etc/grub.d/00_header    //编辑grub的头部配置文件

...//省略部分内容...
  echo "play ${GRUB_INIT_TUNE}"
fi

if [ "x${GRUB_BADRAM}" != "x" ] ; then
  echo "badram ${GRUB_BADRAM}"
fi
cat << EOF                      //添加条目,设置grub密码
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.DFD8DA01D53B3B06F6023E9FF1D2C293B897FB5240235A28FD2B3633E53AEFA3920E8F04F59054995C305A00BE0EAC51381199F61351D3B75522B0D8FF9024E6.FB8C7B18FB79AC3AD20C1D5F580791DAB4C63A31DAD407E4F35DD2CBBA9C3AA6305B4B9DFBEC8743ECE211EBBC1ECD9E62241D80936E3602B17C1E1DA145394B
~
:wq         //完成后保存退出   
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg  //从新制作grub配置文件
Generating grub configuration file ...
/etc/grub.d/00_header: line 362: warning: here-document at line 359 delimited by end-of-file (wanted `EOF')
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-53d38298b286406e9641157795cda5db
Found initrd image: /boot/initramfs-0-rescue-53d38298b286406e9641157795cda5db.img
done                //配置完成
[root@localhost ~]# init 6    //重启系统

CentOS 7中系统安全及应用CentOS 7中系统安全及应用CentOS 7中系统安全及应用

6、禁止 root 用户登录

Linux 系统中,login 程序会读取/etc/securetty 文件,以决定允许 root 用户从哪些终端(安全终端)登录系统。若要禁止 root 用户从指定的终端登录,只需从该文件中删除或者注释掉对应的行即可。若要禁止 root 用户从 tty5、tty6 登录,可以修改/etc/securetty 文件,将 tty5tty6 行注释掉。

[root@localhost ~]# vim /etc/securetty

...//省略部分内容...
tty4
#tty5
#tty6
tty7
...//省略部分内容...
~
:wq     

弱口令检测

Internet 环境中,过于简单的口令是服务器面临的最大风险。尽管大家都知道设置一个更长、更复杂的口令会更加安全,但总是会有一些用户因贪图方便而采用简单、易记的口令字串。对于任何一个承担着安全责任的管理员,及时找出这些弱口令账号是非常必要的,这样便于采取进一步的安全措施。

1、安装弱口令检测软件john

我的john安装包在我的宿主机中,通过文件共享的方式让虚拟机Linux系统查找到john软件包,并安装使用。

[root@localhost ~]# smbclient -L //192.168.144.128/    //查看宿主机共享信息
Enter SAMBA\root's password:     //我共享的主机没有设置密码,直接回车
OS=[Windows 10 Enterprise 10240] Server=[Windows 10 Enterprise 6.3]

    Sharename       Type      Comment
    ---------       ----      -------
    ADMIN$          Disk      远程管理
    C$              Disk      默认共享
    IPC$            IPC       远程 IPC
    share           Disk                  //john软件包存放位置
    Users           Disk      
Connection to 192.168.144.128 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
NetBIOS over TCP disabled -- no workgroup available
[root@localhost ~]# mount.cifs //192.168.144.128/share /mnt/tast   //将目录挂载到本地目录中
Password for root@//192.168.144.128/share:         //回车 
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/sda2                 20G  3.6G   17G   18% /
devtmpfs                 898M     0  898M    0% /dev
tmpfs                    912M     0  912M    0% /dev/shm
tmpfs                    912M  9.0M  903M    1% /run
tmpfs                    912M     0  912M    0% /sys/fs/cgroup
/dev/sda5                 10G   37M   10G    1% /home
/dev/sda1                6.0G  174M  5.9G    3% /boot
tmpfs                    183M   12K  183M    1% /run/user/42
tmpfs                    183M     0  183M    0% /run/user/0
//192.168.144.128/share   60G   11G   50G   18% /mnt/tast   //成功挂载
[root@localhost ~]# cd /mnt/tast      //到挂载的目录下查看
[root@localhost tast]# ls
john-1.8.0.tar.gz          //john软甲包
[root@localhost tast]# tar zxvf john-1.8.0.tar.gz -C /mnt  //将软件包解压到mnt目录下
john-1.8.0/README
john-1.8.0/doc/CHANGES
john-1.8.0/doc/CONFIG
john-1.8.0/doc/CONTACT
...//省略部分内容...
[root@localhost tast]# cd ..    //回到mnt目录
[root@localhost mnt]# ls     //查看
john-1.8.0  tast          //显示解压的软件包
[root@localhost mnt]# cd john-1.8.0/    //进入软件包查看信息
[root@localhost john-1.8.0]# ls
doc  README  run  src       
[root@localhost john-1.8.0]# cd run    
[root@localhost run]# ls  //进入run目录查看可执行文件,这个时候是没有可执行文件的,需要我们自己来配置
ascii.chr  digits.chr  john.conf  lm_ascii.chr  mailer  makechr  password.lst  relbench
[root@localhost run]# yum install gcc gcc-c++    //安装源码包,来配置john执行文件
已加载插件:fastestmirror, langpacks
base                                                                            | 3.6 kB  00:00:00     
extras                                                                          | 3.4 kB  00:00:00     
updates                                                                         | 3.4 kB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: mirrors.cn99.com
 * updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 gcc.x86_64.0.4.8.5-36.el7_6.2 将被 安装
--> 正在处理依赖关系 libgomp = 4.8.5-36.el7_6.2,它被软件包 gcc-4.8.5-3
...//省略部分内容...
[root@localhost run]# cd ..      //回到上一层目录
[root@localhost john-1.8.0]# ls     //查看
doc  README  run  src
[root@localhost john-1.8.0]# cd src   //进入源码包  
[root@localhost src]# ls           //查看是否有源码信息
AFS_fmt.c   charset.h   DES_std.c   john.asm      MD5_fmt.c  pa-risc.h   signals.c   unshadow.c
alpha.h     common.c    DES_std.h   john.c        MD5_std.c  path.c      signals.h   vax.h
alpha.S     common.h    detect.c    john.com      MD5_std.h  path.h      single.c    wordlist.c
batch.c     compiler.c  dummy.c     john.h        memory.c   ppc32alt.h  single.h    wordlist.h
...//省略部分内容...
[root@localhost src]# make linux-x86-64    //在源码包目录下直接编译
ln -sf x86-64.h arch.h
make ../run/john ../run/unshadow ../run/unafs ../run/unique \
    JOHN_OBJS="DES_fmt.o DES_std.o DES_bs.o DES_bs_b.o BSDI_fmt.o MD5_fmt.o MD5_std.o BF_fmt.o BF_std.o AFS_fmt.o LM_fmt.o trip_fmt.o dummy.o batch.o bench.o charset.o common.o compiler.o config.o cracker.o crc32.o external.o formats.o getopt.o idle.o inc.o john.o list.o loader.o logger.o math.o memory.o misc.o options.o params.o path.o recovery.o rpp.o rules.o signals.o single.o status.o tty.o wordlist.o unshadow.o unafs.o unique.o c3_fmt.o x86-64.o" \
    CFLAGS="-c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer  -DHAVE_CRYPT" \
    LDFLAGS="-s  -lcrypt"
make[1]: 进入目录“/mnt/john-1.8.0/src”
gcc -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer  -DHAVE_CRYPT -funroll-loops DES_fmt.c
...//省略部分内容...
rm -f ../run/unshadow
ln -s john ../run/unshadow
rm -f ../run/unafs
ln -s john ../run/unafs
rm -f ../run/unique
ln -s john ../run/unique
make[1]: 离开目录“/mnt/john-1.8.0/src”           //编译完成
[root@localhost src]# cd /mnt/john-1.8.0/run/    //进入run目录
[root@localhost run]# ls      //查看可执行脚本文件是否出现
ascii.chr   john       lm_ascii.chr  makechr       relbench  unique
digits.chr  john.conf  mailer        password.lst  unafs     unshadow
//目录下成功编译出john执行脚本文件,这样就成功完成了john的安装
2、利用john软件检测弱口令
[root@localhost ~]# cd /mnt/john-1.8.0/run       //进入run目录
[root@localhost run]# ls                         //查看执行确定可执行脚本
ascii.chr   john       lm_ascii.chr  makechr       relbench  unique
digits.chr  john.conf  mailer        password.lst  unafs     unshadow
[root@localhost run]# ./john /etc/shadow       //执行john软件检查用户密码存放目录shadow目录
Loaded 2 password hashes with 2 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
123123           (root)                            //成功检测出用户弱口令密码
123123           (sun)
2g 0:00:00:15 100% 2/3 0.1332g/s 420.1p/s 452.0c/s 452.0C/s leslie..boston
Use the "--show" option to display all of the cracked passwords reliably
Session completed

网络端口扫描

利用nmap工具检测网络连接的端口,可以找出网络中不可控的应用服务,及时关闭不安全的服务,
减小安全风险。

1、安装nmap工具

[root@localhost run]# yum install nmap -y   //可以直接用yum安装工具就可以了
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: centos.ustc.edu.cn
 * updates: centos.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 nmap.x86_64.2.6.40-16.el7 将被 安装
--> 正在处理依赖关系 nmap-ncat = 2:6.40-16.el7,它被软件包 2:nmap-6.40-16.el7.x86_64 需要
--> 正在检查事务
...//省略部分内容...

2、是使用你nmap工具检测网络端口

[root@localhost run]# nmap -sT 127.0.0.1        //检测本地开放的TCP端口

Starting Nmap 6.40 ( http://nmap.org ) at 2019-09-02 03:19 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00082s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
111/tcp open  rpcbind
631/tcp open  ipp

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
[root@localhost run]# nmap -sU 127.0.0.1      //检测本地开放的TCP端口

Starting Nmap 6.40 ( http://nmap.org ) at 2019-09-02 03:21 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000049s latency).
Not shown: 997 closed ports
PORT     STATE         SERVICE
68/udp   open|filtered dhcpc
111/udp  open          rpcbind
5353/udp open|filtered zeroconf

Nmap done: 1 IP address (1 host up) scanned in 48.95 seconds
[root@localhost run]# nmap -sP 192.168.31.12     //检测地址主机是否存活

Starting Nmap 6.40 ( http://nmap.org ) at 2019-09-02 03:24 CST
Nmap scan report for 192.168.31.12
Host is up (0.00067s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.17 seconds
[root@localhost run]# nmap -sT 192.168.31.12   //检测目标地址主机开放的TCP端口

Starting Nmap 6.40 ( http://nmap.org ) at 2019-09-02 03:30 CST
Nmap scan report for 192.168.31.12
Host is up (0.0019s latency).
Not shown: 995 filtered ports
PORT    STATE SERVICE
135/tcp open  msrpc
139/tcp open  netbios-ssn
443/tcp open  https
445/tcp open  microsoft-ds
902/tcp open  iss-realsecure

Nmap done: 1 IP address (1 host up) scanned in 9.32 seconds

谢谢观看!!!

推荐阅读:
  1. Centos7系统安全及应用(四)弱口令检测和NMAP扫描
  2. Linux/Centos7系统管理之系统安全及应用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux centos 7 ce

上一篇:织梦后台添加自定义字段样式修改

下一篇:MS Teams Meeting的使用介绍

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》