• 欢迎访问LLYCLOUD information technical share center (ITSC),Linux 安全,Linux 系统,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入LLYCLOUD QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏LLYCLOUD ITSC吧

8.系统安全及应用

Linux安全与高级应用 Akide_Liu 10个月前 (02-01) 135次浏览 0个评论

第八章 系统安全以及应用

一、账号安装的基本措施

1.系统账号清理:

  • 将非登录用户的Shell设为/sbin/nologin

各种非登录用户中,还有相当一部分是很少用到的,如:news,uucp,games。这些用户可视为冗余账号,直接删除即可,除此之外,还有一些随应用程序安装的用户账户,或程序卸载后未自动删除,这需要管理员手动卸载

[[email protected] Desktop]# grep “/sbin/nologin$” /etc/passwd

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin

vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin

rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin

avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin

pulse:x:498:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin

haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

apache:x:48:48:Apache:/var/www:/sbin/nologin

saslauth:x:497:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

abrt:x:173:173::/etc/abrt:/sbin/nologin

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

mysql:x:500:500::/home/mysql:/sbin/nologin

  • 锁定长期不使用的账号

[[email protected] Desktop]# usermod -L qq 锁定

[[email protected] Desktop]# passwd -S qq

qq LK 2015-06-09 0 99999 7 -1 (密码已被锁定。)

[[email protected] Desktop]# usermod -U qq 解锁

[[email protected] Desktop]# passwd -S qq

qq PS 2015-06-09 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)

  • 删除无用的账号

[[email protected] Desktop]# userdel -r qq

[[email protected] Desktop]# id qq

id: qq:无此用户

  • 锁定账号文件passwd、shadow

[[email protected] ~]# chattr +i /etc/passwd /etc/shadow

[[email protected] ~]# lsattr /etc/passwd /etc/shadow

—-i——-e- /etc/passwd

—-i——-e- /etc/shadow

[email protected] ~]# chattr -i /etc/passwd /etc/shadow

[[email protected] ~]# lsattr /etc/passwd /etc/shadow

————e- /etc/passwd

————e- /etc/shadow

2.密码安全控制

  • 设置密码有效期

[[email protected] ~]# vi /etc/login.defs

……

PASS_MAX_DAYS 30

[[email protected] ~]# chage -M 30 lisi

  • 要求用户下次登录时修改密码

[[email protected] ~]# chage -d 0 zhangsan

3.历史命令限制

[[email protected] ~]# vi /etc/profile

……

HISTSIZE=200 适用于新登录的用户

[[email protected] Desktop]# export HISTSIZE=200 适用于当前用户

[[email protected] ~]# vi ~/.bash_logout

……

history -c

clear 每次退出登录后清除历史记录

4.终端自动注销

[[email protected] ~]# vi ~/.bash_profile

……

export TMOUT=600 适用于新登录的用户

[[email protected] Desktop]# export TMOUT=600 适用于当前用户

二、用户切换和提权

1.su命令

使用su命令,可以切换为指定的另一个用户,从而获得该用户所有的权限。当然,切换时需要对目标的密码进行验证(从root用户切换的到其他用户除外)

[[email protected] Desktop]$ su – root

密码:

[[email protected] ~]#

注意:上述操作中“-”等同于”—login”或”-l”,表示切换用户后进入目标用户的登录shell,若缺少此参数,则仅切换身份,不切换用户环境。

root 任意用户, 不验证密码

普通用户 其他用户,验证目标用户的密码

Su命令的策略加强:

默认情况下,任何用都可以使用su命令,为了防止暴力破解其他用户的密码,带来风险。

使用pam_wheel认证模块,只允许极个别用户使用su命令。

实现思路:

  1. 将授权用户加入wheel组
  2. 然后在/etc/pam.d/su认证配置中启用pam_wheel认证

[[email protected] ~]# gpasswd -a qq wheel

Adding user qq to group wheel

[[email protected] ~]# id qq

uid=501(qq) gid=501(qq) 组=501(qq),10(wheel)

[[email protected] ~]# vim /etc/pam.d/su

4 #auth sufficient pam_wheel.so trust use_uid

5 # Uncomment the following line to require a user to be in the “wheel” group.

6 auth required pam_wheel.so use_uid

7 auth include system-auth

验证:

[[email protected] ~]# echo “123456” | passwd –stdin “root”

更改用户 root 的密码 。

passwd: 所有的身份验证令牌已经成功更新。

[[email protected] ~]# echo “123456” | passwd –stdin “qq”

