[1]Set Hostname and static IP address to the server, DHCP is not recommended if you use as a server. ( Replace the section 'ifcfg-***' to your own interface name )
# install the package below which includes ifconfig, netstat and so on first

[root@localhost ~]# 
yum -y install net-tools
[root@localhost ~]# 
vi /etc/hostname
# add your hostname

dlp.server.world
[root@localhost ~]# 
vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
# change

BOOTPROTO="
none
"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eth0"
UUID="29de82a4-710e-4cc0-b797-bb687dd32688"
ONBOOT="yes"
HWADDR="00:0C:29:09:A9:B4"
PEERDNS="yes"
PEERROUTES="yes"
# add like follows

# this server's IP address

IPADDR="10.0.0.30"
# subnet mask

NETMASK="255.255.255.0"
# default gateway

GATEWAY="10.0.0.1"
# DNS server's IP address

DNS1="10.0.0.10"

# NetworkManager와 chkconfig network 설정 생략 가능
[root@localhost ~]# systemctl disable NetworkManager.service 

rm '/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service'
rm '/etc/systemd/system/multi-user.target.wants/NetworkManager.service'
rm '/etc/systemd/system/network.target.wants/NetworkManager-wait-online.service'
[root@localhost ~]# 
chkconfig network on 
[root@localhost ~]# reboot 

Fedora release 20 (Heisenbug)
Kernel 3.11.10-301.fc20.x86_64 on an x86_64 (ttyS0)

