windows下filezilla server安装配置及安全加固

以  FileZilla_Server-0_9_41.exe 为例

1  安装
FileZilla_Server-0_9_41.exe

2  从开始菜单里停止Filezilla_server服务

3  到安装目录里改名备份(或直接删掉)文件 FileZilla server.exe
典型位置: "C:\Program Files (x86)\FileZilla Server" (64位机器上) 或 "C:\Program Files\FileZilla Server" (32位机器上)

4  从默认ansi编码的filezilla server补丁包里压缩出 FileZilla server.exe ,拷到如上安装目录里。

5  创建一个独立的windows用户、一个windows用户组,用于运行ftp服务,用户名为webftp
(默认情况下,windows服务以SYSTEM用户运行,几乎等同于管理员;这是重大安全隐藏,如果该服务有漏洞并被恶意利用,后果...)

6  到windows服务列表中,双击 "FileZilla Server FTP server",打开服务属性窗口 - 登录
“登录身份” - 选择 “此账户” - 浏览 - 选择到刚建立的独立用户webftp
回到“服务恢属性”窗口,输入账号密码,“应用”或“确定”

6  启动服务(从开始菜单或服务列表皆可),观察windows任务管理器中,进程"FileZilla server.exe" 的用户名是否是 webftp

7  修改将filezilla server安装目录权限:webftp用户有读取权限
只保留 SYSTEM, webftp, Administrators 三个用户的权限,其它删掉

修改安装目录中的 文件  "FileZilla Server.xml", "FileZilla Server Interface.xml" 权限,为webftp用户赋写入权限

8  windows默认对每个硬盘分区设置了较多权限,只保留administrator,system,users,其它删除(通常Users也可以删除)
(否则,权限极低的webftp用户将可以在相应目录的读取甚至写入的权限;或许是因为everyone用户的存在)

8  windows了防火墙,添加一条规则,按程序的规则添加规则(非按端口):allow_filezilla-server_in
新建入站规则- 规则类型:程序(P) - 此程序路径 - 浏览到 FileZilla server.exe - 允许连接

------------------------------------
* 关于ftp目录的权限设置
对于需要通过ftp管理(包括读取或删除写入等)的所有目录(文件)
检查是否有不该买有的权限,最好是严格按照“最低权限”原则进行设置。
对这些目录(文件),根据需要,赋给ftp用户权限,至少需要一个读取权限。
如果不需要通过ftp删除的文件(夹),可以不赋修改写入权限

linux下tar命令的奇葩用法(可用来保留目录修改时间的复制整个目录)

linux下tar命令的奇葩用法:
tar -cvf - /etc | tar -xvf -

其中 /etc 可以改成任何需要备份的目录
以前在鸟哥linux里 http://linux.vbird.org/linux_basic/0240tarcompress.php#tar 见到的,当时不知道有什么用:这不就是cp -r,干吗写这么啰嗦。原来它可“原封不动”的备份,包括文件目录的修改时间;cp -r复制出来的目录修改时间是当前时间。要将一个目录复制一下,可又想保留目录修改时间(这是时间非常有用),之前是tar打包的,用的时候再解开(或当场就解开,并删除tar包);突然意识到,tar的这个奇葩用户正是所需!

 

一些vps商收集帖

http://www.123systems.net/

4刀起

 

还有一个性价比较高的urpad
conoha,
https://www.conoha.jp/zh
从某群得知,其人从linode日本转到这家,有中文页面
http://lowendstock.com/
一个国外网站,收集了一系列vps商,有基本配置、价格、存货、好差评等信息比较
2sync ingress群lori使用的日本vps,15刀起,据说网络质量较好。 171122

供centos用的yum源(redhat, scientific)/不定期更新

简介

redhat/centos系列是追求稳定性的改造版,官方收纳的软件包很有限。实际使用中,我们要么自己编译,要么使用第三方编译好的二进制版;为简便起见我们常常选择后者。第三方yum源纳入包的标准不一,有些追求稳定,像epel,有些则求新。对于求稳定的朋友,建议安装过需要的软件后,卸载(可以将.epo文件改名备份)这些第三源,以免造成系统包被替换。像epel这样连centos官方都推荐的源,还有nginx官方源这种只有单一少数几个包的源,可以长期保留。

epel

这个不用多说了。

elrepo

elrepo 支持centos/redhat 5,6,7系列,大量的内核模块源,如hfsplus支持等。

在yum.repo配置里,部分选项默认没有启用,需要自行启用

