百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux 主机安全加固内容

ahcoder 2025-01-17 10:51 13 浏览

修改密码策略

1、cp /etc/login.defs /etc/login.defs.bak

2、vi /etc/login.defs

PASS_MAX_DAYS 90 (用户的密码不过期最多的天数)

PASS_MIN_DAYS 0 (密码修改之间最小的天数)

PASS_MIN_LEN 8 (密码最小长度)

PASS_WARN_AGE 7 (口令失效前多少天开始通知用户更改密码)

按要求修改这几个密码选项,修改完之后保存(:wq!)退出即可。

查看系统是否已设定了正确UMASK值(022)

1、用命令umask查看umask值是否是 022,

如果不是用下面命令进行修改:

cp /etc/profile /etc/profile.bak

vi /etc/profile

找到umask 022,修改这个数值即可。

锁定系统中不必要的系统用户和组

1、cp /etc/passwd /etc/passwd.bak

cp /etc/shadow /etc/shadow.bak

锁定下列用户

2、for i in admlp sync news uucp games ftp
rpcrpcusernfsnobodymailnullgdm

do

usermod -L $i

done

3、检查是否锁定成功

more /etc/shadow 如:lp:!*:13943:0:99999:7::: lp帐户后面有!号为已锁定。

4、禁用无关的组:

备份:cp /etc/group /etc/group.bak

5、编辑:vi /etc/group


在组前面加#进行注释参考下面

#lp:x:7:daemon,lp
#uucp:x:14:uucp
#games:x:20:
#ftp:x:50:
#rpc:x:32:
#rpcuser:x:29:
#nfsnobody:x:65534:
#mailnull:x:47:
#gdm:x:42:


6、禁止root用户远程登录

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

vi /etc/ssh/sshd_config文件,将其中的PermitRootLogin改成no,然后重新启动ssh服务

/etc/init.d/sshd restart


linux中预防SYN flood

1、备份cp /etc/sysctl.conf /etc/sysctl.conf.bak

2、编辑vi /etc/sysctl.conf

3、添加 net.ipv4.tcp_syncookies = 1

4、保存退出

5、/sbin/sysctl -p 命令使变更生效

ARP捆绑IP

1、确认网关IP 和 mac 地址是正确的

2.查看arp -a

3. echo '210.75.211.254 00:17:0E:5A:AE:C6' > /etc/ethers

4.捆绑arp -f

5、对比

例子:(请参考系统运行的实际情况)

捆绑前root@beijing238 etc]# arp -a

? (210.75.211.254) at 00:17:0E:5A:AE:C6 [ether] on eth0

捆绑后 ? (210.75.211.254) at 00:17:0E:5A:AE:C6 [ether] PERM on eth0

6、设置开机捆绑MAC

备份开机自启动服务文件cp /etc/rc.d/rc.local /etc/rc.d/rc.local.bak

编辑vi /etc/rc.d/rc.local添加arp–f

停止无用服务

注意:需要根据系统的实际情况和询问管理员那些服务跟业务无关方可停用。

fori in autofschargenchargen-udpgpm ip6tables isdn kudzu xinetdnfsnfslockpcmcia
rhnsd
do
chkconfig –level 2345 $i off
service $i stop
done
启动审计服务
fori in audit
do
chkconfig --level 2345 $i on
service $i start
done

系统禁用X-Window系统

1、编辑:

cp /etc/inittab /etc/inittab.bak
vi /etc/inittab
id:5:initdefault:将数值5改为3即可。

残留信息保护(使.bash_history值保存30个命令,用户退出自动删除.bash_history文件)

1、备份:cp /etc/profile /etc/profile.bak

2、编辑 vi /etc/profile

HISTFILESIZE=30 (如果没有请自行添加)修改保存值为30

HISTSIZE=30 修改保存值为30

3、退出后自动删除个用户的“.bash_history”文件备份:cp /etc/skel/ .bash_logout /etc/skel/ .bash_logout.bak

编辑:vi /etc/skel/ .bash_logout

在后面添加rm -f $HOME/.bash_history

more /etc/sysctl.conf

查看/tmp和/var/tmp目录具有粘滞位

1、查看,例如:ls -al / | greptmp

drwxrwxrwt 7 root

2、修改:chmod +t /tmp

chmod +t /var/tmp

加固TCP/IP协议栈

1、系统当前状态

more /etc/sysctl.conf

检查/etc/sysctl.conf是否存在以下内容:

net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.secure_redirects = 0

2、Vi /etc/sysctl.conf文件添加或修改下列值。

net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
chownroot:root /etc/sysctl.conf
chmod 0600 /etc/sysctl.conf
sysctl –p /etc/sysctl.conf

注意:修改前请备份/etc/sysctl.conf文件,如果对上面参数不清楚的请找相关资料了解。这些参数应依据实际业务的需要来微调,具体请咨询厂商与业务开发商。

系统重要文件访问权限是否为644或600

一般检查/etc/passwd、/etc/shadow 文件

