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
姓名:黄婷 学号:19020100410 学院:电子工程学院
转自: https://blog.csdn.net/daqiang012/article/details/103947313?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162848234916780357255732%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162848234916780357255732&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-103947313.first_rank_v2_pc_rank_v29&utm_term=Linux%E7%B3%BB%E7%BB%9F&spm=1018.2226.3001.4449#t8
【嵌牛导读】Linux系统安全隐患及加固措施
【嵌牛鼻子】Linux系统 安全隐患及加固措施
【嵌牛提问】Linux系统如何保护?
【嵌牛正文】
用户账户以及登录安全
删除多余用户和用户组。Linux是多用户操作系统,存在很多种不一样的角色系统账号,当安装完成操作系统之后,系统会默认为未添加许用户组及用户,若是部分用户或是用户组不需要,应当立即删除它们,否则黑客很有可能利用这些账号,对服务器实施攻击。具体保留哪些账号,可以依据服务器的用途来决定。
关闭不需要的系统服务。操作系统安装完成之后,其会在安装的过程当中,会自主的启动各种类型的服务程序内容,对于长时间运行的服务器而言,其运行的服务程序越多,则系统的安全性就越低。所以,用户或是用户组就需要将一些应用不到的服务程序进行关闭,这对提升系统的安全性能,有着极大的帮助。
密码安全策略。在Linux之下,远程的登录系统具备两种认证的形式:即 密钥 与密码认证。其中,密钥认证的形式,主要是将 公钥 储存在远程的服务器之上, 私钥 存储在本地。当进行系统登陆的时候,再通过本地的私钥,以及远程的服务器公钥,进行配对认证的操作,若是认证的匹配度一致,则用户便能够畅通无阻的登录系统。此类认证的方式,并不会受到暴力破解的威胁。与此同时,只需要确保本地私钥的安全,使其不会被黑客所盗取即可,攻击者便不能够通过此类认证方式登陆到系统中。所以,推荐使用密钥方式进行系统登陆。
有效应用su、 sudo 命令。su命令的作用的是对用户进行切换。当管理员登录到系统之后,使用su命令切换到超级用户角色来执行一些需要超级权限的命令。但是由于超级用户的权限过大,同时,需要管理人员知道超级用户密码,因此su命令具有很严重的管理风险。
sudo命令允许系统赋予普通用户一些超级权限,并且不需普通用户切换到超级用户。因此,在管理上应当细化权限分配机制,使用sudo命令为每一位管理员服务其特定的管理权限。
远程访问及登陆认证安全
远程登录应用 SSH 登陆方式。telnet是一类存在安全隐患的登录认证服务,其在网络之上利用明文传输内容,黑客很容易通过结果telnet数据包,获得用户的登陆口令。并且telnet服务程序的安全验证方式存在较大的安全隐患,使其成为黑客攻击的目标。SSH服务则会将数据进行加密传输,能够防止 DNS 欺骗以及IP欺骗,并且传输的数据是经过压缩,在一定程度上保证了服务器远程连接的安全。
文件系统的安全
加固系统重要文件。在Linux系统中,如果黑客取得超级权限,那么他在操作系统里面就不会再有任何的限制地做任何事情。在这种情况下,一个加固的文件系统将会是保护系统安全的最后一道防线。管理员可通过 chattr 命令锁定系统一些重要文件或目录。
文件权限检查与修改。如果操作系统当中的重要文件的权限设置不合理,则会对操作系统的安全性,产生最为直接的影响。所以,系统的运行维护人员需要及时的察觉到权限配置不合理的文件和目录,并及时修正,以防安全事件发生。
安全设定/tmp、/var/tmp、/dev/shm。在该操作系统当中,其用于存放临时文件的目录,主要有两个,分别为/tmp与/var/tmp。它们有个共同特点,就是所有的用户可读可写和执行,这样就对系统产生了安全隐患。针对这两个目录进行设置,不允许这两个目录下执行应用程序。
系统软件安全
绝大多数的服务器遭受攻击是因为系统软件或者应用程序有重大漏洞。黑客通过这些漏洞,可以轻松地侵入服务器。管理员应定期检查并修复漏洞。最常见的做法是升级软件,将软件保持在最新版本状态。这样就可以在一定程度上降低系统被入侵的可能性。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)