运维安全

一、服务器配置

1、软件包选择:全不选,安装最小化的系统,不安装图形界面
2、root密码:必须超过8位,并且有符号和字母数字。
3、精简服务:关掉以下服务项
kudzu cpuspeed isdn portmap nfslock rpcidmapd rpcgssd bluetooth netfs pcscd apmd hidd autofs hplip cups gpm xfs avahi-daemon yum-updatesd firstboot haldaemon
4、数据分区 /home 或 /data 应使用 nodev,nosetuid,nosetgid 挂载
5、所有服务的启动脚本应为root权限,并且为755属性
6、web服务器只开放80与22端口
7、数据库服务器只开放3306与22端口
8、除80,443和22,udp161(snmp),5666(nrpe)外,不允许其他服务LISTEN外网IP,161和5666端口必须限制IP
9、如无必要,禁止开启FTP服务,FTP密码传输为明文,容易被监听。
10、禁止使用root权限运行任何服务
11、设置内核参数net.ipv4.tcp_syncookies = 1,打开syncookie支持,防止普通级别的synflood
12、设置内核参数net.ipv4.conf.all.log_martians = 1,开启arp地址变更的记录功能,以便发现arp spoof攻击

二、设置文件安全属性

禁止非root用户执行/etc/rc.d/init.d/下的系统命令
[[email protected] ~]# chmod -R 700 /etc/rc.d/init.d/*

