海运的博客

Linux网络扫描工具nmap使用

发布时间:May 3, 2012 // 分类:网络工具 // No Comments

Nmap是linux下功能强大的网络扫描嗅探工具,支持多种扫描方式,还可侦测远端运行的操作系统。
使用语法:

nmap [Scan Type...] [Options] {target specification}

参数:

-P0  不ping主机,只进行扫描。
-PT  使用TCP的ping
-PB  这是默认类型,可以使用ICMP ping 也可以使用TCP ping。
-sL 仅列出指定网络上在线主机
-sP 只进行ping,不进一步扫描,用于判断主机是否在线。
-sS SYN扫描,只发送syn数据包。
-sT TCP扫描,默认扫描方式。
-sU UDP扫描
-sF FIN扫描
-sO 目标支持哪些协议
-iR 随机生成目录地址
-S 源地址欺骗
-D 使用一组地址为源地址欺骗
-R 反向DNS查询
-p 指定端口
-f 快速扫描模式
-O 探测目标操作系统
-A 全部扫描
-v 列出详细信息

应用举例:
1.扫描远程主机开放端口及操作系统:

nmap -sS -P0 -v -O host 

2.列出指定网段在线主机:

nmap -sP 192.168.1.0/24

3.列出指定网段内反向DNS:

nmap -R -sL 192.168.1.0/24

4.随机生成100IP扫描80端口并进行源IP欺骗:

nmap -iR 100 -p 80 -n -vv -e eth0 -D 192.168.1.5,ME 192.168.1.2

Linux/Centos服务器ssh安全设置

发布时间:April 28, 2012 // 分类:网络安全 // 2 Comments

互联网很危险,SSH做为服务器的大门一定要做好安全设置,我曾经做过测试,一台VPS开启ssh服务监听默认端口22,几天后secure日记分割了10多个,统计最新几小时的恶意登录失败的IP数据如下:
ssh恶意登录统计.png
真是个恐怖的次数,蛋痛的人太多了,如果密码稍简单就被破解了,如需自动封IP请参考:iptables自动封IP防SSH被暴力破解
1.更改默认端口,网上很多针对22端口扫描的软件,这样不会被误伤。

#https://www.haiyun.me
sed -i 's/#Port 22/Port 33333/g' /etc/ssh/sshd_config 
#更改ssh端口为3333

2.禁止root登录,新建普通用户登录,登录后可su -转入root账户,让恶意登录者无法猜测用户名。

useradd onovps #新建用户名
passwd onovps #设置密码
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
#禁止root登录
service sshd restart #重启ssh服务生效

3.限制登录失败次数并锁定

vim /etc/pam.d/login

在#%PAM-1.0下面添加:

auth required pam_tally2.so deny=5 unlock_time=180 #登录失败5次锁定180秒,不包含root
auth required pam_tally2.so deny=5 unlock_time=180 even_deny_root root_unlock_time=180 #包含root

4.允许特定的用户登录,编辑ssh配置文件:

vim /etc/ssh/sshd_config 
AllowUsers user 
#默认允许全部,多个用户以空格隔开,也可拒绝特定用户登录。
DenyUsers user

5.设置重复验证次数,默认3次:

MaxAuthTries 0
#错误一次即断开连接

6.直接用Iptables封闭ssh端口,为ssh服务器设置开门钥匙,有此其它都是浮云啦。。。。
一般做这些设置就足够了,也可设置为禁用密码用密钥登录,不同客户端方法不同,以后再写吧。

SQL2000/2008安全设置及更改服务运行账户非System

发布时间:April 24, 2012 // 分类:数据库 // No Comments

SQL如果在安装时未指定用户默认以system权限运行,这给服务器带来很大的安全隐患,可以更改运行账户为普通用户。
在CMD下新建运行SQL的用户,或在用户管理新建。

net user newuser password /add

SQL2000下,打开SQL企业管理器,选择local——右键——属性——安全性——启动服务用户
SQL2000更改服务运行用户.png
更改后确定重启SQL服务,要保证SQL安装目录、数据库目录新用户有读写权限,一般经过上述步骤后系统会自动更改相应权限。
SQL2008下,打开SQL server配置管理器,SQL server服务——SQL server——右键——属性。
SQL2008更改服务运行用户.png
SQL2000删除危险的扩展,包括xp_cmdshell。

use master
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'Sp_OACreate'
EXEC sp_dropextendedproc 'Sp_OADestroy'
EXEC sp_dropextendedproc 'Sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'Sp_OAGetProperty'
EXEC sp_dropextendedproc 'Sp_OAMethod'
EXEC sp_dropextendedproc 'Sp_OASetProperty'
EXEC sp_dropextendedproc 'Sp_OAStop'
EXEC sp_dropextendedproc 'Xp_regaddmultistring'
EXEC sp_dropextendedproc 'Xp_regdeletekey'
EXEC sp_dropextendedproc 'Xp_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask 

网站数据库用户不要使用SA账号,新建特定账号拥有数据库public和db_owner权限。
sql数据库安全用户权限.png
更改TCP端口:
sql2000更改tcp端口.png

用iptables自动封IP,防SSH被暴力破解

发布时间:April 14, 2012 // 分类:Shell,网络安全 // No Comments

此脚本用于分析统计secure日记文件,对ssh登录错误次数较多的IP用iptables封掉。

#!/bin/bash
#Created by https://www.haiyun.me
num=10 #上限
for i in `awk '/Failed/{print $(NF-3)}' /var/log/secure|sort|uniq -c|sort -rn|awk '{if ($1>$num){print $2}}'`
do
       iptables -I INPUT -p tcp -s $i --dport 22 -j DROP
done

加入crontab计划任务

crontab -e
* */5 * * * sh /path/file.sh #5小时执行一次

用iptables自动封连接数较大的IP防CC

发布时间:April 14, 2012 // 分类:Shell,网络安全 // No Comments

此方法用于被动统计IP连接数,对连接数较大的IP用iptables封掉,如需主动限制,可参考通过iptables限制ip连接数防CC
Shell脚本如下:

#!/bin/bash
#Created by https://www.haiyun.me
num=100 #上限
list=`netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|awk '{if ($1>$num){print $2}}'`
for i in $list
do
      iptables -I INPUT -s $i --dport 80 -j DROP
done

加入crontab计划任务

crontab -e
*/5 * * * * sh /path/file.sh #5分钟执行一次
分类
最新文章
最近回复
  • crowjin: 你确定这能过滤??不是所有请求都返回空地址::?
  • : linux系统上单个网卡多条宽带拨号获取公网IP,外网可以访问这些IP,有偿! Q:25299...
  • 硅谷少年: 非常有用,感谢分享
  • spartan2: https://dashboard.hcaptcha.com/welcome_accessib...
  • 海运: 应该能,在购买页面先手工跳过cf机器验证,后续一定时间内不更换ip应该不会再次验证。
  • spartan: 大佬斯巴达开启了CF的机器识别验证,请问插件能自动跳过吗? 另外这个脚本有没有简单使用说明,新...
  • vincent: 膜拜大佬
  • 海运: proxy-header或proxy_protocol
  • liangjw: 如果是 内部调用 或者 中间存在 代理 而上一个代理又在内网 ,那怎么处理来自代理私有IP?
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了