Linux安全应用1

阻止普通用户关机

控制台助手机制

/usr/bin/consolehelper

配置目录

/etc/security/console.apps/

cd /etc/security/console.apps

mkdir -m 700 locked

mv poweroff locked

清理非登陆账号

/sbin/nologin  禁止登陆Shell

bin daemon shutdown ……

删除冗余账号

news games gopher

使用chage工具

-d 0 , 强制修改密码

-E yyyy-mm-dd , 指定失效日期 (-l 取消)

chage -E 2014-10-31 zengve

chage -l zergye  //查看zerye用户密码的详细信息

chage -d 0 tom  //强制tom用户修改密码

chage -m 0 tom  //随时可以更改密码

chage -m 1 -M 90 -W 5 -E 2014-10-01  -I 14 tom

m 密码最短使用时间

M 密码最长使用时间

-W 警告时间

-E 密码到期时间

-I 不活跃时间

账号的锁定/解锁

使用passwd命令

-l锁定 -u解锁 -S查看状态

使用usermod命令

-L锁定 -U解锁

passwd -l tom  //锁定用户tom的密码

passwd -S tom //查看用户的状态

grep tom /etc/shadow  //查看状态

强制定期修改密码

配置文件/etc/login.defs

- 对新建的用户有效

主要控制属性

- PASS_MAX_DAYS  最大天数

- PASS_MIN_DAYS  最小天数

- PASS_WARN_AGE  警告天数

- PASS_MIN_LEN   最短长度

减小历史命令的条数

环境变量 history

- 默认记录1000条

密码等敏感信息应避免在命令行输入

- 比如 NFS挂载、加域等操作

在用户的家目录 下,历

vim .bash_history //历史记录保存在此文件

vim /etc/profile  //修改历史条数

安全使用程序和服务

禁用非必要的系统服务

- 使用ntsysv、 chkconfig工具

禁止普通用户执行init.d目录下的脚本

- 限制 "other" 的权限

who -r //查看当前运行级别

run-level //查看当前运行级别

init 3 //切换到运行级别3

start x //进入图形界面

ntsysv --level 35 //选中要开机运行的35运行级别

文件系统规划及挂载

合理规划系统分区

- /boot /home /var 等采用独立的卷

mount挂载选项

-o nosuid -o noexec选项

SUID:如果一个可执行文件对其他人具有x权限,同时他也设置SUID,那么,

其他人在执行该文件的时候,文件执行期间就具备属主权限

# ll /bin/ls

# chmod 4755 /bin/ls

# su - tom

$ ls

# exit

# chmod u-s /bin/ls

mount -o noexec /dev/sda1 /boot  //不允许执行该分驱的文件

文件锁定和解锁

EXT3/EXT4的文件属性控制

- chattr lsattr

+ - =控制方式

- 属性i: 不可变(immutable)

- 属性a: 仅可追加(append only)

chmod  a= hosts   //设置权限等于空

chattr +i /etc/passwd  //加了i权限文件不可修改

chattr -i /etc/passwd  //撤消i权限

lsattr /etc/passwd //查看文件权限

tty终端控制

允许启用哪些tty终端

配置文件 /etc/sysconfig/init

- ACTIVE_CONSOLLES=/dev/tty[1-6]

立即禁止普通用户登陆

- /etc/nologin

touch /etc/nologin  //创建nologin文件禁止所有普通用户登陆

只允许root从指定的几个终端登陆

- 配置文件 /etc/securetty

伪装终端登陆提示

配置文件/etc/issue      //本地打开登陆终端出现的标题

配置文件/etc/issue.net  //telnet远程连接打开终端出现的标题,ssh不出现

vim /etc/httpd/conf

vim /etc/httpd/conf/httpd.conf

/ServerSignature On    //查找ServerSignature On

ServerSignature Off   //将on改为off关掉事务签名

:wq

禁止Ctrl+Alt+Del重启

停用Ctrl+Alt+Del执键配置

- /etc/init/control-alt-delete.conf

vim /etc/init/control-alt-delete.conf

#start on control-alt-delete

#exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

:wq

6,$s/^/#/ //或这样加#号修改

GRUB引导控制

引导设密的作用

- 限制修改启动参数

- 限制进入系统

密码设置方法

- password --md5  加密的密码串

- 或者 , password 明文密码串

获得MD5加密的密码串

grub-md5-crypt

vim /etc/grub.conf

default=0

timeout=5

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

hiddenmenu

password --md5 $1$kWaqv1$tJxpfKknIY7is51qrvWFD1

title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64)

password abc

root (hd0,0)

kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=UUID=27e5d4b2-0432-4ce1-831d-10044d691e31 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet

initrd /initramfs-2.6.32-358.el6.x86_64.img

vim /etc/grub.conf

title windwos 7//添加多一个系统引导

rootnoverify(hd0,0)

makective

chainloader +1    //设置为活动的

boot/grub/splash.xpm.gz  //开机启动图片存放位置

开机按"p"输入第一个密码

回车 再输入密码

用户切换与提权

切换用户身份,When

- SSH远程管理

- 运维测试

提升执行权限,When

- 管理权限细分

su tom //不加减号表示不登陆shell

su - tom //加减号表示登陆shell

提升执行权限(sudo)

用途:超级执行

验证凭据

- 当前用户的口令,需提前配置授权

命令格式

- sudo 特权命令

- sudo [-u 目标用户] 特权命令

# visudo

# visudo -c   #检查语法正不正确

/ALL