更改用户 qq 的密码 。

passwd: 所有的身份验证令牌已经成功更新。

[[email protected] ~]# echo “123456” | passwd –stdin “admin”

更改用户 admin 的密码 。 全部更改密码

passwd: 所有的身份验证令牌已经成功更新。

[[email protected] ~]# su qq

[[email protected] root]$ su 从qq切换到root,成功

密码:

[[email protected] ~]# su admin

[[email protected] root]$ su – root 从admin切换到root,失败

密码:

su: 密码不正确

查看su操作记录:

安全日志文件:/var/log/secure

2.sudo命令———提权命令

使用sudo命令可以提升权限,但是需要超级管理员预先授权,指定允许哪些用户以超级用户的身份来执行那些命令

主配置文件:/etc/sudoers 需要用w!保存

常用格式:用户 主机名列表=命令程序列表

解释:

  • 用户:授权的用户名,或采用%组名的方式授权一个组
  • 主机:使用此配置文件的主机名称
  • 命令:允许授权的用户通过sudo方式执行的特权命令,需要添加命令程序的绝对路径

[[email protected] ~]# vim /etc/sudoers

%wheel ALL=NOPASSWD:ALL

qq www=/sbin/ifconfig

admin www=/sbin/shutdown

验证效果

[[email protected] ~]$ shutdown -h +3

shutdown: Need to be root 本无权限执行

[[email protected] ~]$ sudo shutdown -h +3

We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.

#2) Think before you type.

#3) With great power comes great responsibility.

[sudo] password for admin: 需要输入当前用户密码

Broadcast message from [email protected] 确认密码后可以执行

(/dev/pts/0) at 0:50 …

The system is going down for halt in 3 minutes!

查看sudo的操作记录:

[[email protected] ~]# vim /etc/sudoers

…………

Defaults logfile = “/var/log/sudo” 【需要手动添加】

验证效果

[[email protected] ~]# cat /var/log/sudo

Jun 10 00:53:48 : admin : TTY=pts/0 ; PWD=/home/admin ; USER=root ; COMMAND=list

查看授权的sudo操作:sudo -l

[[email protected] ~]$ sudo -l

匹配此主机上 admin 的默认条目:

requiretty, !visiblepw, always_set_home, env_reset, env_keep=”COLORS DISPLAY

HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS”, env_keep+=”MAIL PS1 PS2 QTDIR

USERNAME LANG LC_ADDRESS LC_CTYPE”, env_keep+=”LC_COLLATE LC_IDENTIFICATION

LC_MEASUREMENT LC_MESSAGES”, env_keep+=”LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER

LC_TELEPHONE”, env_keep+=”LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET

XAUTHORITY”, secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin, logfile=/var/log/sudo

用户 admin 可以在该主机上运行以下命令:

(root) /sbin/shutdown

三、开关机安全控制

1.调整bios引导设置

  • 将第一引导设备设为当前系统所在硬盘

8.系统安全及应用

  • 禁止从其他设备(光盘、U盘、网络)引导系统
  • 将安全级别设为setup,并设置管理员密码

8.系统安全及应用

2. 禁用重启热键Ctrl+Alt+Del

注释掉配置文件中的9.11行

[[email protected] ~]# vim /etc/init/control-alt-delete.conf

8

9 #start on control-alt-delete

10

11 #exec /sbin/shutdown -r now “Control-Alt-Delete pressed”

3.grub菜单限制

修改grub引导参数,可以进入不需要密码进入单用户模式,以便对系统问题进行修复。这种方式不需要密码,而且用户root权限,只应在紧急情况下授权使用

GRUB限制的实现

  • 使用grub-md5-crypt获得加密字串

[[email protected] ~]# grub-md5-crypt 获得md5加密的密文密码

Password:

Retype password:

$1$wByRH$d9sRTvOmUbdi0dNzuEzkq/

  • 修改grub.conf文件,添加密码记录

[[email protected] ~]# vim /boot/grub/grub.conf

10 default=0

11 timeout=5

12 password -md5 $1$wByRH$d9sRTvOmUbdi0dNzuEzkq/ 添加此行

13 splashimage=(hd0,0)/grub/splash.xpm.gz

14 hiddenmenu

15 title CentOS 6 (2.6.32-504.el6.i686)

验证效果:

8.系统安全及应用

4.减少开放的终端数

[[email protected] ~]# vi /etc/init/start-ttys.conf

…… //省略部分内容