http://elrepo.org/tiki/About

li.nux.ro/nux

目前有rhel/centos6及7两个版本的rpm/yum源,它需要依赖epel源。

使用说明,简洁,不啰嗦,http://li.nux.ro/repos.html

rpmfusion

(待补充)

atrpms

据说atrpms会替换系统包,毕竟rhel/epel的版本经常太老

更多参考CentOS官方wiki文档 https://wiki.centos.org/zh/AdditionalResources/Repositories

删除windows上lpt1.asp伪装木马文件(SHR属性),及一次查杀web木马简记

维护的一台windows 2003服务器,跑iis6,其中一个站点需要同时支持asp与php,还得跟站点web用户赋写入权限(因为该站主要是一asp的CMS,文章内容页是生成静态html的)。正因如此,该站比较容易出问题,数次被挂马。

在与该CMS还有入侵者长期的拉锯战里,该站点做了很多针对性的措施,比如,

  • 删除iis里动态脚本映射,只保留.asp, .php, .shtml,其它的像.net的一大堆(,.cs什么什么的),全部删除
  • 改进cms程序的写入文件功能:禁止写asp, php文件,增强上传功能安全性,等
  • 非动态脚本目录(如文件上传目录等),通过iis设置无执行权限
  • 后来更严苛的设置,除了少数几个有必要的目录,其它目录下的.asp, .php全部重写到一个空文件上。通过rewrite实现

不过后来,还是出过问题。

如这一次,根据被挂马文件的写入时间,找之前一天内被修改过(包括写入)的.asp, .php文件,在查iis日志,里查找马儿文件被请求的记录项,找到马夫的ip,当然ip很可能是动态变化的,不过这次好像是全部从一个ip上还的,这就省功夫了。分析该ip的请求记录,专找对.asp, .php url的请求,尤其是 POST请求(因为webshell大马的处理很复杂,一般都是post传参数),仔细检查这些.asp, .php文件的修改时间,最近被修改过的,一定可疑。修改时间是很久以前,也不能吊心轻心,有可能是长期隐蔽马。

按上面的步骤,清理木马不是太难的事情。但就怕遗漏,一个小小马(通常是一句话或其变种),足以让这些工作白费。

不过这次发现了一个名为 lpt1.asp 的文件,而且是“系统 隐藏 只读”的属性SHR,删除时提示找不到文件,有点奇怪了,看文件名,有点奇怪;使用编辑器打开,也提示文件不存在。担心操作系统被植入了什么进程,这就麻烦了。google得知,lpt1这是dos保留字的文件名,要使用一个咒语般的路径地址,很蛋疼。。。

根据搜索结果,该文件位于 E:\www\site_root\images\lpt1.asp 相应的地址是 \\.\E:\www\site_root\images\lpt1.asp ,即

del \\.\E:\www\site_root\images\lpt1.asp

结果是不行,怀疑是SHR的关系,尝试一阵子,通过这样的形式:

attrib -S -R -H path_to_file.ext

清理掉这几个属性;似乎这几个属性要一次性去除,还不能一个一个的去除;好像不是dos的风格,竟然支持一次多个item的操作。。。。

然后可以删除了,当然,我在删除前做了个备份,毕竟又截获了一只马。

下面是一部分操作的记录,帖出来了

E:\www\site_root\images>del E:\www\site_root\images\lpt1.asp
文件名、目录名或卷标语法不正确。

E:\www\site_root\images>attrib \\.\E:\www\site_root\images\lpt1.asp
A  SHR     \\.\E:\www\site_root\images\lpt1.asp

E:\www\site_root\images>del E:\www\site_root\images\lpt1*
找不到 E:\www\site_root\images\lpt1*

E:\www\site_root\images>del E:\www\site_root\images\lp*

E:\www\site_root\images>attrib \\.\E:\www\site_root\images\lpt1.asp
A  SHR     \\.\E:\www\site_root\images\lpt1.asp

E:\www\site_root\images>attrib \\.\E:\www\site_root\images\lpt1.asp
A  SHR     \\.\E:\www\site_root\images\lpt1.asp

E:\www\site_root\images>attrib -H \\.\E:\www\site_root\images\lpt1.asp
未重设系统文件 - \\.\E:\www\site_root\images\lpt1.asp

E:\www\site_root\images>attrib -S -R -H \\.\E:\www\site_root\images\lpt1.asp

E:\www\site_root\images>attrib -H \\.\E:\www\site_root\images\lpt1.asp

