Archive for the ‘ Server ’ Category

iptables 防火墙的一些基本用法

  • 列出目前的规则
  • iptables -L -n
  • 删除 “INPUT” 的第 1 条规则
  • iptables -D INPUT 1
  • 丢弃来自 192.168.1.203 的封包
  • iptables -A INPUT -p all -s 192.168.1.203 -j DROP
  • 禁止 192.168.1.203 的用户以 SSH 登入(Port:22)
  • iptables -A INPUT -p tcp -s 192.168.1.203 --dport 22 -j DROP
  • 储存防火墙的设定到 filename
  • iptables-save > filename
  • 从 filename 读取防火墙的设定
  • iptables-restore < filename

    .htaccess 简易的网页帐号认证

    .htaccess 让你不用写程式,就可以用最简单的方式做出“网页登入”的功能,限制哪些用户能进到网页的某一层目录。

    建立用户验证资料

    建立用户验证档

    建立用户验证档,并新增一组帐号及密码:

    htpasswd -c /path/to/.htusers UserName1

    这里所产生的 .htusers 是一个文字档,里面会有用户名称及编码过的密码。第一次建立档案时,必须加 -c 参数。同时,请找一个安全的地方放置 .htusers 这个档案,所谓的“安全”是指至少不要在公开网页可以被下载到的路径,例如放在 public_html 的上一层。

    继续增加第二组帐号及密码到验证档时,就不用加 -c 参数:

    htpasswd /path/to/.htusers UserName2

    建立群组资料档

    如果用户比较多,你可能会想要用群组的方式来做管理。群组资料档的目的是要将多个用户设为一个群组,请新增或编辑 /path/to/.htgroups,依需求增加类似如下的设定:

    Group1:UserName1 UserName2

    代表 Group1 包含 UserName1UserName2 这两个用户。

    验证登入

    在欲执行用户验证的网页目录下,建立一个 .htaccess 档案,验证的方式可针对用户或群组,差别在于 require 这个参数。

    针对用户:

    AuthName "Restricted Area" # 名称必须用英文
    AuthType Basic
    AuthUserFile /path/to/.htusers
    require user UserName1 # 仅针对特定用户,以空白分隔多个用户

    上述的最后一行是只有 UserName1 允许进入,你也可以改成:

    require valid-user # 针对全部用户

    表示针对 .htusers 里的所有用户。

    针对群组:

    AuthName "Restricted Area" # 名称必须用英文
    AuthType Basic
    AuthUserFile /path/to/.htusers
    AuthGroupFile /path/to/.htgroups
    require group Group1 # 仅针对特定群组的用户,以空白分隔多个群组

    表示针对 .htgroups 里,归属于 Group1 下的用户。

    针对特定档案:

    若你只想针对特定档案做保护,那可以与 <Files>~</Files> 一起使用:

    <Files FileName>
         require valid-user
    </Files>

    <Files>~</Files> 一次只能填写一个档案,但支援正规表示式。以下是使用正规表示式限制图档存取的范例:

    <Files ~ "\.(gif|jpe?g|png)$">
         require valid-user
    </Files>

    或是:

    <FilesMatch "\.(gif|jpe?g|png)$">
         require valid-user
    </FilesMatch>

    设定好之后,当用户要存取该目录 (或档案),就会跳出叫你登入的对话框:


    另外,你也可以在网址中直接输入你的帐号、密码,格式:

     http://UserName:Password@www.example.com/directory/

    问题排除

    如果在设定 htaccess 认证方式之后,在进入网页时,仍然没有跳出验证的对话框,则请编辑 /etc/httpd/conf/httpd.conf,搜寻相关的“AllowOverride”设定,改成:

    AllowOverride All

    安全性问题

    虽然用户储存在 Server 端的密码有经过加密,但因为是采用 Basic 方式验证,当要存取网页时,用户输入的帐号与密码仅是以 Base64 编码,包裹在 Headers 里进行传输,有机会被窃听之后解码、盗用! 网站必须导入 SSL 才能完全在传输的过程中加密。

    参考网页

    IP 位址区段计算程式 *

    档案下载

    有时候 MIS 需要计算区段 IP 的启始位置和终点 IP,使用这个程式,只需要填入目标 IP,就会帮您算出:

    • IP 数
    • 开始的 IP(Network IP)
    • 结束的 IP(Brocase IP)
    • 网络遮罩(Subnet Mask)

    而且不用安装就可以使用了。

    在 Linux 上建立虚拟主机最快速的方法 *

    本篇的目的,是说明如何使用最简单的方式在你的网页服务器 (Apache) 上新增一个虚拟主机 (Virtual Host),让你只要建一个目录,或新增一个本机用户,就可以建立虚拟主机,并且可自动分割 Log 档 (以下之设定牵涉到 Apache 及 DNS 的观念,最好也有自行架设 DNS 服务)。
    Read more

    Redhat Linux 9.0 中文手册 *

    档案下载

    内含 Redhat Linux 9.0 的安装手册、使用手册及用户自订手册,HTML 格式。

    你也可以到这里读取:

    相关网页

    HTTP 回应的代码含义

    当我们在浏览网页的时候,经常会看到诸如 500 错误之类的讯息,这些错误代码所代表的含义作为网站的开发人员,应该必须了解的。

    HTTP 的回应代码是三位数字,其中第一个数字定义了代码的类别:

    范围 类别 含义
    100~199 讯息 请求被接收,正在处理
    200~299 成功 动作被成功接收、理解和接受
    300~399 重新导向 必须采取其他动作才能完成请求
    400~499 用户错误 请求包含不良语法或无法完成
    500~599 服务器错误 服务器无法处理的请求

    其中较常见的 HTTP 回应代码有:

    • 200: 请求成功
    • 400: 语法错误
    • 401: 未经授权
    • 403: 禁止访问
    • 404: 请求的网页不存在
    • 500: 服务器错误

    Read more

    [Perl]格式化系统 LOG 分析 *

    本文件是参考鸟哥写的 logfile.sh,我把它改成符合我自己系统的 LOG 分析程式,全面以 Perl 重写。我自己用了一段时间 (其实也半年了),觉得勉强还可以用,所以公开给大家用看看…
    Read more

    Cookie 是什么?

    很多网站在你浏览网页之后,会在你的浏览器中留下一些小小的资料,这就是所谓的“Cookie”。当你再次浏览这些网站时,系统便会去读取这些 Cookie,找回与你曾经有过的片刻记忆。

    “Cookie”不是饼干,Cookie 是服务器暂存在你电脑上的一笔资料,好让服务器用来辨认你的电脑。就好比是格林童话故事中,沿途撒下面包屑避免在森林中迷路的小孩。

    为什么需要 Cookie?

    HTTP 的协议本身是“无记忆状态 (Stateless) ”的,无论是用户端还是网页服务器,每一个页面都没有关联,每一次的请求都是单独的请求。服务器借由 Cookie 来让同一个用户的各项操作都可以产生关联。

    当你在浏览网站的时候,服务器会先送一些小小的资料放在你的浏览器上,Cookie 会帮你在网站上所打的文字或是一些选择都纪录下来。当下次你再光临同一个网站,网页服务器会先查看有没有上次留下的 Cookie,有的话,就会依据 Cookie 里的内容来判断用户,送出特定的网页内容给你。

    Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie 来识别用户,以方便送出为用户量身而做的内容,像是 Web 接口的免费 email 网站,都有用到 Cookie。

    Cookie 会不会有危险?其实 Cookie 中记载的资料有限,Cookie 是安全的。网站不可能经由 Cookie 获得你的 email 地址或是其他私人资料,更没有办法透过 Cookie 来存取你的电脑。

    但是如果你实在不喜欢网页服务器乱丢 Cookie 到你家,当然可以让浏览器拒绝网站存放 Cookie 到你的浏览器。

    IE 浏览器从“工具”选单 → Intertnet 选项 → 安全性,按“自订层级”,到 Cookie 的部分,全都设为“关闭”,再重新启动浏览器即可。

    当你关闭 Cookie 之后,很多网站的个人化服务功能很可能就不能再使用了。

    IE 的 Cookie 默认存放位置是在: C:\WINDOWS\Temporary Internet Files

    你可以直接删掉这里面的东西或是利用“Internet 选项”里的清除档案按钮来清除。

    Cookie 的内容

    大家想不想知道哪个网站有设 Cookie?你的 Cookie 资料又为何?其实,用一行简单的 JavaScript 指令就可以一清二楚了。

    首先,开启一个网站,例如 http://www.google.com ,一旦网站开启后,在浏览器的位址列中输入以下的 JavaScript 指令:

    javascript:alert("Cookie:"+document.cookie)

    javascript:document.write(document.cookie)

    按下 Enter 后,你会见到跳出一个小警告视窗,上面便会标明你的 Cookie 资料,试试看吧!

    比较新的浏览器,如 Chrome 与 Firefox 都有内建“开发人员工具”,只要按 F12 开启“开发人员工具”,可以在“Application”或“储存空间”页签看到网站所储存的 Cookie 内容。

    什么是 Session?

    讲到 Cookie 就会有人提到 Session。

    Session 的资料是存放在 Web 服务器端。用解释的不好解释,我们先来举个例子...

    有一家咖啡店要举办咖啡买三送一的活动,若以“Cookie”或“Session”的作法来看:

    • Cookie:
      相当于是店家发给你一张“小卡片”,每次你来买一杯咖啡就在卡片上盖个印章,集满三个印章,那咖啡店就会送你一杯免费的咖啡。
      其中,购买咖啡的记录是留在你携带的卡片上,如果卡片遗失你的记录就不存在了。
    • Session:
      相当于是店家请你加入他们的会员,然后发给你一张“会员卡”(Session ID)。每次你拿会员卡来买咖啡都会在店家的电脑里留下记录,买了三杯咖啡就会送你一杯免费的咖啡。
      其中,购买咖啡的记录是储存在店家的电脑里,如果会员卡遗失了可以透过核对会员的资料来重新取得会员卡,未来这张会员卡甚至可能在它的连锁店使用。

    可以说,Cookie 只做一件事,就是存取服务器暂存在客户端的资料。而 Session 则是一个涵盖范围比较广、比较完整的保存机制。并且 Session 仍需借由 Cookie、网址或表单...等三种方式来识别用户的 Session ID,才能接续之后服务器要做的事情。

    只要“网站是将任何用户的资料储存在服务器,并且用 Cookie、网址或表单来识别单一用户”,这样就已经是在实作 Session 了。由于“识别用户”是很普遍的功能,你所使用的程式框架 (Framework) 有可能在无声无息之中就已经帮你完成整个机制了,你只要把心思用在程式的其它部份即可。

    参考网页

    [Perl]安装 ImageMagick 相关模组 *

    ImageMagick 是个功能强大的图片工具,让你读取、写入、操作任何热门的图片格式,如 GIF、JPEG、PNG、PDF… 等。使用 ImageMagick 可以即时的建立 GIF 的图片档案,让图形可以更融入网页等应用接口。你也可以更改图片的大小、反转图形、增强亮度、减少颜色对比、加入额外特殊的效果。图片可以储存不同的格式依你的工作需求。
    Read more

    Redhat Linux 7.3 快速安装指引 *

    教你快速安装 Redhat Linux 7.3…

    特点及功能如下

    • 使用单纯的结构,以提供主流服务,系统将不安装 X-Window 接口。
    • 具备 ProFtp、Sendmail、Webmail、web 及数据库 (MySQL) 的服务。
    • 可使用浏览器在线上做系统管理 (WebMin)、数据库维护 (phpMyAdmin) 及流量监控 (Mrtg)。
    • 每天与时间服务器对时。
    • 每周自动更新系统的套件。

    Read more

    return top