Linux安全加固的常用方法
创建普通用户
useradd fczxadmin
echo "xxzx#2017admin" | passwd --stdin xxzxadmin
禁止root用户直接登陆SSH
sed -i 's/\(PasswordAuthentication\) yes/\1 no/' /etc/ssh/sshd_config
配置用户最小权限
chmod 644 /etc/passwd
chmod 400 /etc/shadow
chmod 644 /etc/group
许多网络服务使用的是Linux系统,安装了Apache服务器软件。容易受到黑客用NMAP来扫描web网站,现分享一个防范经验。
我样可以通过设置,让Linux对NMAP扫描不理彩。即用iptables工具来过滤网络信息,让系统无法回应扫描请求的信息。以
此来提高服务器的安全性。
需要运行如下命令:www.2cto.com
#iptables -F#iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j Drop#iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j Drop#iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j Drop#iptables -A INPUT -p tcp --tcp-flags SYN,SYN --dport 80 -j Drop
echo "echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all">>/etc/rc.d/rc.local
先不让对方PING到
禁用用户登录系统
usermod -s /sbin/nologin wangshibousermod -L 用户 //锁定帐号,-L:lock
usermod -U 用户 //解锁帐号,-U:unlock
Linux使用PAM锁定多次登陆失败的用户(含重置错误次数)
/etc/pam.d/sshd (远程ssh)
/etc/pam.d/login (终端)
在第一行下即#%PAM-1.0的下面添加:
auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=1200
各参数解释:
even_deny_root 也限制root用户;
deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;
手动解除锁定:
查看某一用户错误登陆次数:
pam_tally –-user
例如,查看work用户的错误登陆次数:
pam_tally –-user work
清空某一用户错误登陆次数:
pam_tally –-user –-reset
例如,清空 work 用户的错误登陆次数,
pam_tally –-user work –-reset
faillog -r 命令亦可。
如果前几条没生效的话,也可以使用命令:
pam_tally2 –u tom --reset将用户的计数器重置清零(SLES 11.2下用此命令才重置成功)
查看错误登录次数:pam_tally2 –u tom
查看用户登录失败的次数
[root@node100 pam.d]# pam_tally2 --user redhat
Login Failures Latest failure From
redhat 7 07/16/12 15:18:22 tty1
解锁指定用户
[root@node100 pam.d]# pam_tally2 -r -u redhat
Login Failures Latest failure From
redhat 7 07/16/12 15:18:22 tty1
密码复杂度设置
rpm -qa | grep cracklib
/etc/login.defs详解:
PASS_MAX_DAYS 99999 #密码的最大有效期, 99999:永久有期
PASS_MIN_DAYS 0 #是否可修改密码,0可修改,非0多少天后可修改
PASS_MIN_LEN 5 #密码最小长度,使用pam_cracklib module,该参数不再有效
PASS_WARN_AGE 7 #密码失效前多少天在用户登录时通知用户修改密码
chage -l root
vi /etc/pam.d/system-auth
password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
它表示密码必须至少包含一个大写字母(ucredit),两个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit)
可用参数说明
debug
此选项使模块的信息写入到syslog(3),显示模块的行为(此选项不写密码信息到日志文件)。
type=XXX
默认的动作是模块使用以下提示时,要求口令:“新的UNIX密码:“和”重新输入UNIX密码:“。默认的Word UNIX可以被替换为这个选项。
retry=N
改变输入密码的次数,默认值是1。就是说,如果用户输入的密码强度不够就退出。可以使用这个选项设置输入的次数,以免一切都从头再来。
difok=N
默认值为10。这个参数设置允许的新、旧密码相同字符的个数。不过,如果新密码中1/2的字符和旧密码不同,则新密码被接受。
difignore=N
多少个字符的密码应收到difok将被忽略。默认为23
minlen=N
新的最低可接受的大小密码(加一个,如果没有禁用学分这是默认值)。除了在新密码的字符数,贷方(在长度+1),给出了各种人物的不同种类(其他,大写,小写,数字)。此参数的默认值是9,它是一个老式的UNIX密码的字符相同类型的所有好,但可能过低,利用一个MD5的系统增加安全性。请注意,有一个在Cracklib本身长度的限制,一“的方式太短“4极限是硬编码和定义的限制(6),将不参考minlen检查对。如果你想允许密码短短5个字符,你不应该使用这个模块。
dcredit=N
限制新密码中至少有多少个数字。
ucredit=N
限制新密码中至少有多少个大写字符。
lcredit=N
限制新密码中至少有多少个小写字符。
ocredit=N
限制新密码中至少有多少个其它的字符。
批量执行
cp /etc/profile /etc/profile_lxlbak
cp /etc/login.defs /etc/login.defs_lxlbak
cp /etc/pam.d/sshd /etc/pam.d/sshd_lxlbak
cp /etc/pam.d/system-auth /etc/pam.d/system-auth_lxlbak
sed -i '/PASS_WARN_AGE/s/7/30/' /etc/login.defs
sed -i '/PASS_MIN_LEN/s/5/8/' /etc/login.defs
sed -i '/PASS_MAX_DAYS/s/99999/180/' /etc/login.defs
sed -i '/PASS_MIN_DAYS/s/0/6/' /etc/login.defs
echo 'TMOUT=600' >>/etc/profile
ls -la /etc/passwd
ls -la /etc/shadow
ls -la /etc/group
chmod 644 /etc/passwd
chmod 400 /etc/shadow
chmod 644 /etc/group
ls -la /etc/passwd
ls -la /etc/shadow
ls -la /etc/group
sed -i "/#%PAM-1.0/a\auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 even_deny_root root_unlock_time=1200" /etc/pam.d/sshd
sed -i '/#%PAM-1.0/a\password required pam_cracklib.so try_first_pass retry=5 difok=5 minlen=10 ucredit=-1 lcredit=-1 ocredit=-1 dcredit=-1' /etc/pam.d/system-auth
service sshd restart
Linux安全加固的常用方法相关推荐
- linux将db2账户添加到组_超实用的shell脚本--Linux安全加固设置,值得收藏
概述 近几年来Internet变得更加不安全了.网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏.截取和修改的风险也在增加. 只要有值得偷窃的东西就会有想办法窃取它的人.I ...
- linux系统加固标准,Linux系统加固标准规范.doc
Linux系统加固规范 山东省计算中心 TIME \@ "yyyy年M月" 20XX年6月 账号管理.认证授权 Linux-01-01-01 编号 Linux-01-01-01 名 ...
- 华纳云:Linux安全加固 #
Linux安全加固 # 账号和口令 # 1.1 禁用或删除无用账号 # 减少系统无用账号,降低安全风险. 操作步骤 使用命令 userdel <用户名> 删除不必要的账号. 使用命令 pa ...
- linux安全加固浅谈
难易程度:★★★ 阅读点:linux;python;web安全; 文章作者:xiaoye 文章来源:i春秋 关键字:网络渗透技术 前言 linux被越来越多的企业使用,因此掌握一些基本的linux安全 ...
- Linux服务器加固方案
前言:本人在几家小厂做开发,主Java,因人手问题,前端/安卓/服务器等都有涉猎.这里我结合网上各位大佬的经验和自己收获总结.对Linux服务器安全 和 防火墙的配置 和 服务器加固方案 进行简单的讲 ...
- linux服务器加固的命令,Linux 服务器安全加固
一.summary 随着互联网的发展,隐私以及安全被大家看的越来越重视,越来越多的重要交易正在通过网络完成,与此同时数据被损坏.截取和修改的风险也在增加.优秀的系统应当拥有完善的安全措施,应当足够坚固 ...
- linux 无响应_系统加固之Linux安全加固
Linux系统基本操作 文件结构图及关键文件功能介绍 Linux文件结构 Linux文件结构图 二级目录 目录 功能 /bin 放置的是在单人维护模式下能被操作的指令,在/bin底下的指令可以被roo ...
- linux安全加固(2)
目录: 1.BIOS 2.SSH安全 3.禁用telnet 4.禁用代码编译 5.ProFTP 6.TCPwrappers 7.创建一个SU组 8.root通知 9.history安全 10.欢迎信息 ...
- linux系统加固建议
1. 安装和升级 尽量选用最新的 Linux 发行版本,安装前拔掉网线,断开物理连接, 安装时建议用 custom 自定义方式安装软件包,数量以少为好, 一般来说服务器没有必要安装 X-windows ...
- linux安全加固_安全服务之安全评估与加固
0x01 前言 这篇水文主要记录了去一些单位进行安全评估及加固的一般流程和相关检查点及命令.一般大厂都有相关完整的资料和固定流程,这里所写的可能并不全面,不过在没做过的情况下也能参考参考. 如果有文中 ...
最新文章
- MorGain2020中文版
- 第十六周博客作业西北师范大学|李晓婷
- KMP经典算法与变形的应用(字符串parttern匹配问题)
- c 对一个mysql数据库进行操作_用C语言操作MySQL数据库
- css3 上线圆角效果
- 5 在java等于多少,java基础面试题之Java中的Math. round(-1. 5)等于多少
- BZOJ1031: [JSOI2007]字符加密Cipher
- python控制流水灯_B站智能防挡弹幕的一种python实现
- 计算机网络重点知识总结 谢希仁版,计算机网络谢希仁版网络层知识点总结
- memcached 与 redis 的区别和具体应用场景
- python之Character string
- 计算机网络工程师多久过期,软考网络工程师证书有效期
- Snagit 2020 for mac(最好用的屏幕截图软件)
- 手机射频功放指标介绍
- Python 生成一组随机数列表
- leetcode1776. 车队 II
- 3D模型欣赏:银发美女 ,性感女骑士
- 数显之家快讯:「SHIO世硕心语」2021年,中国不可错过的5大红利!
- mysql建表语句主键索引_MySQL添加主键、索引
- 【嵌入式08】STM32F103C8T6寄存器方式借助面包板点亮LED流水灯详解