chmod -R 755 /etc/rc.d/init.d/* #恢复默认设置

给下面的文件加上不可更改属性,从而防止非授权用户获得权限
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
chattr +i /etc/services #给系统服务端口列表文件加锁,防止未经许可的删除或添加服务
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/services #显示文件的属性
注意:执行以上权限修改之后,就无法添加删除用户了。
如果再要添加删除用户,需要先取消上面的设置,等用户添加删除完成之后,再执行上面的操作
chattr -i /etc/passwd #取消权限锁定设置
chattr -i /etc/shadow
chattr -i /etc/group
chattr -i /etc/gshadow
chattr -i /etc/services #取消系统服务端口列表文件加锁
现在可以进行添加删除用户了,操作完之后再锁定目录文件

限制不同文件的权限
chattr +a .bash_history #避免删除.bash_history或者重定向到/dev/null
chattr +i .bash_history
chmod 700 /usr/bin 恢复 chmod 555 /usr/bin
chmod 700 /bin/ping 恢复 chmod 4755 /bin/ping
chmod 700 /usr/bin/vim 恢复 chmod 755 /usr/bin/vim
chmod 700 /bin/netstat 恢复 chmod 755 /bin/netstat
chmod 700 /usr/bin/tail 恢复 chmod 755 /usr/bin/tail
chmod 700 /usr/bin/less 恢复 chmod 755 /usr/bin/less
chmod 700 /usr/bin/head恢复 chmod 755 /usr/bin/head
chmod 700 /bin/cat 恢复 chmod 755 /bin/cat
chmod 700 /bin/uname 恢复 chmod 755 /bin/uname
chmod 500 /bin/ps 恢复 chmod 755 /bin/ps

时间: 2024-08-05 14:44:01

运维安全的相关文章

51CTO持续更新《通哥的运维笔记》

<通哥的运维笔记>将持续在51CTO网站更新,希望大家多多关注.互相学习,后期,我将会退出<通哥的运维笔记>系列视频教程,希望带给大家最大的收获,帮助大家更好的学习.进步.<通哥的运维笔记>主要从linux系统管理.虚拟化.cloudstack云平台以及网络管理之CCNA.CCNP.CCIE,等等方面深入讲解.

linux运维升级路线

运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火--(相对表示就是 Python 比较火) 之前写过运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能算非常精通,但是熟悉和熟练还是相对可以的. 初级篇 linux运维人员常用工具拓扑详见: 1.rsync工具 很多地方经常会用到rsync工具,实施几台服务器的

网络运维调查

我想在北京就业 通过百度我知道工作职位仅在北京地区网络运维的职位有2668个,朝阳区276个,东城33个,海淀258个,石景山15个,延庆2个,西城48个,昌平67个,丰台74个,怀柔4个,通州28个,密云3个,大兴57个,房山5个,门头沟3个,顺义18个.薪资方面,4001~6000元每个月的有793个,6001~8000元每个月的有1059个,8001~10000元每个月的有709个,10001~15000元每个月的有509个,15001~20000元每个月的有301个,20001~3000

自动化运维工具介绍

运维目标有三个阶段,第一是追求稳定性,第二是追求标准化,第三是追求自动化.对于第三阶段来说,什么是运维自动化呢?简单地讲,运维自动化就是将日常重复性工作按照事先设定好的规则,在一定时间范围内自动化运行,而不需要人工参与.接下来简单介绍运维自动化工具,要了解运维平时用到的自动化工具,就需要了解运维人员的日常工作有哪些. 一.运维的日常工作 运维的日常工作可以总结为以下四个部分,分别是: (1) 系统安装 (2) 应用程序配置(Configuration) (3) 命令执行与控制(Command a

决心书-马洪彬-老男孩教育Linux运维脱产班38期

我是马洪彬,  88年的, 来自河北保定. 之前做运维监控的时候才开始接触Linux, 感觉就像打开了另一个世界的大门.  先是买书看, 后来找视频跟着学. 然而自学的过程痛苦而低效, 新鲜感很快就没了, 渐渐开始怀疑自己是否适合走运维这条路. 可是再一想, 年龄已经不小了, 再不拼就真的没机会了. 所以辞职报了脱产班, 全身心投入学习充电! 我的目标是在学完找工作的时候, 能拿到15k+的offer, 不怕目标高, 就怕你不敢要!

Python自动化运维课程学习--Day3

本文为参加老男孩Python自动化运维课程第三天学习内容的总结. 大致内容如下: 1.文件操作 2.字符编码转码相关操作 3.函数 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 python2.7.12 --Python IDE: PyCharm 2016.3.2 一.文件操作: 1.文件操作流程:以只读.写(覆盖写).追加写.读写.追加读写.二进制读写等模式打开文件 ==> 得到文件句柄,并

运维python进行(一) nmap扫描端口

介绍 python-nmap是基于系统nmap命令的一个端口扫描工具,使用简单方便. 最近为了加强服务器安全性和监管,需要每天把公司服务器开放端口扫描记录,一旦出现增加减少能发现. 之前使用shell写过一个https://github.com/bashhu/monitor-shell/blob/master/python-script/scan_port.sh 最近打算完善一下我们的运维平台,重新编写了脚本,方便平台的调用 https://github.com/bashhu/monitor-s

运维python

作为一名合格的运维你会慢慢发现不掌握一些开发的知识,慢慢的会进入一个瓶颈期.因为大多数时候都在做一些重复事情或者寻找新的工具来解放你现在重复事情. 俗话说的好,自己动手丰衣足食,我决定自己学一下python解决一下我现在一些重复无意义的事情. 在读完简明的python教程以后决定写一些例子来练习: 运维python进行(一) nmap扫描端口 更新中...

Linux运维(十)-2016-12-9整理

也有段时间没有整理面试题目了,这几天呢,完成了2场实习生和1场校招,十分郁闷,为什么金融运维一点都不关注技术,在乎我的学校成绩,我尼玛想说,学校那么水的课程能说明什么,跟技术有一丁丁点关系吗?我学业成绩不好,就能否定我的专业岗位基础不行吗?唉,劳资想说,你如果质疑我的能力,你就问我,劳资要是被你虐倒是我算我输,学艺不精我就服,看过去有球用. 这辈子职业生涯都不想进外包和IDC这两种类型的公司,就是TM打杂的,薪资还低,关键是不厚道,比如垃圾胜蓝.这回校招那家是我之前就提到的那家,大多数人对我是认

运维版MySQL增删改查

整理是最好的记忆 运维经常用到的sql语句,长期更新~~~~~ 1.查看有哪些用户 mysql> select user,host from mysql.user; +------------+-----------+ | user       | host      | +------------+-----------+ | root       | 127.0.0.1 | | mysql_data | localhost | | root       | localhost | | zab