优化

  可删除用户: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]  查询文件属性。

文件权限检查和修改:

      linux:SUID、SGID详解

      找出全部用户有写权限的文件和目录: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 优化&安全运维&黑客攻防的更多相关文章

  1. 关于Linux主流框架运维工作剖析

    LINUX是开源的,这也是最主要的原因,想学Windows,Unix对不起,没有源代码.也正是因为这样,LINUX才能够像雪球一样越滚越大,发展到现在这种规模.今天将为大家带来关于Linux主流框架运 ...

  2. Linux云自动化运维第三课

    Linux云自动化运维第三课 一.正则表达式 1.匹配符 * ###匹配0到任意字符 ? ###匹配单个字符 [[:alpha:]] ###匹配单个字母 [[:lower:]] ###匹配单个小写字母 ...

  3. Linux云自动化运维第四课

    Linux云自动化运维第四课 一.vim 1.vim光标移动 1)在命令模式下 :数字  ###移动到指定的行 G  ###文件最后一行 gg  ###文件第一行 2)在插入模式下 i  ###光标所 ...

  4. Linux云自动化运维第五课

    Linux云自动化运维第五课 一.进程定义 进程就是cpu未完成的工作 二.ps命令 ps a ###关于当前环境的所有进程 x ###与当前环境无关的所有进程 f ###显示进程从属关系 e ### ...

  5. 老男孩Linux.shell.RHCE运维初中高级50G附解压密码

    学习Linux,好的教程.使学习事半功倍! 老男孩Linux.shell.RHCE运维初中高级 下载地址: http://pan.baidu.com/s/1hsQOb2W 密码: h4hs 解压密码: ...

  6. Linux轻量级自动运维工具-Ansible浅析【转】

    转自 Linux轻量级自动运维工具-Ansible浅析 - ~微风~ - 51CTO技术博客http://weiweidefeng.blog.51cto.com/1957995/1895261 Ans ...

  7. 工作中常用Linux命令--服务器运维

    工作中常用Linux命令--服务器运维 lsof查看端口使用情况 lsof -i:8080更多lsof命令使用说明:http://www.cnblogs.com/peida/archive/2013/ ...

  8. Linux轻量级自动运维工具-Ansible浅析 转

    转自 Linux轻量级自动运维工具-Ansible浅析 - ~微风~ - 51CTO技术博客http://weiweidefeng.blog.51cto.com/1957995/1895261 Ans ...

  9. Linux主流架构运维工作简单剖析

    转载:http://wgkgood.blog.51cto.com/1192594/1586259 随着IT运维的不断发展,尤其的Linux的飞速发展,越来越多的企业开始使用Linux操作系统平台,例如 ...

随机推荐

  1. CAN开发中遇到的奇怪问题

    问题背景: 之前在做USBCAN2开发过程中,遇到一个奇葩问题,当我们加上其中某一句代码时,我们的程序会走不下去,得不到数据,而且在调试的过程中,你也不能暂停,不然,你也得不到数据.后来参考网上一篇帖 ...

  2. 在WebApi中实现Cors访问

    Cors是个比较热的技术,这在蒋金楠的博客里也有体现,Cors简单来说就是“跨域资源访问”的意思,这种访问我们指的是Ajax实现的异步访问,形象点说就是,一个A网站公开一些接口方法,对于B网站和C网站 ...

  3. JS案例之6——瀑布流布局(1)

    在实际的项目中,偶尔会用到一种布局——瀑布流布局.瀑布流布局的特点是,在多列布局时,可以保证内容区块在水平方向上不产生大的空隙,类似瀑布的效果.简单的说,在垂直列表里,内容区块是一个挨着一个的.当内容 ...

  4. [CareerCup] 8.10 Implement a Hash Table 实现一个哈希表

    8.10 Design and implement a hash table which uses chaining (linked lists) to handle collisions. 这道题让 ...

  5. [CareerCup] 11.3 Search in Rotated Sorted Array 在旋转有序矩阵中搜索

    11.3 Given a sorted array of n integers that has been rotated an unknown number of times, write code ...

  6. 第十二章 process.tar.gz中代码的运行

    第一部分:process 第二部分:env 第三部分:fifo 第四部分:pipe 第五部分:signal

  7. 20145316GDB调试汇编堆栈

    GDB调试例子的汇编堆栈 代码 直接-m32编译出现问题 编译64位Linux版本32位的二进制文件,需要安装一个库,使用指令sudo apt-get install libc6-dev-i386 编 ...

  8. 倒戈了,转投简书 -------->

    深情自白 还记得数月前那个月黑风高的晚上,笔主偶遇简书,被那婀娜多姿的Markdown输出深深吸引不能自拔,从此立下毒誓要两边同时发布.然而天有不测风云(这边的太丑),前思后想寝食难安之后作出决定,正 ...

  9. Cocopod上更新上传自己的开源框架供别人下载

    为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods 供他人参考呢? 下面我一步一步带大家开源自己的框架. 第一步 把自己的框架更新到git ...

  10. 通通制作Html5小游戏——第二弹(仿flappy bird像素鸟)

    亲爱的博友们,我又回来啦~因为我们技术宅的思想只有技术宅懂得,好不容易写了点好玩的东西发QQ空间,结果只有11的UV,0回复....10分钟ps一个女神的素描效果发QQ空间朋友圈,一大堆回复加赞,作为 ...