linux 优化&安全运维&黑客攻防
优化:
可删除用户:adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher. :userdel games
可删除组:adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers. :groupdel games
不需要用户登录的用户,比如www供apache使用的用户可以关闭其登录功能 :usermod -s /sbin/nologin www
删除多余的登录欢迎信息:/etc/issue,/etc/issue.net,/etc/redhat-release,/etc/motd. #如果需要用户登录完之后显示/etc/issue.net信息的话在 /etc/ssh/sshd_config 加入
Banner /etc/issue.net
其他包含系统信息的文件:/etc/redhat-release, #/etc/motd 该文件会显示在用户终端,可以写一些通知例如:欢迎登录。
关闭快捷键重启:vim /etc/init/control-alt-delete.conf #exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
关闭多余的服务:
一般情况下不需要的服务:
anacron,auditd,autofs,avahi-daemon,avahi-dnsconfd,bluetooth,cpuspeed,firsboot,gpm,haldaemon,hidd,
ip6tables,ipsec,isdn,lpd,mcstrans,messagebus,netfs,nfs,nfslock,nscd,pcscd portmap,readahead_early,restorecond,
rpcgssd,rpcidmapd,rstatd,sendmail,setroubleshoot,yppasswdd ypsery. :chkconfig --level 345 anacron off
系统必须运行的服务:
| 服务名称 |
服务内容 |
| acpid | 电源管理 |
| apmd | 高级电源管理,可监控电池性能 |
| kudzu | 检测硬件变化 |
| crond | 为linux下自动安排的进程提供运行服务 |
| atd | 计划任务功能相识 |
| keytables | 装载镜像键盘 |
| iptables | 内置的防火墙 |
| xinetd | 支持多种网络服务的核心守护进程 |
| xfs | x windows 必须的服务 |
| network | 启动网络服务 |
| sshd | 远程安全登录 |
| syslog | 记录系统日志服务 |
关闭口令登录,使用key登录 :vim /etc/ssh/sshd_config #PasswordAuthentication no
重启sshd : /etc/rc.d/init.d/sshd restart
系统安全
用户权限:vim /etc/sudoers
让普通用户可以执行提权的命令:username ALL=(ALL)NOPASSWD:ALL #该用户可以提权sudo su -
让普通用户只可以执行某条特权命令:user01 ALL=/bin/more /etc/shadow , user01 ALL=NOPASSWD: /etc/init.d/httpd restart
简单防火墙配置 : /etc/hosts.allow /etc/host.deny #先匹配hosts.allow如有匹配则结束,没有则继续匹配。常用服务(sshd,vsftpd,sendmail)
例子:vim /etc/hosts.allow #sshd: 1.1.1.1 vim /etc/host.deny #sshd:ALL #拒绝除1.1.1.1外的sshd服务连接。
文件系统安全
:chattr -R +i #锁定该文件的权限 lsattr [-adlRvV] 查询文件属性。
文件权限检查和修改:
找出全部用户有写权限的文件和目录:find / -type f -perm -2 -o -perm -20 | xargs ls -al :find / -type f -perm -2 -o -perm -20 | xargs ls -ld
找出含有‘s’位的程序:find / -type f -perm -4000 -o -pperm -2000 -print | xargs ls -al #有S位可提权,尽可能降低。
找出所有含sudi和sgid的文件:find / -user root -perm -2000 -print -exec md5sum {} \; find / -user root -perm -4000 -print -exec md5sum {} \;
#可把该结果保存在一个文件里面,日后可用来对比权限查看服务器文件有没有被篡改
find / -nouser -o -nogroup #找出可以属主的文件,避免黑客利用。
tmp临时目录的权限控制:创建一个新的目录给予权限控制之后挂载到tmp下。
1 dd -f=/dev/zero of =/dev/tmpfs bs=1M count=1000
2 mke2fs -j /dev/tmpfs
3 cp -av /tmp /tmp.old
4 mount -o loop,noexec,nosuid,rw /dev/tmpfs /tmp
5 chmod 1777 /tmp
6 mv -f /tmp.old/* /tmp/
7 rm -rf /tmp.old
vim /etc/fstab
/dev/tmpfs /tmp ext3 loop,nosuid,noexec,rw 0 0 #如果tmp目录直接是挂载目录的话直接添加:loop,nosuid,noexec。 在/tmp 下写一个shell脚本,运行测试。
/dev/shm #共享内存设备,挂载属性修改 :tmpfs /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0.
Hacker攻防
chkrootkit后门rootkit检测工具,www.chkrootkit.org #用法 /usr/local/chkrootkit/chkrootkit
备份好chkrootkit入侵检测需要用到的系统命令:
mkdir /usr/share/.commands
cp `which --skip-alias awk cut echo find egrep id head ls netstat ps strings sed uname` /usr/share/.commands
/usr /local/chkrootkit/chkrootkit -p /usr/share/.commands/
RKHunter : /usr/local/bin/rkhunter -c #rootkit入侵检测工具2 #09 3 * * * /usr/local/bin/rkhunter --check --cronjob #每天运行
服务器被攻击后的处理思路
1.切断网络。 利用ROOT登陆输入:w #查看登陆过的用户。passwd -l username #锁定用户 : ps -aux | grep pts/1 && kill -9 id #踢掉非法用户
2.last 查看登陆日志.
3.其他系统日志 /var/log/messages #运行状态 /var/log/secure #登陆状态 .bash_history #历史命令
4.pidof httpd #找出该进程的所有进程ID # ls -al /proc/ID/exe #查看该进程的EXE文件信息 # ls -al /proc/ID/fd #该进程的完整执行信息。Linux下/proc目录简介
检查文件系统的完整性:rpm -Va #输出的结果中如果有M标记,那么该文件有可能已经给修改。
被入侵过后的实战分析
服务器流量跑满,ps,netstat --antp,top 查看无80端口的任何连接。 md5sum /bin/ps 查看几个命令的MD5是否一致。
more /var/log/secure |grep Accepted # 查看当天登陆成功的用户 #利用替换后的ps -antp 查找可疑进程。 #/mnt/bin/ls -al /proc/22785/exe #查找路劲
分析服务器上跑的业务,查看apache 日志 根据对应的黑客IP 找到WEB访问记录,得知黑客通过apache插件漏洞在服务器上创建文件。
找出问题,将重要数据备份,重新安装系统,修补漏洞。
linux 优化&安全运维&黑客攻防的更多相关文章
- 关于Linux主流框架运维工作剖析
LINUX是开源的,这也是最主要的原因,想学Windows,Unix对不起,没有源代码.也正是因为这样,LINUX才能够像雪球一样越滚越大,发展到现在这种规模.今天将为大家带来关于Linux主流框架运 ...
- Linux云自动化运维第三课
Linux云自动化运维第三课 一.正则表达式 1.匹配符 * ###匹配0到任意字符 ? ###匹配单个字符 [[:alpha:]] ###匹配单个字母 [[:lower:]] ###匹配单个小写字母 ...
- Linux云自动化运维第四课
Linux云自动化运维第四课 一.vim 1.vim光标移动 1)在命令模式下 :数字 ###移动到指定的行 G ###文件最后一行 gg ###文件第一行 2)在插入模式下 i ###光标所 ...
- Linux云自动化运维第五课
Linux云自动化运维第五课 一.进程定义 进程就是cpu未完成的工作 二.ps命令 ps a ###关于当前环境的所有进程 x ###与当前环境无关的所有进程 f ###显示进程从属关系 e ### ...
- 老男孩Linux.shell.RHCE运维初中高级50G附解压密码
学习Linux,好的教程.使学习事半功倍! 老男孩Linux.shell.RHCE运维初中高级 下载地址: http://pan.baidu.com/s/1hsQOb2W 密码: h4hs 解压密码: ...
- Linux轻量级自动运维工具-Ansible浅析【转】
转自 Linux轻量级自动运维工具-Ansible浅析 - ~微风~ - 51CTO技术博客http://weiweidefeng.blog.51cto.com/1957995/1895261 Ans ...
- 工作中常用Linux命令--服务器运维
工作中常用Linux命令--服务器运维 lsof查看端口使用情况 lsof -i:8080更多lsof命令使用说明:http://www.cnblogs.com/peida/archive/2013/ ...
- Linux轻量级自动运维工具-Ansible浅析 转
转自 Linux轻量级自动运维工具-Ansible浅析 - ~微风~ - 51CTO技术博客http://weiweidefeng.blog.51cto.com/1957995/1895261 Ans ...
- Linux主流架构运维工作简单剖析
转载:http://wgkgood.blog.51cto.com/1192594/1586259 随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如 ...
随机推荐
- C#创建Windows Service(Windows 服务)基础教程
Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的.所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Window ...
- Hello,cnblog‘s world!
纠结了许久,终于选在这个地方安家.之所以选在这里,是因为这里是个很干净的社区. 之前一直在其他博文网站里发文章,可是越到后来,发现页面广告越来越多.真正对自己有价值的内容越来越少,虽然已经使用过几年了 ...
- 浅入ARP
1.ARP的工作原理 IP层协议ARP的核心功能就是通过目的主机IP地址得到主机的硬件地址,然后通过硬件地址进行通信.和计算机网络中的很多技术一样,ARP协议也是使用了建立一个缓存表的思想.它规定每个 ...
- [bzoj 1026]windy数(数位DP)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1026 分析: 简单的数位DP啦 f[i][j]表示数字有i位,最高位的数值为j的windy数总 ...
- 那天有个小孩跟我说LINQ(八)学会Func
文章已经迁移到:http://www.ayjs.net/2013/08/68/ 文章已经迁移到:http://www.ayjs.net/2013/08/68/ 文章已经迁移到:http://www.a ...
- AngularJs-指令和控制器交互
前言: 前段时间我们学习了angular的指令,他通过ECMA的方式创建元素,可以让我们共用这些元素,我们也知道可以通过 link的方法给这个指令添加一些动作事件,本节,我们将写入和让angular的 ...
- 【BZOJ 3223】文艺平衡树 模板题
就是打个翻转标记,下推标记时记得交换左右孩子指针,查询kth和中序遍历输出时也记得要下推标记同时交换指针,二者不可缺!←这是易错点 仿陈竞潇学长模板的代码: #include<cctype> ...
- Java-如何挖取某个网站中的ajax请求信息
通常情况,通过网络爬虫挖取到的基本为网页静态内容,而动态ajax取数的内容是我个人暂时不知如何一次性把网站中的ajax获取 这里介绍的是某个网站中的某一个ajax多某个table刷新,期数据,并提供其 ...
- 缓存插件 Spring支持EHCache缓存
Spring仅仅是提供了对缓存的支持,但它并没有任何的缓存功能的实现,spring使用的是第三方的缓存框架来实现缓存的功能.其中,spring对EHCache提供了很好的支持. 在介绍Spring的缓 ...
- The constructor ClassPathXmlApplicationContext(String) refers to the missing type BeansException
Spring4.X配置一个简单的读取sping的xml的配置文件结果