Press "Enter" to skip to content

Month: July 2016

VNC over SSH tunnel

VNC over SSH tunnel, 意为建立在SSH通道上的VNC. 这样做可以达到2个目的, 一是可以增强VNC的安全性, 二是如果VNC速度太慢, 可以走SSH通道作为代理. 本文介绍其配置方法.

使用环境:
A机在韩国, IP为1.1.1.1, 速度较快
B机在美国, IP为8.8.8.8, 速度慢, 且有一个VNC桌面(ID号为:55)
由于我们直接连接B机的VNC桌面会非常慢, 此时我们可以借助A机的SSH服务跳转, 以达到加速VNC桌面的目的.
本地也是Linux环境, 本机有多位用户需要登陆到美国的VNC桌面上

1, 在A机(用于代理的机器)上以bear用户的身份生成SSH-Key, 并将私钥拷贝回本地

ssh-keygen -t rsa    #一路回车即可
chmod 700 ~/.ssh
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys      #必须做,否则在连接VNC的时候仍需要输入bear的密码

然后将私钥(id_rsa文件)拷贝回本地, 注意不是id_rsa.pub文件.

2, 在本地(也是Linux系统)指定SSH Tunnel相关参数

Leave a Comment

vsftpd配置虚拟用户

vsftpd的虚拟用户可以全部映射到一个真实的系统用户上, 对于有特殊权限要求的情况可以使用虚拟用户的方式. 这个方式的认证依赖于db4-utils, 需要使用它的db_load命令生成加密的认证文件. 本文基于CentoOS6 64bit.

1, 安装和配置vsftpd

$ yum install db4-utils vsftpd
$ cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.ori
$ touch /etc/vsftpd/chroot_list
$ vim /etc/vsftpd/vsftpd.conf  #根据情况修改如下内容,也可以全部COPY
anonymous_enable=NO
#必须启用本地用户,因为虚拟用户是映射到www这个本地用户来访问的
local_enable=YES
write_enable=YES
local_umask=022

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES

idle_session_timeout=600
data_connection_timeout=120

chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list

listen=YES

#指定新的pam认证文件
pam_service_name=ftp.vuser

#启用虚拟用户并将虚拟用户映射为本地www用户
#这两项配置可以写在这里,也可以写在下面的/etc/vsftpd/virtual_conf/user1里
#guest_enable=YES
#guest_username=www

#开启userlist,并禁止user_list文件中的用户登陆
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list

tcp_wrappers=YES

#虚拟用户的配置文件目录
user_config_dir=/etc/vsftpd/virtual_conf
1 Comment

CentOS 6设置防跨站

利用open_basedir将PHP脚本的操作限定在某一个目录内,可以防止跨站攻击。本文基于CentOS 6,PHP 5.5.5版本。假设我们有一个网站位于/home/wwwroot/zhukun.net。

$ vim /usr/local/php/etc/php.ini    #保证php.ini文件里的相关设定未被修改
; open_basedir, if set, limits all file operations to the defined directory
; and below.  This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/open-basedir
;open_basedir =        #这一项保持默认即可
......
; 建议关闭的函数
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
......
; 确保如下项保持默认
;;;;;;;;;;;;;;;;;;;;
; php.ini Options  ;
;;;;;;;;;;;;;;;;;;;;
; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
;user_ini.filename = ".user.ini"

; To disable this feature set this option to empty value
;user_ini.filename =

; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
;user_ini.cache_ttl = 300
$ vim /home/wwwroot/zhukun.net/.user.ini    #写入如下一行
open_basedir=/home/wwwroot/zhukun.net:/tmp/:/proc/

#相关安全权限设定
$ chmod 644 /home/wwwroot/zhukun.net/.user.ini
$ chown -R root:root /home/wwwroot/zhukun.net/.user.ini
$ chattr +i /home/wwwroot/zhukun.net/.user.ini

很多人觉得,我设定的open_basedir是否有效?很简单,只要将open_basedir后面的路径改一下,重启一下PHP服务,然后观察网站是否还能正常访问即可。

Leave a Comment

Ubuntu 14.04制作本地源

因工作需要,要在一个无网络的环境下安装Ubuntu14.04并更新相关软件包,于是有了本文。Ubuntu 14.04建立本地镜像源的过程,简单记录一下。

首先肯定要在一个有网络的情况下,安装一个精简版的系统,然后利用ap-get update及install完成所有依赖软件包,下载的所有软件包位于本机的/var/cache/apt/archives/目录下

$ cd /var/cache/apt/
$ tar zcvf ~/apt.tar.gz archives/

保存好这个apt.tar.gz文件。

然后是在无网络环境的情况下,安装好了Ubuntu14.04系统

$ tar zxvf apt.tar.gz -C ~   #假定文件解压到/home/bear下,所有的deb包都在/home/bear/archives下面
$ mkdir ~/dists/trusty/main/binary-amd64 -p
$ mkdir ~/dists/trusty/main/binary-i386 -p

#安装dpkg-dev以便使用dpkg-scanpackages命令
$ sudo dpkg -i ~/archives/dpkg-dev_* ~/archives/libdpkg-perl* ~/archives/make_* ~/archives/binutils_*
$ dpkg-scanpackages archives/ /dev/null | gzip > ~/dists/trusty/main/binary-amd64/Packages.gz -r
$ dpkg-scanpackages archives/ /dev/null | gzip > ~/dists/trusty/main/binary-i386/Packages.gz -r
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.ori
$ sudo vim /etc/apt/sources.list  #将文件中的内容全部删除,然后写成如下格式
deb file:///home/bear/ trusty main

然后可以测试一下自行搭建的源是否可以正常使用了

sudo apt-get update
sudo apt-get install XXX
Leave a Comment