E:\www\site_root\images>attrib \\.\E:\www\site_root\images\lpt1.asp
A          \\.\E:\www\site_root\images\lpt1.asp


E:\www\site_root\images>attrib \\.\E:\www\site_root\images\lpt1.asp
A          \\.\E:\www\site_root\images\lpt1.asp

E:\www\site_root\images>copy \\.\E:\www\site_root\images\lpt1.asp f:\aa.txt
已复制         1 个文件。

E:\www\site_root\images>del \\.\E:\www\site_root\images\lpt1.asp

本文是以前写的一篇手记,处理后以为问题得解,但稍后两天发现仍被入侵,于是次本文状态改成草稿;被入侵的原因是其他地方仍然有木马,处理后本文丢在这里没有动。这么久都没有继续写,大概以后也不会续写,最近整理博客时就直接发出来算了(2016-10-10 16:20)

linux bash下find命令之-exec参数多次使用{}处理匹配到文件

问题:

使用find命令查询旧文件文件,并删除,但又想在删除前看一下文件名,大致监测一下进度。不过在exec参数里直接使用两次{}会报错,google后,找到方法,使用sh "代理"一下,直接上代码:

find . -atime +150 -exec sh -c 'ls -lh {} ; rm {}' \;

注意加粗着色部分及其单引号。

特殊字符比较多,转载时容易出问题,再截张图,对照参考

bash_find_match_multi_use

参考:http://blog.csdn.net/duanlove/article/details/8261677
该文还介绍了其它可选方案。

后记:前面例子,只为演示功能,事实上只要给rm 带上  -v 参数即可,感谢sdfsaf指正,如下

find . -atime +150 -exec rm -v {} \;

java jdk下载-通过海外vps快速下载jdk的方法及/抓包wget

我朝网络真牛x,连接海外很多站点速度都奇慢。印象中以前从java/oracle下载jdk还不算是太慢。今天下载macintosh os x版的jdk,竟然几乎不会动,要10个小时,这还是30M企业版电信光纤吗!找了几个国内的下载站,竟然没有,难道是oracle不让做镜像下载所致?

有个海外vps,就是本站所在的服务器,平时下载海外的东西,如果太慢,通常就使用百度网盘,或vps上下载,做个中转;有时甚至会两个一起用。

但jkd的下载链接不行,下载链接带授权参数的。

想起live http headers,抓包,看看请求里是什么东西,wget模拟请求,理论上只要参数齐就可以的。wgtet一下,发现是三次请求,通过302转向到一个带AuthParm的get参数的地址上,那就直接在vp上wget它,看行不行;如果不行,再带其它参数,反正wget 有随便加http参数的功能。竟然果然是可以下载的,省事,连其它参数都不用加了!

ok,中转下载成功。

vps速度不稳,也要20多分钟的样子,但总比10个小时强得多了,慢慢等吧,还有10M

继续阅读

yum更新遇到依赖错误的处理经验总结

redhat系列linux系统的yum,有时会出现错误的依赖,用linux早期,遇到该类问题简直是束手无策,无奈之下会在yum的“教唆“下使用“--skip-broken”参数,有时确实可以解决问题,但有时的后果,可以把系统玩儿坏,下次启动无法启动,或出现其它莫名其妙的问题。

列一个典型的错误依赖消息如下:

--> 正在处理依赖关系 /usr/sbin/ldconfig,它被软件包 libva1-1.3.1-11.el7.x86_64 需要
--> 正在处理依赖关系 /usr/sbin/ldconfig,它被软件包 libmad0-0.15.1b-4.el7.x86_64 需要
--> 正在处理依赖关系 /usr/sbin/ldconfig,它被软件包 librtmp0-2.3-1.el7.x86_64 需要
--> 正在处理依赖关系 /usr/sbin/ldconfig,它被软件包 libx264_142-0.142-20_20140406.2245.el7.x86_64 需要
--> 正在处理依赖关系 /usr/sbin/ldconfig,它被软件包 libxvidcore4-1.3.2-15.el7.x86_64 需要
.......
错误:软件包:libmad0-0.15.1b-4.el7.x86_64 (@atrpms)
          需要:/usr/sbin/ldconfig
          正在删除: glibc-2.17-55.el7_0.1.i686 (@updates)
              未找到
          更新,由: glibc-2.17-55.el7_0.3.i686 (updates)
              未找到
