重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如何实现linux操作系统的安全加固?
成都创新互联-专业网站定制、快速模板网站建设、高性价比高唐网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式高唐网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖高唐地区。费用合理售后完善,10余年实体公司更值得信赖。
1、用户权限管理
合理分配用户账号以及用户权限。根据用户的业务需求配置其最小的用户权限。对于一些重要的文件应该设置合理的权限,避免没有经验的管理员执行误操作而造成巨大的损失。对于用户的密码应该设置复杂,长度至少大于8位。以下是有关用户权限管理以及密码策略的一些命令和配置文件,可根据实际情况作出相应的更改。
2、日志分析
启用日志记录功能,记录系统安全事件,方便管理员分析日志文件及及时处理系统故障。
3、端口管理
关闭不必要的端口
4、日常巡检
定期对操作系统基础运行情况进行巡检,有助于了解设备的运行情况以及发现故障隐患。
应邀回答行业问题
Linux系统广泛被应用在服务器上,服务器存储着公司的业务数据,对于互联网公司数据的安全至关重要,各方面都要都要以安全为最高优先级,不管是服务器在云端还在公司局域网内,都要慎之又慎。
如果黑客入侵到公司的Linux服务器上,执行下面的命令,好吧,这是要彻底摧毁的节奏,5分钟后你只能呵呵的看着服务器了,为什么要seek呢?给你留个MBR分区。
dd if=/dev/zero of=/dev/sda bs=4M seek=1
Linux系统的安全加固可分为系统加固和网络加固,每个企业的业务需求都不一样,要根据实际情况来配置。比如SSH安全、账户弱口令安全、环境安全、关闭无用服务、开启防火墙等,已经Centos7为例,简单说下linux系统SSH网络安全加固。
SSH安全
将ssh服务的默认端口22修改为其他端口,并限制root用户登陆,配置firewall允许ssh端口通过。
[root@api ~]#sed -i 's#Port 22#Port 6022#' /etc/ssh/sshd_config
[root@api ~]#echo 'PermitRootLogin no' /etc/ssh/sshd_config
[root@api ~]# firewall-cmd --zone=public --add-port=6022/tcp --permanent
[root@api ~]# firewall-cmd --reload
限制访问ssh的用户和IP
[root@api ~]#echo 'AllowUsers NAME' /etc/ssh/sshd_config
[root@api ~]# echo 'sshd:xxx..x.x:allow' /etc/
hosts.allow
[root@api ~]# systemctl restart sshd
禁止ping测试服务器,禁止IP伪装。
[root@api ~]# echo 1 /proc/sys/net/ipv4/icmp_echo_ignore_all
[root@api ~]# echo nospoof on /etc/host.conf
在Centos7以后iptables将被firewall替代,当然我们还能够使用iptables,首先需要删除firewall后,才能够使用iptables,技术总是在进步的,老的会慢慢被替代。
Linux系统安全加固还有很多,想要继续可以查阅资料。
Linux系统基本操作
文件结构图及关键文件功能介绍
Linux文件结构
Linux文件结构图
二级目录
| 目录 | 功能 |
| /bin | 放置的是在单人维护模式下能被操作的指令,在/bin底下的指令可以被root与一般账号所使用 |
| /boot | 这个目录只要在放置开机会使用到的文件,包括 Linux核心文件以及开机选单与开机所需配置的文件等等 |
| /dev | 在Linux系统上,任何装置与接口设备都是以文件的形态存在于这个目录当中的 |
| /etc |
系统主要的配置文件几乎都放在这个目录内,例如人员账号密码各种服务的启动档,系统变量配置等
|
| /home | 这个是系统默认的用户家目录(home directory) |
| /lib | /lib放置的则是在开机时会用到的函式库,以及在/lib或/sbin底下的指令会呼叫的函式库 |
| /media | /media底下放置的是可以移出的装置,包括软盘、光盘、DVD等等装置都挂载于此 |
| /opt | 给第三方协议软件放置的目录 |
| /root | 系统管理员(root)的家目录 |
| /sbin | 放置/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需的指令。 |
| /srv | srv可视为[service]的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录 |
| /tmp | 这是让一般使用者或是正在执行的程序暂时放置文件的地方 |
文件
账号和权限
系统用户
超级管理员 uid=0
系统默认用户 系统程序使用,从不登录
新建普通用户 uid大于500
/etc/passwd
/etc/shadow
用户管理
权限管理
解析文件权限
文件系统安全
查看权限:ls -l
修改权限:
**chmod **
** chgrp**
设置合理的初始文件权限
很奇妙的UMASK:
umask值为0022所对应的默认文件和文件夹创建的缺省权限分别为644和755
文件夹其权限规则为:777-022-755
文件其权限规则为:777-111-022=644(因为文件默认没有执行权限)
修改UMASK值:
1、直接在命令行下 umask xxx(重启后消失)
2、修改/etc/profile中设定的umask值
系统加固
锁定系统中多余的自建账号
检查shadow中空口令账号
检查方法:
加固方法:
使用命令passwd -l 用户名 锁定不必要的账号
使用命令passwd -u 用户名解锁需要恢复的账号
使用命令passwd 用户名 为用户设置密码
设置系统密码策略
执行命令查看密码策略设置
加固方法:
禁用root之外的超级用户
检测方法:
awk -F ":" '( 1}' /etc/passwd
加固方法:
** passwd -l 用户名**
****
限制能够su为root的用户
查看是否有auth required /libsecurity/pam_whell.so这样的配置条目
加固方法:
重要文件加上不可改变属性
把重要文件加上不可改变属性
Umask安全
SSH安全:
禁止root用户进行远程登陆
检查方法:
加固方法:
更改服务端口:
屏蔽SSH登陆banner信息
仅允许SSH协议版本2
防止误使用Ctrl+Alt+Del重启系统
检查方法:
加固方法:
设置账号锁定登录失败锁定次数、锁定时间
检查方法:
修改账号TMOUT值,设置自动注销时间
检查方法:
cat /etc/profile | grep TMOUT
加固方法:
vim /etc/profile
增加
TMOUT=600 无操作600秒后自动退出
设置BASH保留历史命令的条目
检查方法:
cat /etc/profile | grep HISTSIZE
加固方法:
vim /etc/profile
修改HISTSIZE=5即保留最新执行的5条命令
设置注销时删除命令记录
检查方法:
cat /etc/skel/.bash_logout 增加如下行
rm -f $HOME/.bash_history
这样,系统中的所有用户注销时都会删除其命令记录,如果只需要针对某个特定用户,,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history文件增加相同的一行即可。
设置系统日志策略配置文件
日志的主要用途是 系统审计 、监测追踪和分析。为了保证 Linux 系 统正常运行、准确解决遇到的各种样统问题,认真地读取日志文件是管理员的一项非常重要任务。
UNIX/ Linux 采用了syslog 工具来实现此功能,如果配置正确的 话,所有在主机上发生的事情都会被记录下来不管是好还是坏的 。
检查方法:
cat /etc/profile | grep HISTSIZE
确定syslog服务是否启用
查看syslogd的配置,并确认日志文件是否存在
阻止系统响应任何从外部/内部来的ping请求
加固方法:
echo 1 /proc/sys/net/ipv4/icmp_echo_ignore_all
查看 /etc/passwd 文件查看是否有无用的账号,如果存在则删除,降低安全风险。
操作步骤:
操作步骤:
操作步骤
操作步骤
使用命令 vim /etc/pam.d/su 修改配置文件,在配置文件中添加行。
例如,只允许admin组用户su到root,则添加 auth required pam_wheel.so group=admin 。
【可选】为了方便操作,可配置admin支持免密sudo:在 /etc/sudoers 文件中添加 admin ALL=(ALL) NOPASSWD:ALL
为了防止使用"su"命令将当前用户环境变量带入其它用户,修改/etc/login.defs添加ALWAYS_SET_PATH=yes并保存。
操作步骤
操作步骤:
查看所有服务列表 systemctl list-units --type=service
操作步骤
使用命令 vim /etc/ssh/sshd_config 编辑配置文件。
配置文件修改完成后,重启sshd服务生效(systemctl restart sshd)。
操作步骤
修改/etc/profile 配置文件,添加行 umask 027 , 即新创建的文件属主拥有读写执行权限,同组用户拥有读和执行权限,其他用户无权限。
操作步骤
修改 /etc/profile 配置文件,设置为 TMOUT=600, 表示超时10分钟无操作自动退出登录。
操作步骤
Linux系统默认启用以下类型日志,配置文件为 /etc/rsyslog.conf:
通过上述步骤,可以在 /var/log/history 目录下以每个用户为名新建一个文件夹,每次用户退出后都会产生以用户名、登录IP、时间的日志文件,包含此用户本次的所有操作(root用户除外)
服务器安全加固 - Linux - wubolive - 博客园