一、配置交换机端口镜像:
monitor session 1 source interface fa0/1 both
//(指定端口1,both是进出的包都抓)
monitor session 1 destination interface f0/24
//(指定连接抓包主机的端口)
monitor session 1 source interface fa0/1 both
monitor session 1 destination interface f0/24 ingress untagged vlan 1 (加上ingress untagged vlan 1后24口可以对外通讯)
二、配置交换机SSH登陆
Switcher(config)# hostname 2960
Cisco 2960 (config)# ip domain-name domainname.com
//为交换机设置一个域名,认为这个交换机是属于这个域 Cisco 2960 (config)# crypto key generate rsa
//此命令是产生一对RSA密钥,同时启用SSH,如果你删除了RSA密
钥,就会自动禁用该SSH服务
Cisco 2960 (config)# aaa new-model
//启用认证,授权和审计(AAA)
Cisco 2960 (config)#username cisco password cisco
//配置用户名和密码
Cisco 2960 (config)# ip ssh time-out 120
//配置SSH的超时周期
Cisco 2960 (config)# ip ssh authentication-retries 3 //配置允许SSH验证的次数
Cisco 2960 (config)# line vty 0 15
//配置虚拟终端
Cisco 2960 (config-line)# transport input SSH
//配置只允许SSH登陆交换机
三、配置交换机SNMP服务:
Cisco 2960 (config)#snmp-server community vista RO
//配置交换机的SNMP的团体名为vista;RO只读(RW读写) Cisco 2960 (config)#snmp-server enable traps
//启用陷阱(实现报警机制)
snmp-server community wxxrnms RW
snmp-server trap-source Vlan1
snmp-server location fengtaiSW253
snmp-server contact wxxr
snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart snmp-server enable traps tty
snmp-server enable traps cluster
snmp-server enable traps entity
snmp-server enable traps cpu threshold
snmp-server enable traps vtp
snmp-server enable traps vlancreate
snmp-server enable traps vlandelete
snmp-server enable traps flash insertion removal
snmp-server enable traps port-security
snmp-server enable traps envmon fan shutdown supply temperature status snmp-server enable traps mac-notification
snmp-server enable traps config-copy
snmp-server enable traps config
snmp-server enable traps bridge newroot topologychange
snmp-server enable traps stpx inconsistency root-inconsistency loop-inconsistency snmp-server enable traps syslog
snmp-server enable traps vlan-membership
snmp-server host 172.16.10.111 version 2c wxxrnms
linux修改ssh端口和禁止root远程登陆设置
作者:网盾编辑 日期:20xx年5月26日 点击: 13516次
阅读提示:Linux下SSH默认的端口是22,为了安全考虑,现修改SSH的端口为1433,修改方法如下
linux修改ssh端口22
vi /etc/ssh/ssh_config
vi /etc/ssh/sshd_config
然后修改为port 8888
以root身份service sshd restart (redhat as3)
使用putty,端口8888
Linux下SSH默认的端口是22,为了安全考虑,现修改SSH的端口为1433,修改方法如下 : /usr/sbin/sshd -p 1433
为增强安全,
先增加一个普通权限的用户:
#useradd uploader
#passwd uploader
//设置密码
生产机器禁止ROOT远程SSH登录:
#vi /etc/ssh/sshd_config
把
PermitRootLogin yes
改为
PermitRootLogin no
重启sshd服务
#service sshd restart
远程管理用普通用户uploader登录,然后用 su root 切换到root用户拿到最高权限。 系统攻略 教你恢复被误删除的Linux文件
作者:网盾编辑 日期:20xx年12月11日 点击: 11768次
阅读提示:大多数Linux发行版都提供一个debugfs工具,可以用来对Ext2文件系统进行编辑操作。不过在使用这个工具之前,还有一些工作要做。
作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。
1、Ext2文件系统结构的简单介绍
在Linux所用的Ext2文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分。每个文件还有一个节点,节点中包含有文件所有者,读写权限,文件类型等信息。对于一个小于12个块的文件,在节点中直接存储文件数据块的块号。如果文件大于12个块,那么节点在12个块号之后存储一个间接块的块号,在这个间接块号所对应的块中,存储有256个文件数据块的块号(Ext2fs中每个块号占用4字节,这样一个块中所能存储的块号就是1024/4=256)。如果有更大的文件,那么还会在节点中出现二级间接块和**间接块。
2、恢复被误删文件的方法
大多数Linux发行版都提供一个debugfs工具,可以用来对Ext2文件系统进行编辑操作。不过在使用这个工具之前,还有一些工作要做。
首先以只读方式重新挂载被误删的文件所在分区。使用如下命令:(假设文件在/usr分区)
mount –r –n –o remount /usr -r表示只读方式挂载;-n表示不写入/etc/mtab,如果是恢复/etc上的文件,就加上这个参数。如果系统说xxx partion busy,可以用fuser命令查看一下是哪些进程使用这个分区上的文件:
fuser –v –m /usr
如果没有什么重要的进程,用以下命令停掉它们:
fuser -k –v –m /usr
然后就可以重新挂载这些文件系统了。
如果是把所有的文件统一安装在一个大的/分区当中,可以在boot提示符下用linux single进入单用户模式,尽量减少系统进程向硬盘写入数据的机会,要不干脆把硬盘挂在
别的机器上。另外,恢复出来的数据不要写到/上面,避免破坏那些有用的数据。如果机器上有dos/windows,可以写到这些分区上面:
mount –r –n /dev/hda1 /mnt/had
然后就可以执行debugfs:(假设Linux在 /dev/hda5)
#debugfs /dev/hda5
就会出现debugfs提示符debugfs:
使用lsdel命令可以列出很多被删除的文件的信息: debugfs:lsdel
debugfs: 2692 deleted inodes found.
Inode Owner Mode Size Blocks Time deleted
164821 0 100600 8192 1/ 1 Sun May 13 19:22:46 2001
36137 0 100644 4 1/ 1 Tue Apr 24 10:11:15 2001
196829 0 100644 149500 38/ 38 Mon May 27 13:52:04 2001
列出的文件有很多(这里找到2692个),第一字段是文件节点号,第二字段是文件所有者,第三字段是读写权限,接下来是文件大小,占用块数,删除时间。
然后就可以根据文件大小和删除日期判断那些是我们需要的。比如我们要恢复节点是196829的文件:
可以先看看文件数据状态: debugfs:stat <196829>
Inode: 196829 Type: regular Mode: 0644 Flags: 0x0 Version: 1
User: 0 Group: 0 Size: 149500
File ACL: 0 Directory ACL: 0
Links: 0 Blockcount: 38
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x31a9a574 -- Mon May 27 13:52:04 2001
atime: 0x31a21dd1 -- Tue May 21 20:47:29 2001
mtime: 0x313bf4d7 -- Tue Mar 5 08:01:27 2001
dtime: 0x31a9a574 -- Mon May 27 13:52:04 2001
BLOCKS:
594810 594811 594814 594815 594816 594817
TOTAL: 38
然后就可以用dump指令恢复文件:
debugfs:dump <196829> /mnt/hda/01.sav
这样就把文件恢复出来了。退出debugfs:
debugfs:quit
另一种方法是手工编辑inode: debugfs:mi <196829>
Mode [0100644]
User ID [0]
Group ID [0]
Size [149500]
Creation time [0x31a9a574]
Modification time [0x31a9a574]
Access time [0x31a21dd1]
Deletion time [0x31a9a574] 0
Link count [0] 1
Block count [38]
File flags [0x0]
Reserved1 [0]
File acl [0]
Directory acl [0]
Fragment address [0]
Fragment number [0]
Fragment size [0]
Direct Block #0 [594810]
Triple Indirect Block [0]
使用mi指令后每次显示一行信息以供编辑,其它行可以直接按回车表示确认,把deletion time改成0(未删除),Link count改成1。改好后退出debugfs:
debugfs:quit
然后用fsck检查/dev/hda5
fsck /dev/hda5
程序会说找到丢失的数据块,放在lost+found里面。这个目录里的文件就是我们要的东东。
从TCP/IP配置建立安全的Linux服务器 作者:网盾编辑 日期:20xx年6月5日 点击: 12750次
阅读提示:要建立一个安全Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置。下面介绍基本的 TCP/IP网络配置文件。
要建立一个安全Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置。在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,也许你需要编辑这些文件来完成联网工作,但是这些配置文件大都可以通过配置命令linuxconf (其中网络部分的配置可以通过netconf命令来实现)。下面介绍基本的 TCP/IP网络配置文件。
* /etc/conf.modules文件
该配置文件定义了各种需要在激活时加载的模块的参数信息。这里主要着重讨论关于网卡的配置。在使用Linux做网关的情况下,Linux服务器至少需要配置两块网卡。为了减少
激活时可能出现的问题,Linux内核不会自动检测多个网卡。对于没有将网卡的驱动编译到内核而是作为模块动态加载的系统若需要安装多块网卡,应该在“conf.modules”文件中进行相应的配置。
若设备驱动被编译为模块(内核的模块):对于PCI设备,模块将自动检测到所有已经安装到系统上的设备;对于ISA卡,则需要向模块提供IO地址,以使模块知道在何处寻找该卡,这些信息在“/etc/conf.modules”中提供。
例如,我们有两块ISA总线的3c509卡,一个IO地址是0x300,另一个是0x320。编辑“conf.modules”文件如下:
这是说明3c509的驱动程序应当分别以eth0或eth1的名称被加载(alias eth0,eth1),并且它们应该以参数io=0x300,0x320被装载,来通知驱动程序到哪里去寻找网卡,其中0x是不可缺少的。
对于PCI卡,仅仅需要alias命令来使ethN和适当的驱动模块名关联,PCI卡的IO地址将会被自动的检测到。对于PCI卡,编辑“conf.modules”文件如下:
若驱动已经被编译进了内核:系统激活时的PCI检测程序将会自动找到所有相关的网卡。ISA卡一般也能够被自动检测到,但是在某些情况下,ISA卡仍然需要做下面的配置工作:
在“/etc/lilo.conf”中增加配置信息,其方法是通过LILO程序将激活参数信息传递给内核。对于ISA卡,编辑“lilo.conf”文件,增加如下内容:
注:先不要在“lilo.conf”中加入激活参数,测试一下你的ISA卡,若失败再使用激活参数。
如果用传递激活参数的方法,eth0和eth1将按照激活时被发现的顺序来设置。
* /etc/HOSTNAME文件:
该文件包含了系统的主机名称,包括完全的域名,如:
*/etc/sysconfig/network-scripts/ifcfg-ethN文件:
在RedHat中,系统网络设备的配置文件保存在“/etc/sysconfig/network-scripts”目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。
下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:
若希望手工修改网络地址或在新的接口上增加新的网络界面,可以通过修改对应的文件(ifcfg-ethN)或创建新的文件来实现。
DEVICE=name name表示物理设备的名字
IPADDR=addr addr表示赋给该卡的IP地址
NETMASK=mask mask表示网络掩码
NETWORK=addr addr表示网络地址
BROADCAST=addr addr表示广播地址
ONBOOT=yes/no 激活时是否激活该卡
none:无须激活协议
bootp:使用bootp协议
dhcp:使用dhcp协议
USERCTL=yes/no 是否允许非root用户控制该设备
*/etc/resolv.conf文件:
该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件,示例如下:
“search domainname.com”表示当提供了一个不包括完全域名的主机名时,在该主机名后添加domainname.com的后缀;“nameserver”表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的。
*/etc/host.conf文件:
该文件指定如何解析主机名。Linux通过解析器库来获得主机名对应的IP地址。下面是一个“/etc/host.conf”的示例:
order bind,hosts
multi on
ospoof on
“order bind,hosts”指定主机名查询顺序,这里规定先使用DNS来解析域名,然后再查询“/etc/hosts”文件(也可以相反)。
“multi on”指定是否“/etc/hosts”文件中指定的主机可以有多个地址,拥有多个IP地址的主机一般称为多穴主机。
“nospoof on”指不允许对该服务器进行IP地址欺骗。IP欺骗是一种攻击系统安全的手段,通过把IP地址伪装成别的计算器,来取得其它计算器的信任。
*/etc/sysconfig/network文件
该文件用来指定服务器上的网络配置信息,下面是一个示例:
注意:为了和老的软件相兼容,“/etc/HOSTNAME”文件应该用和HOSTNAME=hostname相同的主机名。
*/etc/hosts文件
当机器激活时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。
下面是一个“/etc/hosts”文件的示例:
最左边一列是主机IP信息,中间一列是主机名。任何后面的列都是该主机的别名。一旦配置完机器的网络配置文件,应该重新激活网络以使修改生效。使用下面的命令来重新激活网络:/etc/rc.d/init.d/network restart
* /etc/inetd.conf文件
众所周知,作为服务器来说,服务端口开放越多,系统安全稳定性越难以保证。所以提供特定服务的服务器应该尽可能开放提供服务必不可少的端口,而将与服务器服务无关的服务关闭,比如:一台作为www和ftp服务器的机器,应该只开放80 和25端口,而将其它无关的服务如:finger auth等服务关掉,以减少系统漏洞。
而inetd,也叫作“超级服务器”,就是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求。inetd.conf则是inetd的配置文件。inetd.conf文件告诉inetd监听哪些网络端口,为每个端口激活哪个服务。在任何的网络环境中使用Linux系统,第一件要做的事就是了解一下服务器到底要提供哪些服务。不需要的那些服务应该被禁止掉,最好卸载掉,这样黑客就少了一些攻击系统的机会。查看
“/etc/inetd.conf”文件,了解一下inetd提供哪些服务。用加上注释的方法(在一行的开头加上#号),禁止任何不需要的服务,再给inetd进程发一个SIGHUP信号。
第一步:把文件的权限限改成600。
[root@deep]# chmod 600 /etc/inetd.conf
第二步:确信文件的所有者是root。
[root@deep]# stat /etc/inetd.conf
第三步:编辑“inetd.conf”文件(vi /etc/inetd.conf),禁止所有不需要的服务,如:ftp、 telnet、 shell、 login、 exec、talk、ntalk、 imap、 pop-2、pop-3、finger、
auth,等等。如果你觉得某些服务有用,可以不禁止这些服务。但是,把这些服务禁止掉,系统受攻击的可能性就会小很多。改变后的“inetd.conf”文件的内容如下面所示: