LINUX服务器安全加固方法整理
服务器安全加固方法整理:
1)–设置启用空闲激活、屏幕锁定、屏保和空闲激活时间
#
gconftool-2 --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
--type bool \
--set /apps/gnome-screensaver/idle_activation_enabled true
#
gconftool-2 --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
--type bool \
--set /apps/gnome-screensaver/lock_enabled true
#
gconftool-2 --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
--type string \
--set /apps/gnome-screensaver/mode blank-only
#
gconftool-2 --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
--type string \
--set /apps/gnome-screensaver/idle_delay 15
2)–设置密码复杂度
1、执行备份:
#`cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak`
2、修改策略设置:
可使用pam pam_cracklib module或pam_passwdqc module实现密码复杂度,两者不能同时使用。
pam_cracklib主要参数说明:
tretry=N:重试多少次后返回密码修改错误
difok=N:新密码必需与旧密码不同的位数
dcredit=N:N >= 0密码中最多有多少个数字;N < 0密码中最少有多少个数字
lcredit=N:小写字母的个数
ucredit=N:大写字母的个数
credit=N:特殊字母的个数
minclass=N:密码组成(大/小字母,数字,特殊字
#`vi /etc/pam.d/system-auth`
password requisite pam_pwquality.so这一行后增加 minlen=8 minclass=2
3)–设置登录超时、csh shell 下的自动超时变量
1、执行备份:
#cp -p /etc/profile /etc/profile_bak
#cp -p /etc/csh.cshrc /etc/csh.cshrc_bak
2、在/etc/profile文件增加以下两行:
#vi /etc/profile
TMOUT=180
export TMOUT
3、修改/etc/csh.cshrc文件,添加如下行:
#vi /etc/csh.cshrc
set autologout=30
改变这项设置后,重新登录才能有效
4)–设置口令锁定策略
1、执行备份:
#cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak
2、修改策略设置:
#vi /etc/pam.d/system-auth
增加下行代码到第二行
auth required pam_tally2.so deny=6 onerr=fail no_magic_root unlock_time=120
保存退出;
5)–修改密码有效期及最小长度
1、执行备份:
#cp -p /etc/login.defs /etc/login.defs_bak
2、修改策略设置:
#vi /etc/login.defs
修改PASS_MIN_LEN的值为8
修改PASS_MAX_DAYS的值为90
按要求修改PASS_MIN_DAYS/PASS_WARN_AGE的值
保存退出
6)–配置登录提示-是否更改telnet警告Banner
步骤1
修改文件/etc/motd的内容,如没有该文件,则创建它。
#echo "Authorized users only. All activity may be monitored and reported" > /etc/motd
步骤 2 修改Telnet回显信息
修改文件/etc/issue 和/etc/issue.net中的内容:
#echo "Authorized users only. All activity may be monitored and reported" > /etc/issue
#echo "Authorized users only. All activity may be monitored and reported" > /etc/issue.net
7)–禁止root用户远程登录系统
1、执行备份:
#cp -p /etc/securetty /etc/securetty_bak
#cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
2、禁止root用户远程登录系统
#vi /etc/securetty
#注释形如pts/x的行,保存退出,则禁止了root从telnet登录。
#vi /etc/ssh/sshd_config
修改PermitRootLogin设置为no并不被注释,保存退出,则禁止了root从ssh登录。
3、重启SSHD服务
#service sshd restart
8)–锁定无用帐户
1、执行备份:
#cp -p /etc/passwd /etc/passwd_bak
#cp -p /etc/shadow /etc/shadow_bak
2、锁定无用帐户:
#vi /etc/shadow
在需要锁定的用户名的密码字段前面加!,如test:!111QD1ju03H$LbV4vdBbpw.MY0hZ2D/Im1:14805:0:99999:7:::
9)–umask 027表示默认创建新文件权限为750 也就是rxwr-x—
1、执行备份:
cp -p /etc/profile /etc/profile_bak
cp -p /etc/csh.login /etc/csh.login_bak
cp -p /etc/csh.cshrc /etc/csh.cshrc_bak
cp -p /etc/bashrc /etc/bashrc_bak
cp -p /root/.bashrc /root/.bashrc_bak
cp –p /root/.cshrc /root/.cshrc_bak
2、修改umask设置:
#vi /etc/profile
#vi /etc/csh.login
#vi /etc/csh.cshrc
#vi /etc/bashrc
#vi /root/.bashrc
#vi /root/.cshrc
最后一行增加 umask 027,保存退出。
10)–配置提示信息
1、执行如下命令创建ssh banner信息文件:
#touch /etc/sshbanner
#chown bin:bin /etc/sshbanner
#chmod 644 /etc/sshbanner
#echo "Authorized users only. All activity may be monitored and reported" > /etc/sshbanner
2、修改/etc/ssh/sshd_config文件,添加如下行:
# vi /etc/ssh/sshd_config
Banner /etc/sshbanner
步骤 3 重启sshd服务:
#service sshd restart
11)–防止5个最近使用过的密码被用来设置为新密码
1、执行备份:
#cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak
2、创建文件/etc/security/opasswd,并设置权限:
#touch /etc/security/opasswd
#chown root:root /etc/security/opasswd
#chmod 600 /etc/security/opasswd
2、修改策略设置:
#vi /etc/pam.d/system-auth
增加 password required pam_unix.so remember=5
12)–关闭 ICMP 路由重定向
1、备份文件:
#cp -p /etc/sysctl.conf /etc/sysctl.conf_bak
2、执行:
#vi /etc/sysctl.conf
加上net.ipv4.conf.all.accept_redirects=0
执行
/sbin/sysctl -p
13)–增加不能通过ftp登录的用户
1、修改ftpusers文件,增加不能通过ftp登录的用户
首先需确定ftpusers文件位置,可以通过以下命令知道:
#cat /etc/pam.d/vsftpd
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed
其中file=/etc/vsftpd/ftpusers即为当前系统上的ftpusers文件。
修改文件(假设文件为/etc/ftpusers):
# vi /etc/vsftpd/ftpusers
在文件中增加以下用户,则该用户均不允许通过ftp登录:
sys
nuucp
listen
noaccess
nobody4
14)关闭匿名用户登入
#vi /etc/vsftpd/vsftpd.conf
yes调整为no
anonymous_enable=NO
15)增加操作日志配置
1.创建/etc/profile.d/cmdhistory.sh配置文件
vi /etc/profile.d/cmdhistory.sh
增加以下内容
#to avoid sourcing this file more than once
if [ "$AUDIT_INCLUDED" == "$$" ]; thenreturn
elsedeclare -r AUDIT_INCLUDED="$$"
fiexport HISTTIMEFORMAT='%F %T '
export HISTCONTROL=REMOTEHOSTNAME=`who am i | awk '{ print $NF }' |awk -F'(' '{ print $NF}' |awk -F')' '{ print $1}'`
if [ ! $REMOTEHOSTNAME ]; thenREMOTEHOST="127.0.0.1"REMOTEHOSTNAME="localhost"
elif [[ "$REMOTEHOSTNAME" = "" ]]; thenREMOTEHOST="127.0.0.1"REMOTEHOSTNAME="localhost"
elif [[ $REMOTEHOSTNAME = ":0.0" ]]; thenREMOTEHOST="0.0.0.0"
elif ( test -z "`echo $REMOTEHOSTNAME|awk '($1 ~/[0-9]+.[0-9]+.[0-9]+.[0-9]+/)'`" )thenREMOTEHOST=`awk '/'[^0-9a-zA-Z-]$REMOTEHOSTNAME[^0-9a-zA-Z-]*\\$'/ {print $1}' /etc/hosts`
elseREMOTEHOST=$REMOTEHOSTNAME
filogger -p local6.info -- SESSION=$$, from_remote_host=$REMOTEHOST, from_remote_hostname=$REMOTEHOSTNAME, USER=$USER, SHELL=$SHELL, PWD=$PWD, LOGINTIME=`date '+%Y-%m-%d %H:%M:%S'`, LOGIN="success"function history_to_syslog
{cmd=$(history 1 | tail -1)
cmd=$(echo $cmd |awk '{print substr($0,length($1)+2)}')
if [ "$cmd" != "$old_command" ]; then
logger -p local6.info -- SESSION=$$, from_remote_host=$REMOTEHOST, from_remote_hostname=$REMOTEHOSTNAME, USER=$USER, SHELL=$SHELL, PWD=$PWD, CMDTIME=`date '+%Y-%m-%d %H:%M:%S'`, CMD="${cmd}"
fi
old_command=$cmd
}
trap history_to_syslog DEBUG || EXIT
2.chmod 755 /etc/profile.d/cmdhistory.sh
3.source /etc/profile
4.执行如下命令增加配置,记录近端登录和操作日志:
echo “[ -f /etc/profile.d/cmdhistory.sh ] && . /etc/profile.d/cmdhistory.sh” >> /etc/bashrc
5.vi /etc/rsyslog.conf
增加
# Log user commands
local6.info /var/log/cmdhistory
6.重启
service rsyslog start
7.验证,文件里是否存在操作日志
cat /var/log/cmdhistory
LINUX服务器安全加固方法整理相关推荐
- 一台Linux服务器上挂载另一台Linux服务器文件系统的方法
以下俩篇文章都讲了一台linux服务器挂载另外一台linux服务器文件系统的方法. 第一种: 目标:在服务器B上访问服务器A上指定的文件系统 首先要配置服务器A 编辑/etc/exports,加入: ...
- Linux主机安全加固方法使用开源软件fail2ban防护主机
目录 常见的三种加固措施 一.主机基础安全加固(方法一) 1.密码足够的复杂 2.修改sh默认端口号 3.禁止 root 远程登录 4.Linux主机黑白名单限制远程连接地址 5.服务器之间通过密钥免 ...
- Windows操作系统远程Linux服务器传输文件方法(以EasyDSS云平台、EasyNVR上传部署为例)...
本文转自博客:https://blog.csdn.net/black_3717/article/details/79769406 问题背景: 之前给客户部署我们一款EasyDSS云平台(配合EasyN ...
- linux的服务器查看流量,查看linux服务器流量的方法总结
要查看linux服务器流量有点麻烦没那么直观与现成的方法,经使用总结方法有二种,安装第三方和自制shell脚本工具进行查看网卡流量. 方法一: 通用于linux系统,但安装方法有区别,centos系统 ...
- Linux 服务器安全加固 10条建议
作者:研究僧 链接:https://cloud.tencent.com/developer/article/1623140 以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍, ...
- Linux服务器知识导图,整理分享一些 Linux思维导图(值得收藏)_网站服务器运行维护,Linux...
Win10 改 Win7,BIOS 怎么设置?_网站服务器运行维护 Win10改Win7,BIOS设置方法:首先进入到BIOS界面:然后将"secure"改为disabled:接着 ...
- 查看Linux服务器raid信息笔记整理!
原因: 有些情况下服务器系统不是自己装的,raid也不是自己配置的,或者当你接收一个岗位,远程登录系统后可能就不知道系统是否有做raid,raid级别?因此在这里博主总结一下Linux下查看软.硬ra ...
- iTerm2中配置SSH连接Linux服务器的快捷方法
平时在Mac上使用iTerm2登录远程服务器时,总是需要手动输入ssh命令以及密码,比较麻烦. 再加上如果平时有多个远程服务器在使用,就意味着需要记住多组host地址和密码,就更麻烦了. 于是,便在网 ...
- linux服务器加固的命令,Linux 服务器安全加固
一.summary 随着互联网的发展,隐私以及安全被大家看的越来越重视,越来越多的重要交易正在通过网络完成,与此同时数据被损坏.截取和修改的风险也在增加.优秀的系统应当拥有完善的安全措施,应当足够坚固 ...
- Linux服务器查看日志方法小结
作为软件测试人员,会经常会到服务器上查看日志,然后给大家分享几个简单查看日志命名.仅供参考,有更好的可以留言分享. 1.进入日志文件所在的文件目录,比如: cd /testkuaibao/logs 2 ...
最新文章
- NFS共享服务挂载时出现“access denied by server while mounting”的解决方法
- (每日一题)P3723 [AH2017/HNOI2017]礼物(经典FFT)
- Android开发ADB的安装
- 字符A-Z - ABCD...XYZ
- Ubuntu中安装docker-compose
- Linux下用arptables防arp攻击
- idea maven web工程明明添加了maven lib的依赖,但启动web容器时始终报No Class Found?...
- optimized mysql_MySQL解释计划中“Select tables optimized away”的含义
- excel排名_排名数据应该用什么图表?Excel有这样的图表吗?- Excel图表教程
- php simplexml 删除,请问一下PHP SimpleXML怎么-删除xpath节点
- asp.net oracle 问号,ASP.NET中文变问号问题解决方案
- 使用MonkeyTest对Android客户端进行压力测试 自动化代码
- 【手势识别】基于matlab GUI肤色手势识别(带面板)【含Matlab源码 1650期】
- 新版傻妞对接QQ完整版(10月24日)
- ug80浩强工具_ug浩强工具-ug浩强工具下载 2.59 免费版 - 河东下载站
- 傅里叶变换与拉普拉斯变换
- java 鸡尾酒排序_十大经典排序【Java实现,手工作坊式】
- catia 二次开发:查找点和面,代码label,listbox,textbox,右上角关闭失效,vb的第一个小程序
- 苹果开发的资源URL链接
- 华为机试——字符串压缩(stringZip)
热门文章
- HTML学生网页设计作业成品~化妆品官方网站设计与实现(HTML+CSS+JS)共8个页面
- Unity之VideoPlayer组件——循环播放视频
- CUDA 学习(十四)、纹理内存
- 百度文库文字下载(python原码)
- JavaScript培训
- 华硕UX433FN安装Win黑苹果双系统
- JavaEE 企业级分布式高级架构师(七)MongoDB学习笔记(3)
- JS中height、clientHeight、scrollHeight、offsetHeight区别
- document.documentElement.clientHeight 与 document.body.clientHeight
- QuartZ 配置第一次不执行后续正常执行