默认配置如下(可参照此):

# ls -al /etc/passwd /etc/shadow

修改方法:chmod 644 /etc/shadow

Chmod 600 /etc/passwd

系统是否启用安全审计

用命令查看chkconfig --list | grepauditd

例如:

[root@linux ~]# chkconfig --list | grepauditd
auditd 0:off 1:off 2:on 3:off 4:on 5:off 6:off
root@linux ~]# service auditd status
auditd is stopped
[root@linux ~]# serviceauditd restart
Starting auditd: [ OK ]
[root@linux ~]# serviceauditd status
auditd (pid 32217) is running...
chkconfig --list | grepauditd
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

相关推荐

linux基础命令之zip、unzip命令(linux zip指令)

zip命令是linux系统下压缩文件的命令,后缀为.zip。unzip命令是对zip压缩包进行解压,和tar命令不同,tar命令是支持压缩和解压的命令语法格式:zip参数压缩名称要进行压缩的目录...

Linux:基础命令讲解实例(九)(linux13个基础命令)

前言大家好!本次我们详细介绍Linux系统中两个重要的命令:tar和zip。tar用于打包和解压文件,而zip用于创建和解压ZIP压缩文件。tar命令tar命令用于打包和解压文件...

Linux应用打包格式Flatpak风光背后,核心开发陷入停滞

IT之家5月24日消息,在今年4月召开的Linux应用峰会(LAS)上,GNOME项目成员、RedHat员工SebastianWick指出,Flatpak这一应用打包格式...

深入学习IO多路复用select/poll/epoll实现原理

Linux服务器处理网络请求有三种机制,select、poll、epoll,本文打算深入学习下其实现原理。0.结论本文其他的内容主要是得出了下面几个结论:服务器要接收客户端的数据,要建立sock...

X11退场,Ubuntu 25.10发行版全面拥抱Wayland

IT之家6月12日消息,科技媒体linuxiac昨日(6月11日)发布博文,报道称Canonical宣布自Ubuntu25.10开始,将彻底移除基于Xorg的GNOM...

最火的 CI/CD 平台 Jenkins 详细搭建教程(for Linux)

在正式学习Jenkins之前我们需要对两个名词有一定了解,其一是DevOps,另外一个就是CI/CD。何为DevOps?来自wiki百科介绍DevOps是一系列软件开发实践,强调开发人员(Dev)和测...

Window安装Linux子系统(win10安装linux子系统 图形界面)

目前程序开发过程中使用的很多中间件在生产环境中都是稳定运行在linux系统上的,虽然有一些中间件提供了Windows的版本,但是可能存在一定的差异,为了更好的学习建议准备一个linux环境运行这些中间...

Linux下Qt桌面应用的开发流程(qt程序能否运行在linux)

在Linux下开发Qt桌面应用的完整流程可分为以下六个核心阶段,结合Qt框架特性和Linux环境特点进行优化。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎洽谈合作。一、环境搭建与配置1安装...

搭建Oracle数据库服务器(oracle数据库服务器部署)

【十一】搭建Oracle数据库服务器下面介绍Oracle12c_R2的安装。一)建用户,组,目录,权限1)创建用户和组有两个组,oinstall是主组,dba是附组:[root@alex~]#g...

linux实例之创建service服务(linux 制作服务)

前面我们讲过可以通过service命令来启动,重启,停止指定的服务程序。service服务可以在系统启动时,自动运行该服务,我们可以利用这一特点,创建service文件,并且让系统重启时,自动执行命令...

Linux编程Shell之入门——Shell select in循环详解

select循环是一种用于创建交互式菜单的特殊循环结构。它允许用户从预定义的选项列表中进行选择,并根据选择执行相应的操作。select循环在交互式shell脚本中非常有用。下面是select...

安装Linux之前必备知识(安装linux之前必备知识的软件)

内容提要1、磁盘分区的相关概念2、使用静态分区的缺点3、LVM的相关概念磁盘分区在安装Linux以前,首先应该了解一些关于硬盘分区的知识。现代操作系统无一例外地使用了虚拟内存技术。Windows系统使...

Linux开机自启全攻略:找到最适合你的方法

今天一个linux的开机自启,折腾了两个小时,好好的梳理下以备不时之需。接触linux15年了。这点小知识还是没摸透。在Linux中设置开机自启动。除了"systemd"以外还有以下有...

麒麟 v10 系列单用户模式(麒麟v10 bond)

起因:因为操作系统有关键性文件被删除了,导致系统出现了问题,需要进行修复系统,这个时候只能进去单用户模式去修复,然后我安装centos系的方法重启按e,没想到需要输入账号密码,我输入了root的账号密...

Linux中的sudo功能(linux里的sudo)

sudo是Linux系统中一个非常重要的工具,他允许普通用户以超级用户(root)或其他用户的权限执行命令。以下是sudo命令功能的详细介绍:sudo的基本功能权限提升:允许普通用户执行需要超级用户权...