dlp login: root
Password:
[root@dlp ~]# 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.30  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::216:36ff:fea1:bbb6  prefixlen 64  scopeid 0x20<link>
        ether 00:16:36:a1:bb:b6  txqueuelen 1000  (Ethernet)
        RX packets 30  bytes 2336 (2.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 41  bytes 2820 (2.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[2]Disable IPv6 if you do not need it.
[root@dlp ~]# 
vi /etc/default/grub
# line 6 : add like follows

GRUB_CMDLINE_LINUX="
ipv6.disable=1
 rd.lvm.lv=fedora/swap rd.md=0.....
# reload

[root@dlp ~]# 
grub2-mkconfig -o /boot/grub2/grub.cfg 

[root@dlp ~]# 



source - http://www.server-world.info/en/note?os=Fedora_20&p=initial_conf&f=3




'System > Linux' 카테고리의 다른 글

linux - PID(Process ID) save at start  (0) 2014.05.29
linux - ipvsadm(lvs) manpage  (0) 2014.05.10
linux - anacron  (0) 2014.05.05
linux - more  (0) 2014.04.25
linux - find cpu bit  (0) 2014.04.21
Posted by linuxism
,


5.1. 변수 치환(Variable Substitution)

변수의 이름은 자신이 갖고 있는 데이타의 을 담는 그릇입니다. 그 변수의 값을 참조하는 것을 변수 치환(variable substitution)이라고 합니다.

$

변수 이름과 그 을 조심스럽게 살펴보죠. 만약에 variable1이 변수 이름이라면 $variable1은 그 변수가 갖고 있는 데이타 아이템인 을 나타냅니다. 변수를 선언하거나 할당할 때, unset 될 때, export될 때에만 $없이 쓰입니다. 변수 할당은 =을 쓰거나(var1=27 처럼), read 문에서 쓰이거나, 루프문의 처음에서 쓰입니다(for var2 in 1 2 3).

참조되는 값을 큰따옴표(" ")로 묶어도 변수 치환이 일어나는 것을 막지 못합니다. 이를 부분적 쿼우팅(partial quoting)이나 "약한 쿼우팅(weak quoting)"이라고 합니다. 작은따옴표를 쓰게 되면 변수 이름이 그냥 문자 그대로 해석되어 아무런 일도 일어나지 않습니다. 이를 완전한 쿼우팅(full quoting)이나 "강한 쿼우팅(strong quoting)"이라고 합니다. 더 자세한 사항은 6장을 참고하세요.

$variable은 ${variable}을 짧게 쓴 표현임에 주의하세요. $variable라고 써서 에러가 났을 경우에는 긴 형태로 써주면 해결될 수도 있습니다(다음에 나오는 9.3절를 참고하세요).

예 5-1. 변수 할당과 치환

#!/bin/bash

# 변수: 할당과 치환

a=375
hello=$a

#-------------------------------------------------------------------------
# 변수를 초기화 할 때, = 양쪽에는 빈 칸이 들어가면 안 됩니다.

#  "VARIABLE =value" 라고 하면,
#+ 스크립트는 "VARIABLE" 명령어가 "=value"란 인자를 갖는것처럼 인식합니다.

#  "VARIABLE= value" 라고 하면,
#+ 스크립트는 "value" 명령어가 환경변수 "VARIABLE"을 ""로 세팅해서 
#+ 실행되는 것으로 인식합니다.
#-------------------------------------------------------------------------


echo hello    # 변수 참조가 아니고 그냥 "hello"란 문자열입니다.

echo $hello
echo ${hello} # 위와 똑같습니다.

echo "$hello"
echo "${hello}"

echo

hello="A B  C   D"
echo $hello
echo "$hello"
# 이제 echo $hello 와 echo "$hello" 는 다른 결과가 나옵니다.
# 변수를 쿼우팅해주면 공백문자가 보존됩니다.

echo

echo '$hello'
#  작은 따옴표로 변수를 쿼우팅해주면 "$"가 문자 그대로 해석되기 때문에
#+ 변수 참조가 일어나지 않습니다.

# 쿼우팅의 종류에 따라 달라지는 결과에 주목하세요.


hello=    # 널 값을 갖도록 세팅.
echo "\$hello (널 값) = $hello"
#  변수를 널 값으로 세팅하는 것과 unset 하는 것은 비록 결과는 같지만
#+ 엄연히 다릅니다(다음 참조).

# --------------------------------------------------------------

#  여러 변수들을 공백문자로 구분해서 한 줄에서 세트할 수 있습니다.
#  하지만 이렇게 하면 코드의 가독성이 떨어지고 
#+ 다른 시스템으로 이식할 수가 없을 수도 있기 때문에 조심해서 써야 됩니다.

var1=variable1  var2=variable2  var3=variable3
echo
echo "var1=$var1   var2=$var2  var3=$var3"

# 예전 버전의 "sh"에서는 문제가 생길수도 있습니다.

# --------------------------------------------------------------

echo; echo

numbers="one two three"
other_numbers="1 2 3"
# 변수에 공백문자가 들어 있다면 쿼우팅을 해줘야 합니다.
echo "numbers = $numbers"
echo "other_numbers = $other_numbers"
echo

echo "uninitialized_variable = $uninitialized_variable"
# 초기화 안 된 변수는 널 값을 갖습니다(아무 값도 없습니다).
uninitialized_variable=   #  선언만 하고 초기화 안함.
                          #+ (위에서처럼 널 값으로 세팅한 것과 똑같음).
echo "uninitialized_variable = $uninitialized_variable"
                          # 여전히 널 값을 갖고 있네요.

uninitialized_variable=23       # 세트.
unset uninitialized_variable    # 언세트.
echo "uninitialized_variable = $uninitialized_variable"
                                # 여전히 널 값입니다.

echo

exit 0

주의

초기화가 안 된 변수는 "null" 값을 갖는데, 이는 값이 할당 안 된 것이지 0 이라는 값을 갖는다는 이야기가 아닙니다! 값을 할당하기 전에 변수를 쓰게 되면 문제가 생길 수 있습니다.



출처 - https://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/varsubn.html



'System > Common' 카테고리의 다른 글

ide vs scsi  (0) 2014.07.26
virtualbox - 64bit guest 32bit host  (0) 2014.04.21
ACPI(Adavanced Configuration and Power Interface)  (0) 2014.04.11
X.Org Server  (0) 2014.04.09
Windowing system  (0) 2014.04.09
Posted by linuxism
,


톰캣 (Tomcat) catalina.out에 다음과 같은 로그가 대량으로 남아있었다.

2013. 7. 9 오전 11:27:41 org.apache.catalina.realm.LockOutRealm authenticate
경고: An attempt was made to authenticate the locked user "admin"
2013. 7. 9 오전 11:27:41 org.apache.catalina.realm.LockOutRealm authenticate
경고: An attempt was made to authenticate the locked user "admin"
2013. 7. 9 오전 11:27:41 org.apache.catalina.realm.LockOutRealm authenticate
경고: An attempt was made to authenticate the locked user "admin"

7월 2일에도 동일한 로그가 남아있었다.

localhost_access_log.2013-07-09.txt를 확인하니 다음과 같았다.

66.2.49.119 - - [09/Jul/2013:11:27:39 +0900] "GET /manager/html HTTP/1.1" 401 2486
66.2.49.119 - - [09/Jul/2013:11:27:39 +0900] "GET /manager/html HTTP/1.1" 401 2486
66.2.49.119 - - [09/Jul/2013:11:27:40 +0900] "GET /manager/html HTTP/1.1" 401 2486

단순히 Brute force 방식의 해킹 (Hacking) 시도였다.

톰캣 설치 후 매니저 애플리케이션 (Manager Application) 관련 별도의 처리를 해주지 않았지만

디폴트로 비활성화라 문제는 없었을 것으로 생각된다.


활성화해서 사용한다면 해당 IP에 대해 차단하거나


매니저 애플리케이션의 주소를 변경하는 등의 조치가 가능하겠다.

Reference:
http://stackoverflow.com/questions/12367317/tomcat-7-security-attempt-to-login



출처 - http://devday.tistory.com/2853







  • 정말 access 로그에 ip 가 남아있네요 
    여러건이 되서 다 살펴봤더니 아이피가 전부 달라요~ 차단할게 많은거 같아요 
    server.xml 은 톰캣을 restart 해야 적용이 되는거죠? ㅠ 
    (요런 초보적인질문,, 죄송해여 ㅋㅋ )
  • 16895도쿄에나나 
  • 2012-03-15 10:29:55
  • x

  • 넵, 리스타트 하셔야 됩니다. 245.23.xx.* 하시면 256개 한꺼번에 막을 수 있습니다.
  • 163kenu 
  • 2012-03-15 13:16:53
  • x



출처 - https://www.okjsp.net/bbs?seq=186532








tomcat-users.xml에서 "admin" user 등록을 피한다.






Posted by linuxism
,