linux服务器安全加固?服务器安全加固方案
服务器安全加固 - Linux
查看/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-博客园
系统加固之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
在Linux中对Nginx进行安全加固
在IP为x.x.x.x的服务器上安装nginx,确保Linux系统为nginx环境。
配置nginx账号锁定策略,降低被攻击概率。
第一步,查看nginx的锁定状态。
命令:passwd-S nginx
若结果出现“Password locked”,则说明锁定成功。
若结果没有出现“Password locked”,则说明没有锁定。
这时可以通过执行命令“passwd-l nginx”来进行锁定。
第二步,对nginx安全加固的建议。
1)nginx服务使用非root用户(如nginx,nobody)启动。
命令:useradd-s/sbin/nologin-M nginx
在配置文件中启用user nginx nginx;
2)确保启动用户的状态为锁定状态,可执行命令“passwd-l”(如passwd-l nginx)来锁定nginx服务的启动用户。
格式:passwd-l
命令:passwd-l nginx
格式:passwd-S
命令:passwd-S nginx
若结果出现“Password locked”,则说明锁定成功。
3)在配置文件nginx.conf中,把nginx启动用户修改为nginx或nobody。(如user nginx;)
注意:操作时建议做好记录或备份。必须使用命令“service nginx reload”重启nginx。
修改nginx服务启动账号,降低被攻击概率。
在配置文件nginx.conf中,把nginx启动用户修改为nginx或nobody。(如user nginx;)
注意:操作时建议做好记录或备份。必须使用命令“service nginx reload”重启nginx。
隐藏nginx后端服务指定Header(如X-Powered-By)。
在配置文件nginx.conf(或主配置文件中的inlude文件)中,在http节点下配置proxy_hide_header项,增加或修改为
注意:操作时建议做好记录或备份。必须使用命令“service nginx reload”重启nginx。
任意文件读取入侵防范。
在配置文件nginx.conf中,把“location/path”改为“location/path/”,以/结尾;把“root/;”改为“root/path/;”,以/结尾。
配置文件nginx.conf修改如下:
注意:操作时建议做好记录或备份。必须使用命令“service nginx reload”重启nginx。
针对Nginx SSL协议进行安全加固服务配置。
Nginx SSL协议采用TLSv1.2的加密策略来进行安全加固。
在配置文件nginx.conf(或主配置文件中的inlude文件)中,在server节点下配置ssl_protocols项,增加或修改为
注意:操作时建议做好记录或备份。必须使用命令“service nginx reload”重启nginx。
确认nginx是否支持OpenSSL。
命令:nginx-V
若结果显示“built with OpenSSL”,则说明nginx支持OpenSSL。
反之,则需要重新编译nginx。