Cmnd_Alias USEROP = /usr/bin/passwd, /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod  //把命令加入USEROP组

User_Alias USER_ADMINS = tom, jack   //把tom加,jack加入USER_ADMINS组

tom     ALL=(ALL)       ALL     //加上这一行,可以执行任意管理员命令    sudo su -  #然后输入用户自己的密码,就可以切换成root用户了

USER_ADMINSALL=(ALL)USEROP   //USER_ADMINS组的这些人,可以执行USEROP组的这些命令

:wq

# su - tom

$ sudo -l  // 查看用户tom可以执行的命令

$ sudo useradd jack   //要加sudo可才可执行此命令

vim var/log/secure    //查看安全相关的日志

yum install -y finger

finger tom //查看tom的用户信息

chfn tom   //设置tom的用户信息

name: tommy

office: bejing

office: phone 010-0000

home phpone: 101-11111

验证查看tom的用户信息

grep tom /etc/passwd

时间: 2024-12-08 06:41:03

Linux安全应用1的相关文章

排查Linux机器是否已经被入侵

随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况供参考 背景信息:以下情况是在CentOS 6.9的系统中查看的,其它Linux发行版类似 1.入侵者可能会删除机器的日志信息,可以查看日志信息是否还存在或者是否被清空,相关命令示例: [[email protected] ~]# ll -h /var/log/* -rw-------. 1 root root 2.6K Jul 7 18

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

Linux下WebSphereV8.5.5.0 安装详细过程

Linux下WebSphereV8.5.5.0 安装详细过程 自WAS8以后安装包不再区别OS,一份介质可以安装到多个平台.只针对Installation Manager 进行了操作系统的区分 ,Websphere产品介质必须通过专门的工具Install Managere安装.进入IBM的官网http://www.ibm.com/us/en/进行下载.在云盘http://yun.baidu.com/share/linkshareid=2515770728&uk=4252782771 中是Linu

Linux centos下让alias自定义永久生效(+常用的别名)

alias可以简化一些复杂的命令串,使一个单词或简化后的命令即可实现复杂(通常是带很多参数的长串)命令. 基本用法: alias 简化命令='实际的长串命令'    //实际长串命令通常为'原命令 -/选项参数' eg. alias ll='ls -a' 获取别名: alias        //即可查看当前设定的所有alias别名 取消别名: unalias 简化命令 eg. unalias ll            //取消ll的别名 永久生效: 直接使用alias命令定义的别名,重启后就

Linux下修改环境变量PATH

1.什么是环境变量(PATH) 在Linux中,在执行命令时,系统会按照PATH的设置,去每个PATH定义的路径下搜索执行文件,先搜索到的文件先执行. 我们知道查阅文件属性的指令ls 完整文件名为:/bin/ls(这是绝对路径), 那你会不会觉得很奇怪:"为什么我可以在任何地方执行/bin/ls这个指令呢? " 为什么我在任何目录下输入 ls 就一定可以显示出一些讯息而不会说找不到该 /bin/ls 指令呢? 这是因为环境变量 PATH 的帮助所致呀! 当我们在执行一个指令癿时候,举例

老男孩Linux运维第41期20170917开班第四周学习重点课堂记录

第1章 必知必会文件 配置文件位置 该文件作用 /etc/sysconfig/network-scripts/ifcfg-eth0 第一块网卡的配置文件 同setup中的network /etc/resolv.conf 客户端DNS配置文件,优先级低于网卡配置文件 /etc/hosts 主要作用是定义IP地址和主机名的映射关系(域名解析),是一个映射IP地址和主机名的规定 /etc/sysconfig/network 用于配置hostname和networking /etc/fstab 开机自动

Linux基础命令小结

注意:Linux严格区分大小写 老男孩方法论经验之谈: 有一种方法叫做没方法 有两种方法,左右为难 有三种方法才叫有方法 停止一个命令:CTR + C 1.创建目录 英文:make directorys 命令:mkdir 实例:三种方式 mkdir /data cd / mkdir data cd /;mkdir data mkdir x y z    表示同时创建多个目录 mkdir -p /data/x/y   表示同时创建多级目录(递归创建),切记不可用mkdir /data/x/y 2.

Linux red hat 安装ansible

今日对Linux 系统是Red Hat Enterprise Linux Server release 6.5 (Santiago)对ansible进行安装. 由于系统的源为yum源,所以使用yum install ansible 进行安装,但是报错.如图.(这个错误是yum源没有注册到red hat 系统). yum源不能安装,所以换了一个思路.使用pip安装.pip是依赖python安装的. 1.检查Python版本 Python -v 检查出来为Python 2.6.6 2.检查pip 版

初识运维3--在虚拟机中安装Linux发行版系统(CentOS)的方法

在讲Linux系统发行版本的安装过程之前,先大略说明一下虚拟化. 虚拟化:将底层硬件资源抽象为用户更容易读懂和使用的逻辑抽象层的技术. 最早由IBM提出,现使用率较高的虚拟化软件平台有三类:VMware workstation.VirtualBOX.HyperV.在这里使用VMware workstation作为例子讲解说明安装过程. 虚拟化网络: 桥接模式:让物理机和虚拟机利用物理网络接口完成通信.虚拟机可以访问互联网. 仅主机模式:让虚拟机和物理机利用被虚拟出来的VMnet1网络接口完成通信

查看Linux系统版本信息

一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [[email protected]CentOS home]# cat /proc/versionLinux version 2.6.32-431.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013 2.uname -a [