错误:软件包:librtmp0-2.3-1.el7.x86_64 (@atrpms)
          需要:/usr/sbin/ldconfig
          正在删除: glibc-2.17-55.el7_0.1.i686 (@updates)
              未找到
          更新,由: glibc-2.17-55.el7_0.3.i686 (updates)
              未找到
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest

看到了最后两行了吧,通常别听信它,小心!

为了优雅的处理类似错误依赖的问题,要搞先了解一下该问题的原因。通常是在自己手动安装了一些非官方rpm包,或使用了多个yum源所致。尤其是升级安装了新版本的包。例如,在centos里为了安装某些软件而使用fedora里的包升级了系统自带的包。

个人经验如下:

先移除/etc/yum.repo.d/下非系统官方的源,备份到其它目录里,处理好问题后还移回来继续用。

yum list 查看系统都有哪些源的包,除了@base @anaconda @updates 之外的,都要留意一下,按“靠谱”程度从低到高逐渐移除。这里的“靠谱程度”,要凭一些经验的。 如本文前面列出错误依赖的这个例子,本人用了好多个源的包,@epel @atrpms  @nux-dextop @google-chrome 等这几个第三方源,epel是很高质量的,google-chrome 只有chrome浏览器,其它几个就是不太靠谱的,先移除它们。

检查yum list列出的包名,是否用了fedora,或非本机架构的等的包(如x64系统下686的包),yum erase移除它们。卸载包时,注意着,别把重要的系统包卸载了。千万别这样带-y 参数据 yum erase  {包名}  -y,yum erase 卸载某个包时,系统提示会提示都移除哪些包,如果看着不对劲就按 N

最后,你会找到出问题的那个包名,即提示错误依赖的信息
--> 正在处理依赖关系 /usr/sbin/ldconfig,它被软件包 libbluray1-0.4.0-6.el7.x86_64 需要
--> 解决依赖关系完成
错误:软件包:libbluray1-0.4.0-6.el7.x86_64 (@atrpms)
          需要:/usr/sbin/ldconfig
          正在删除: glibc-2.17-55.el7_0.1.x86_64 (@updates)
              未找到
          更新,由: glibc-2.17-55.el7_0.3.x86_64 (updates)
              未找到
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest

会类似上面所示,只是少数一两个包,尝试卸载一下看看

[root@fsc ~]# rpm -e libbluray1-0.4.0-6.el7.x86_64
错误:依赖检测失败:
    libbluray.so.1()(64bit) 被 (已安裝) gvfs-1.16.4-7.el7.x86_64 需要
    libbluray.so.1()(64bit) 被 (已安裝) gvfs-fuse-1.16.4-7.el7.x86_64 需要
    libbluray.so.1()(64bit) 被 (已安裝) gvfs-afc-1.16.4-7.el7.x86_64 需要
    libbluray.so.1()(64bit) 被 (已安裝) gvfs-gphoto2-1.16.4-7.el7.x86_64 需要
    libbluray.so.1()(64bit) 被 (已安裝) gvfs-goa-1.16.4-7.el7.x86_64 需要
    libbluray.so.1()(64bit) 被 (已安裝) gvfs-mtp-1.16.4-7.el7.x86_64 需要
    libbluray.so.1()(64bit) 被 (已安裝) gvfs-smb-1.16.4-7.el7.x86_64 需要
    libbluray.so.1()(64bit) 被 (已安裝) gvfs-afp-1.16.4-7.el7.x86_64 需要
    libbluray.so.1()(64bit) 被 (已安裝) gvfs-archive-1.16.4-7.el7.x86_64 需要
    libbluray.so.1()(64bit) 被 (已安裝) libbluray-0.4.0-6.el7.x86_64 需要
    libbluray1 = 0.4.0-6.el7 被 (已安裝) libbluray-0.4.0-6.el7.x86_64 需要

那查查系统里该包是什么版本吧 rpm -q {包名}

上面例子里,该包是atrpms源的包,比centos源里的包新。回忆时当时为了安装smplayer,装了一系列atrpms的包。而印象中,atrpms源有时会升级centos的包,所以就造成了yum update 升级系统时造成错误依赖。到centos镜像里下载这个rpm包,rpm --force  -Uvh {包文件路径}覆盖安装一下,然后再yum更新试试。

如果没有问题,那就好了。再把yum 源的配置文件移回去,重新yum makecache,然后根据刚才卸载的包的记录,把它们安装上;可参考history 命令的记录.

大概就是这样,写得有点乱。

Pages: Prev 1 2 3 4 5 6 7 8 9 10 ... 46 47 48 Next