服务器安全加固方法整理:

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服务器安全加固方法整理相关推荐

  1. 一台Linux服务器上挂载另一台Linux服务器文件系统的方法

    以下俩篇文章都讲了一台linux服务器挂载另外一台linux服务器文件系统的方法. 第一种: 目标:在服务器B上访问服务器A上指定的文件系统 首先要配置服务器A 编辑/etc/exports,加入: ...

  2. Linux主机安全加固方法使用开源软件fail2ban防护主机

    目录 常见的三种加固措施 一.主机基础安全加固(方法一) 1.密码足够的复杂 2.修改sh默认端口号 3.禁止 root 远程登录 4.Linux主机黑白名单限制远程连接地址 5.服务器之间通过密钥免 ...

  3. Windows操作系统远程Linux服务器传输文件方法(以EasyDSS云平台、EasyNVR上传部署为例)...

    本文转自博客:https://blog.csdn.net/black_3717/article/details/79769406 问题背景: 之前给客户部署我们一款EasyDSS云平台(配合EasyN ...

  4. linux的服务器查看流量,查看linux服务器流量的方法总结

    要查看linux服务器流量有点麻烦没那么直观与现成的方法,经使用总结方法有二种,安装第三方和自制shell脚本工具进行查看网卡流量. 方法一: 通用于linux系统,但安装方法有区别,centos系统 ...

  5. Linux 服务器安全加固 10条建议

    作者:研究僧 链接:https://cloud.tencent.com/developer/article/1623140 以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍, ...

  6. Linux服务器知识导图,整理分享一些 Linux思维导图(值得收藏)_网站服务器运行维护,Linux...

    Win10 改 Win7,BIOS 怎么设置?_网站服务器运行维护 Win10改Win7,BIOS设置方法:首先进入到BIOS界面:然后将"secure"改为disabled:接着 ...

  7. 查看Linux服务器raid信息笔记整理!

    原因: 有些情况下服务器系统不是自己装的,raid也不是自己配置的,或者当你接收一个岗位,远程登录系统后可能就不知道系统是否有做raid,raid级别?因此在这里博主总结一下Linux下查看软.硬ra ...

  8. iTerm2中配置SSH连接Linux服务器的快捷方法

    平时在Mac上使用iTerm2登录远程服务器时,总是需要手动输入ssh命令以及密码,比较麻烦. 再加上如果平时有多个远程服务器在使用,就意味着需要记住多组host地址和密码,就更麻烦了. 于是,便在网 ...

  9. linux服务器加固的命令,Linux 服务器安全加固

    一.summary 随着互联网的发展,隐私以及安全被大家看的越来越重视,越来越多的重要交易正在通过网络完成,与此同时数据被损坏.截取和修改的风险也在增加.优秀的系统应当拥有完善的安全措施,应当足够坚固 ...

  10. Linux服务器查看日志方法小结

    作为软件测试人员,会经常会到服务器上查看日志,然后给大家分享几个简单查看日志命名.仅供参考,有更好的可以留言分享. 1.进入日志文件所在的文件目录,比如: cd /testkuaibao/logs 2 ...

最新文章

  1. NFS共享服务挂载时出现“access denied by server while mounting”的解决方法
  2. (每日一题)P3723 [AH2017/HNOI2017]礼物(经典FFT)
  3. Android开发ADB的安装
  4. 字符A-Z - ABCD...XYZ
  5. Ubuntu中安装docker-compose
  6. Linux下用arptables防arp攻击
  7. idea maven web工程明明添加了maven lib的依赖,但启动web容器时始终报No Class Found?...
  8. optimized mysql_MySQL解释计划中“Select tables optimized away”的含义
  9. excel排名_排名数据应该用什么图表?Excel有这样的图表吗?- Excel图表教程
  10. php simplexml 删除,请问一下PHP SimpleXML怎么-删除xpath节点
  11. asp.net oracle 问号,ASP.NET中文变问号问题解决方案
  12. 使用MonkeyTest对Android客户端进行压力测试 自动化代码
  13. 【手势识别】基于matlab GUI肤色手势识别(带面板)【含Matlab源码 1650期】
  14. 新版傻妞对接QQ完整版(10月24日)
  15. ug80浩强工具_ug浩强工具-ug浩强工具下载 2.59 免费版 - 河东下载站
  16. 傅里叶变换与拉普拉斯变换
  17. java 鸡尾酒排序_十大经典排序【Java实现,手工作坊式】
  18. catia 二次开发:查找点和面,代码label,listbox,textbox,右上角关闭失效,vb的第一个小程序
  19. 苹果开发的资源URL链接
  20. 华为机试——字符串压缩(stringZip)

热门文章

  1. HTML学生网页设计作业成品~化妆品官方网站设计与实现(HTML+CSS+JS)共8个页面
  2. Unity之VideoPlayer组件——循环播放视频
  3. CUDA 学习(十四)、纹理内存
  4. 百度文库文字下载(python原码)
  5. JavaScript培训
  6. 华硕UX433FN安装Win黑苹果双系统
  7. JavaEE 企业级分布式高级架构师(七)MongoDB学习笔记(3)
  8. JS中height、clientHeight、scrollHeight、offsetHeight区别
  9. document.documentElement.clientHeight 与 document.body.clientHeight
  10. QuartZ 配置第一次不执行后续正常执行