linux加固目标和对象
一. linux加固目标和对象
项目加固的目标: 解决今年信通公司在风险评估工作中发现的linux服务器存在的安全问题,并结合南方电网安全基线标准修订版部署相关要求,将linux服务器的安全状况提升到一个较高的安全防护水平,尽可能降低由linux服务器带来的安全风险对电网信息业务正常运行的安全威胁。
项目加固的对象:本次信息安全加固对象主要包括贵州电网信通公司信息系统内的linux系统。具体设备见附录《linux系统主机》
二. 加固方案
2.1 设备管理
2.1.1 加固内容:安装SSH
描 述:SSH 是通过加密进行连接,提高信息传递的安全性
步 骤: 1.上传ssh ssl rpm包。
2.安装ssl包:rpm –ivh openssl-xxxx.rpm
2.安装rpm包: rpm –ivh openssh-server-xxxx.rpm
注意事项: 需要先安装ssl再安装ssh
存在风险应急处理措施: 不存在风险,安装不成功可用
rpm –E openssh-server-xx.rpm 回退
是否实施:
2.1.2 加固内容:使用TCP Wrapper配置访问控制
描 述:设置访问策略,可以防止非授权访问
步 骤: 1.打开hosts.allow文件添加允许ssh登录的ip,添加行格式为:
sshd:192.168.0.1 (单个地址)
sshd:192.168.0.0/255.255.255.0 (地址段)
2.打开hosts.deny文件添加一条拒绝所有的行:
sshd:ALL
注意事项: 做安全加固的PC机地址必须在允许的地址列表里
存在风险应急处理措施: 设置后,不在允许地址里的pc机将不能登录服务器。回退方法:删除hosts.allow和hosts.deny文件里添加的行
是否实施:
2.2 用户账号与口令安全
2.2.1 加固内容:限制系统无用的默认账号登录
描 述: 限制无用帐号可以防止攻击者通过默认帐号进行攻击的行为
步 骤: 使用命令锁定无用帐号:#passwd –l 帐号名,需要锁定如下帐号:
Daemon
Bin
Sys
Adm
Uucp
Lp
nobody
注意事项: 这些帐号默认都为锁定,不能登录
存在风险应急处理措施: 不存在风险。回退方法: #passwd –u 帐号名
是否实施:
2.2.2 加固内容:禁止root远程登录
描 述:禁止root远程登录,可以防止远程给自己以root权限进行连接
步 骤: 1.修改文件/etc/ssh/sshd_config,把参数PermitRootLogin no 取消注释,并把“no”改为“yes”
2.重启sshd:#service sshd restart
注意事项: 无
存在风险应急处理措施: 配置后,root不能远程登录,需要准备一个普通管理员帐号登录后再切换成root。回退措施:把/etc/ssh/sshd_config中的 PermitRootLogin改为yes,重启sshd
是否实施:
2.2.3 加固内容:设置口令策略
描 述:设置口令策略,可以提高帐号的安全性
步 骤: 修改文件/etc/login.defs
PASS_MAX_DAYS 180 密码使用最长期限为180天
PASS_MIN_DAYS 1 密码1天之内不能更改
PASS_WARN_AGE 28 密码过期之前28天提示修改
PASS_MIN_LEN 8 密码长度最小8位字符
注意事项: 修改了密码策略后,不符合标准的密码会在用户登录时强制修改密码
存在风险应急处理措施: 不存在风险。回退措施:根据在加固前所记录的帐户属性,修改设置到系统加固前状态
是否实施:
2.2.4 加固内容:控制用户登录会话时间
描 述:设置登录超时可以控制用户登录会话,提高系统安全性
步 骤: 设置用户600秒后连接自动断开
- 在/etc/profile文件添加行
TMOUT=600
- 重读环境变量
#export /etc/profile
注意事项: 无
存在风险应急处理措施: 无风险。回退方法:在/etc/profile文件里注释TMOUT=600
是否实施:
2.2.5 加固内容:禁止root用户使用FTP
描 述:禁止root用户使用ftp可以防止传输的文件具有高权限
步 骤: 1.在/etc/ftpusers文件里添加root
2.重启vsftpd。 #service vsftpd restart
注意事项: 无
存在风险应急处理措施: 不存在风险。回退方法:/etc/ftpusers文件里删除root并重启vsftpd
是否实施:
2.3 日志与审计
2.3.1 加固内容:捕获authpriv消息
描 述:启用日志,可以记录,查询攻击行为
步 骤: 1. 打开syslog配置文件etc/syslog.conf添加行:
authpriv.* /var/log/secure
2.重启syslogd:#service syslogd restart
注意事项: 系统默认保存authpriv日志
存在风险应急处理措施: 不存在风险。回退方法:删除或注释配置文件添加行并重启syslogd服务。
是否实施:
2.3.2 加固内容:日志存储在日志服务器中(可选)
描 述:日志存储在日志服务器中,可以防止攻击者删除日志,也可以使日志长时间保存。
步 骤:1.日志服务器的配置:
#vi /etc/sysconfig/syslog
将SYSLOGD_OPTIONS="-m 0" 修改成:SYSLOGD_OPTIONS="-r -m 0"
-r 表示启用记录远程主机的日志
2.本机配置:
修改/etc/syslog.conf文件
# vi /etc/syslog.conf
*.* @192.168.0.1 表示将本机的日志记录到192.168.0.1这台服务器上。
3.重启2台服务器日志服务
/etc/init.d/syslog restart
注意事项: 如无日志服务器本项不做加固
存在风险应急处理措施:删除或注释配置文件添加行并重启日志服务
是否实施:
2.3.3 加固内容:日志必须保存6个月或180天
描 述:日志保存的时间长,可以查询较长时间的日志
步 骤: 无
注意事项: 系统默认日志保存时间为永久,本项不做加固
存在风险应急处理措施:
是否实施:
2.3.4 加固内容:日志系统配置文件保护
描 述:日志文件的保护,可以防止攻击者对日志配置文件的访问
步 骤: 修改日志配置文件只有管理员可读
chmod 400 /etc/syslog.conf
注意事项: 无
存在风险应急处理措施: 无风险。回退措施:chmod 644 /etc/syslog.conf
是否实施:
2.4 服务优化
2.4.1 加固内容:关闭xinetd控制服务
描 述:关闭不需要的服务可以提高系统的安全性,也可以优化系统。
步 骤:修改/etc/xinetd.d/下各服务的配置文件:
把 disable = no 改为 yes
保存退出,重启xinetd
#service xinetd restart
需要关闭的服务:
telnet klogin kshell ntalk tftp
注意事项: ntalk也许会没有没有
存在风险应急处理措施: 不存在风险。回退措施:配置文件里的 disable = yes 改为 no ,重启xinetd服务
是否实施:
2.4.2 加固内容:关闭FTP服务(可选)
描 述:关闭不需要的服务,可以提高系统安全性
步 骤: 1. 闭ftp服务:
service vsftpd stop
2.禁止开机启动:
chkconfig vsftpd off
注意事项: 无
存在风险应急处理措施: 不存在风险。1.启动ftp服务:service vsftpd start 2.设置开机启动ftp服务:chkconfig vsftpd on
是否实施:
2.4.3 加固内容:关闭sendmail服务(可选)
描 述: 关闭sendmail服务可以防止利用此服务对系统进行攻击。
步 骤:1.关闭sendmail服务:
service sendmail stop
2.禁止开机启动:
chkconfig sendmail off
注意事项: sendmail关闭后系统将收不到邮件
存在风险应急处理措施: 无风险。回退操作: 1. service sendmail stop
2. chkconfig sendmail off
是否实施:
2.4.4 加固内容:关闭pop3、imap服务
描 述:关闭不需要的服务,可以提高系统安全性
步 骤: 1.关闭dovecot服务:
#service dovecot stop
2.禁止开机启动:
#chkconfig dovecot off
注意事项: linux的pop3和imap由dovecot管理,但是系统默认不装dovecot
存在风险应急处理措施: 邮件服务器上不能关闭此服务。回退方法:
1.启动dovecot服务:#service dovecot start
2.设置开机启动dovecot服务: #chkconfig dovecot on
是否实施:
2.4.5 加固内容:关闭图形化窗口服务
描 述:如果不需要可以进行关闭,防止潜在攻击行为
步 骤: 1.关闭图形化:
#init 3
2.设置开机不启动图形化
#vi /etc/inittab
修改开机启动runlevel为3
id:3:initdefault
注意事项: 重启后开机将不启动图形化
存在风险应急处理措施: 不存在风险。回退方法:#init 5
是否实施:
2.4.6 加固内容:关闭普通服务
描 述:关闭不需要的服务可以提高系统的安全性,也可以优化系统。
步 骤: 1.使用 service <服务名> stop 停止服务
2.使用命令“chkconfig --level <init级别> <服务名> off”设置服务在各init级别下开机不启动
3.可以使用 chkconfig –list 查看服务开机启动状态
4.需要关闭服务:
nfs、nfslock、autofs、ypbind
ypserv、yppasswdd、portmap
smb、netfs、lpd、apache
httpd、tux、snmpd、named
postgresql、mysqld、webmin、
kudzu、squid、cups、ip6tables
iptables、pcmcia、bluetooth
NSResponder、apmd、avahi-daemon
canna、cups-config-daemon
FreeWnn、gpm、hidd等
注意事项: nfs、httpd、iptables也许能用到。有些服务默认并没有安装
存在风险应急处理措施: 无。回退方法:
启动服务:service 服务名 start
设置开机启动服务:chkconfig 服务名 on
是否实施:
2.5 安全防护
2.5.1 加固内容:设置UMASK值
描 述: 设置umask值可以定义新建文件的访问权限
步 骤: 在/etc/profile添加行: umask=022
注意事项: 无
存在风险应急处理措施:修改后,新建文件权限默认为644.回退方法:改/etc/profile文件到加固前状态
是否实施:
2.5.2 加固内容:敏感文件的安全保护
描 述:可以防止攻击者对关键文件的攻击行为
步 骤:修改如下文件的权限:
#chmod 644 /etc/passwd
#chmod 644 /etc/group
#chmod 400 /etc/shadow
注意事项:
存在风险应急处理措施: 无。修改文件的权限到加固之前的权限。
是否实施:
linux加固目标和对象的更多相关文章
- Linux 虚拟文件系统四大对象:超级块、inode、dentry、file之间关系
更多嵌入式原创文章,请关注公众号:一口Linux 一:文件系统 1. 什么是文件系统? 操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统. 通常文件系统是用于存储和组织文件的一 ...
- Linux的线程同步对象:互斥量Mutex,读写锁,条件变量
进程是Linux资源分配的对象,Linux会为进程分配虚拟内存(4G)和文件句柄等 资源,是一个静态的概念.线程是CPU调度的对象,是一个动态的概念.一个进程之中至少包含有一个或者多个线程.这 ...
- linux加固
1. 账号和口令 1.1 禁用或删除无用账号 减少系统无用账号,降低安全风险. 操作步骤 使用命令 userdel <用户名> 删除不必要的账号. 使用命令 passwd -l <用 ...
- Linux下目标文件分析
文章来源:华清远见嵌入式学院,原文地址:http://www.embedu.org/Column/Column699.htm 作者:冯老师,华清远见嵌入式学院讲师. 1. 程序源码如下: 2.命令 g ...
- Linux进程间通信:IPC对象——信号灯集详解
作者:倪老师,华清远见嵌入式学院讲师. 一.信号灯概述 信号灯与其他进程间通信方式不大相同,它主要提供对进程间共享资源访问控制机制.相当于内存中的标志,进程可以根据它判定是否能够访问某些共享资源,同时 ...
- LINUX下目标文件的BSS段、数据段、代码段
http://blog.chinaunix.net/uid-27018250-id-3867588.html bss 未初始化的全局数据 data 已经初始化的全局数据 text 代码段,机器指令 r ...
- linux加固安全之密码复杂度
随着linux系统使用的普遍性,对linux用户及系统安全要求也随之提升,单纯从单位制度,用户安全意识上来规范,并不能杜绝弱口令,必须从技术上要求用户定时修改复杂的密码,从而提高用户和系统的安全性. ...
- OpenCVSSDpython目标探测对象检测
1.请参考大牛博客链接 https://www.aiuai.cn/aifarm822.html
- linux安全加固浅谈
难易程度:★★★阅读点:linux;python;web安全;文章作者:xiaoye文章来源:i春秋关键字:网络渗透技术 前言linux被越来越多的企业使用,因此掌握一些基本的linux安全加固是有必 ...
随机推荐
- php文件上传需要的配置
服务端配置(php.ini) 1.file_uploads=On //支持HTTP上传 2.upload_tmp_dir =”” //临时文件保存的目录 3.upload_max_filesize ...
- angularJS的MVC的用法
1.前端MVC: M:Model,数据库 V:HTML页面 C:Control控制器 比较很有名的前端MVC框架:ExtJs 2.angularJS的MVC框架搭建 index.html代码如下: & ...
- npm更新包
方法一手动跟新: 手动修改package.json中依赖包版本,执行npm install --force,强制从远程下载所有包更新本地包 方法二使用第三方插件: npm install -g npm ...
- 微软企业库5.0 学习之路——第七步、Cryptographer加密模块简单分析、自定义加密接口及使用—下篇
在上一篇文章中, 我介绍了企业库Cryptographer模块的一些重要类,同时介绍了企业库Cryptographer模块为我们提供的扩展接口,今天我就要根据这些 接口来进行扩展开发,实现2个加密解密 ...
- nginx应用场景,特性,目录结构,常用模块,内置变量,URL和URI,http状态码,配置文件详解
1.nginx介绍 1丶俄罗斯人开发的,开源www服务软件 2丶软件一共780K 3丶nginx本身是一款静态(html,js,css,jpg等)www软件 4丶静态小文件高并发,同时占用的资源很少, ...
- NoSQL 数据库应用
类型 部分代表 特点 列存储 Hbase Cassandra Hypertable 顾名思义,是按列存储数据的.最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查 ...
- 每一对顶点间最短路径的Floyd算法
Floyd思想可用下式描述: A-1[i][j]=gm[i][j] A(k+1)[i][j]=min{Ak[i][j],Ak[i][k+1]+Ak[K+1][j]} -1<=k<=n ...
- 从零开始做SSH项目(一)
1.数据库脚本 用户表 CREATE TABLE `ybl`.`userinfo`( `id` INT NOT NULL AUTO_INCREMENT, `email` ) NOT NULL, `id ...
- 子查询在INSERT语句中的应用
在使用INSERT语句的时候,一般都是使用它向数据库中一条条的插入数据,比如: INSERT INTO MyTable(FId,FName,FAge)VALUES(1,"John" ...
- 【BZOJ 3262】 3262: 陌上花开 (CDQ分治)
3262: 陌上花开 Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A ...