env ACTIVE_CONSOLES=/dev/tty[456] 【只开启456】

[[email protected] ~]# vi /etc/sysconfig/init

…… //省略部分内容

ACTIVE_CONSOLES=/dev/tty[456] 【只开启456】

安全终端配置:/etc/securetty

[[email protected] ~]# vi /etc/securetty 【禁止root从终端5.6登录】

……

tty1

tty2

tty3

tty4

#tty5

#tty6

禁止普通用户登录

建立/etc/nologin文件

[[email protected] ~]# touch /etc/nologin

删除nologin文件或重启后即恢复正常

[[email protected] ~]# rm -rf /etc/nologin

三、弱口令检测———john the ripper

一款密码分析工具,支持字典式的暴力破解

通过对shadow文件的口令分析,可以检测密码强度

安装过程:
[[email protected] src]# tar zxvf john-1.7.8.tar.gz -C /usr/src/

[[email protected] src]# cd /usr/src/john-1.7.8/src/

[[email protected] src]# make clean generic

1.检测弱口令账号

[[email protected] run]# ./john /etc/shadow

Loaded 1 password hash (md5crypt [MD5 32/32 X2])

Press ‘q’ or Ctrl-C to abort, almost any other key for status

123456 (root)

1g 0:00:00:00 100% 2/3 2.941g/s 8597p/s 8597c/s 8597C/s 123456..12345

Use the “–show” option to display all of the cracked passwords reliably

Session completed

2.字典破解

[[email protected] run]# echo “” > john.pot

[[email protected] run]# ./john –wordlist=password.lst /etc/shadow

Loaded 2 password hashes with 2 different salts (md5crypt [MD5 32/32 X2])

Press ‘q’ or Ctrl-C to abort, almost any other key for status

123.com (qq)

123456 (root)

2g 0:00:00:00 100% 200.0g/s 200.0p/s 400.0c/s 400.0C/s 123.com..123456

Use the “–show” option to display all of the cracked passwords reliably

Session completed

四、NMAP网络端口扫描工具

安装NMAP:

[[email protected] run]# yum -y install nmap*

常见选项:

  • -sS,TCP SYN扫描(半开)

指向目标发送SYN数据包,如果收到SYN/ACK,就认为目标端口监听,并立刻断开链接

  • -sT,TCP 连接扫描(全开)

建立完整的TCP链接,以是否成功建立一个TCP链接为标准

  • -sF,TCP FIN扫描

间接扫描防火墙的健壮性

  • -sU,UDP扫描

探测目标主机提供哪些UDP服务

  • -sP,ICMP扫描

类似于ping,检测主机是否存活

  • -P0,跳过ping检测

跳过ping检测

扫描本机开放的端口:

[[email protected] run]# nmap 127.0.0.1

Starting Nmap 5.51 ( http://nmap.org ) at 2015-06-10 01:47 CST

Nmap scan report for localhost (127.0.0.1)

Host is up (0.0000030s latency).

Not shown: 995 closed ports

PORT STATE SERVICE

22/tcp open ssh

80/tcp open http

111/tcp open rpcbind

631/tcp open ipp

3306/tcp open mysql

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

扫描百度打开的tcp端口

[[email protected] run]# nmap -sT http://www.baidu.com

Starting Nmap 5.51 ( http://nmap.org ) at 2015-06-10 01:48 CST

Nmap scan report for http://www.baidu.com (119.75.218.70)

Host is up (0.022s latency).

Other addresses for http://www.baidu.com (not scanned): 119.75.217.109

Not shown: 998 filtered ports

PORT STATE SERVICE

80/tcp open http

443/tcp open https

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

扫描本网段开放的ftp服务

[[email protected] src]# nmap -p 21 192.168.1.0/24

Starting Nmap 5.51 ( http://nmap.org ) at 2015-06-10 01:52 CST

Nmap scan report for 192.168.1.1

Host is up (0.00021s latency).

PORT STATE SERVICE

21/tcp open ftp

MAC Address: 00:0C:29:39:B5:5F (VMware)

Nmap scan report for www (192.168.1.2)

Host is up (0.000081s latency).

PORT STATE SERVICE

21/tcp closed ftp

Nmap scan report for 192.168.1.254

Host is up (0.00025s latency).

PORT STATE SERVICE

21/tcp filtered ftp

MAC Address: 00:50:56:C0:00:13 (VMware)

Nmap done: 256 IP addresses (3 hosts up) scanned in 10.05 seconds


Llycloud ITSC , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:8.系统安全及应用
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址